diff --git a/kubeblocks/README.md b/kubeblocks/README.md new file mode 100644 index 00000000..de3f6a70 --- /dev/null +++ b/kubeblocks/README.md @@ -0,0 +1,12812 @@ +# kubeblocks + +## Index + +- v1alpha1 + - [Addon](#addon) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec](#appskubeblocksiov1alpha1backuppolicytemplatespec) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafile) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafilebackupstatusupdatesitems0) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafiletarget) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafiletargetconnectioncredentialkey) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfile) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfilebackupstatusupdatesitems0) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfiletarget) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfiletargetconnectioncredentialkey) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0retention) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedule) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0scheduledatafile) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedulelogfile) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedulesnapshot) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshot) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshotbackupstatusupdatesitems0) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshothooks) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshottarget) + - [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshottargetconnectioncredentialkey) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpec](#appskubeblocksiov1alpha1clusterdefinitionspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0componentrefenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0componentrefenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0configspecsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0configspecsitems0lazyrenderedconfigspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecfollowersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecleader) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspeclearner) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecllupdatestrategy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecllupdatestrategyrollingupdate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0customlabelspecsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0customlabelspecsitems0resourcesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0horizontalscalepolicy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0logconfigsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0monitor) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0monitorexporterconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preference) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchfieldsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecution) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchfieldsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinity](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinity) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinity](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinity) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0configmapref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0secretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycle) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststart) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststartexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarthttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarttcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestop) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestopexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestophttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestoptcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0portsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextCapabilities](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0securitycontextcapabilities) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0securitycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0securitycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0securitycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0volumedevicesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0volumemountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecdnsconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecdnsconfigoptionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0configmapref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0secretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycle) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststart) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststartexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarthttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarttcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestop) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestopexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestophttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestoptcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0portsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextCapabilities](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0securitycontextcapabilities) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0securitycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0securitycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0securitycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0volumedevicesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0volumemountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspechostaliasesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecimagepullsecretsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0configmapref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0secretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycle) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststart) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststartexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarthttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarttcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestop) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestopexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestophttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestoptcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0portsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextCapabilities](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0securitycontextcapabilities) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0securitycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0securitycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0securitycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0volumedevicesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0volumemountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecos) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecreadinessgatesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecresourceclaimsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecresourceclaimsitems0source) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecschedulinggatesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontext) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextsysctlsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectolerationsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0labelselector) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0labelselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0awselasticblockstore) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0azuredisk) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0azurefile) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cephfs) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cephfssecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cinder) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cindersecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0configmap) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0configmapitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0csi) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0csinodepublishsecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapi) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0fieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0resourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0emptydir) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeral) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatemetadata) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecdatasource) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecresources) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0fc) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flexvolume) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flexvolumesecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flocker) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0gcepersistentdisk) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0gitrepo) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0glusterfs) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0hostpath) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0iscsi) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0iscsisecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0nfs) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0persistentvolumeclaim) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0photonpersistentdisk) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0portworxvolume) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projected) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0configmap) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0configmapitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapi) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0secret) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0secretitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0serviceaccounttoken) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0quobyte) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0rbd) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0rbdsecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0scaleio) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0scaleiosecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0secret) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0secretitemsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0storageos) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0storageossecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0vspherevolume) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probes) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesroleprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesroleprobecommands) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesrunningprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesrunningprobecommands) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesstatusprobe) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesstatusprobecommands) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspecllupdatestrategy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspecllupdatestrategyrollingupdate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0scriptspecsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0service) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0serviceportsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspecllupdatestrategy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspecllupdatestrategyrollingupdate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspecupdatestrategy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspecupdatestrategyrollingupdate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatescriptspecselectorsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidate) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatescriptspecselectorsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccounts) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicy) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicysecretref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicystatements) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountspasswordconfig) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumeprotectionspec) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumeprotectionspecvolumesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumetypesitems0) + - [AppsKubeblocksIoV1alpha1ClusterDefinitionStatus](#appskubeblocksiov1alpha1clusterdefinitionstatus) + - [AppsKubeblocksIoV1alpha1ClusterSpec](#appskubeblocksiov1alpha1clusterspec) + - [AppsKubeblocksIoV1alpha1ClusterSpecAffinity](#appskubeblocksiov1alpha1clusterspecaffinity) + - [AppsKubeblocksIoV1alpha1ClusterSpecBackup](#appskubeblocksiov1alpha1clusterspecbackup) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0affinity) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0classdefref) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0issuer) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0issuersecretref) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0switchpolicy) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0tolerationsitems0) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0spec) + - [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0specresources) + - [AppsKubeblocksIoV1alpha1ClusterSpecNetwork](#appskubeblocksiov1alpha1clusterspecnetwork) + - [AppsKubeblocksIoV1alpha1ClusterSpecResources](#appskubeblocksiov1alpha1clusterspecresources) + - [AppsKubeblocksIoV1alpha1ClusterSpecStorage](#appskubeblocksiov1alpha1clusterspecstorage) + - [AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0](#appskubeblocksiov1alpha1clusterspectolerationsitems0) + - [AppsKubeblocksIoV1alpha1ClusterStatus](#appskubeblocksiov1alpha1clusterstatus) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon](#appskubeblocksiov1alpha1clusterstatuscomponentsanon) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatus) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatusfollowersitems0) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatusleader) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatuslearner) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatus) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatusprimary) + - [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatussecondariesitems0) + - [AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0](#appskubeblocksiov1alpha1clusterstatusconditionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpec](#appskubeblocksiov1alpha1clusterversionspec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0configspecsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0configspecsitems0lazyrenderedconfigspec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfig) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfig) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontext) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0configmapref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0secretref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycle) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststart) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststartexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarthttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarttcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestop) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestopexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestophttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestoptcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0portsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextCapabilities](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0securitycontextcapabilities) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0securitycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0securitycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0securitycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0volumedevicesitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0volumemountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0configmapref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0secretref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefrom) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromconfigmapkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromfieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromresourcefieldref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromsecretkeyref) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycle) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststart) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststartexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarthttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarttcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestop) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestopexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestophttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestoptcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0portsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0resources) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextCapabilities](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0securitycontextcapabilities) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0securitycontextselinuxoptions) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0securitycontextseccompprofile) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0securitycontextwindowsoptions) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobe) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobeexec) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobegrpc) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobehttpget) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobehttpgethttpheadersitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobetcpsocket) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0volumedevicesitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0volumemountsitems0) + - [AppsKubeblocksIoV1alpha1ClusterVersionStatus](#appskubeblocksiov1alpha1clusterversionstatus) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec](#appskubeblocksiov1alpha1componentclassdefinitionspec) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0seriesitems0) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0seriesitems0classesitems0) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus](#appskubeblocksiov1alpha1componentclassdefinitionstatus) + - [AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0](#appskubeblocksiov1alpha1componentclassdefinitionstatusclassesitems0) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec](#appskubeblocksiov1alpha1componentresourceconstraintspec) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0cpu) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0memory) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0storage) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecselectoritems0) + - [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecselectoritems0componentsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpec](#appskubeblocksiov1alpha1configconstraintspec) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema](#appskubeblocksiov1alpha1configconstraintspecconfigurationschema) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0fieldref) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0resourcefieldref) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig](#appskubeblocksiov1alpha1configconstraintspecformatterconfig) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig](#appskubeblocksiov1alpha1configconstraintspecformatterconfiginiconfig) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions](#appskubeblocksiov1alpha1configconstraintspecreloadoptions) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionsshelltrigger) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionstplscripttrigger) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionsunixsignaltrigger) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0](#appskubeblocksiov1alpha1configconstraintspecscriptconfigsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector](#appskubeblocksiov1alpha1configconstraintspecselector) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1configconstraintspecselectormatchexpressionsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec](#appskubeblocksiov1alpha1configconstraintspectoolsimagespec) + - [AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0](#appskubeblocksiov1alpha1configconstraintspectoolsimagespectoolconfigsitems0) + - [AppsKubeblocksIoV1alpha1ConfigConstraintStatus](#appskubeblocksiov1alpha1configconstraintstatus) + - [AppsKubeblocksIoV1alpha1OpsRequestSpec](#appskubeblocksiov1alpha1opsrequestspec) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0](#appskubeblocksiov1alpha1opsrequestspecexposeitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0](#appskubeblocksiov1alpha1opsrequestspecexposeitems0servicesitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0](#appskubeblocksiov1alpha1opsrequestspechorizontalscalingitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure](#appskubeblocksiov1alpha1opsrequestspecreconfigure) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0keysitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0keysitems0parametersitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0](#appskubeblocksiov1alpha1opsrequestspecrestartitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom](#appskubeblocksiov1alpha1opsrequestspecrestorefrom) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0](#appskubeblocksiov1alpha1opsrequestspecrestorefrombackupitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref](#appskubeblocksiov1alpha1opsrequestspecrestorefrombackupitems0ref) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime](#appskubeblocksiov1alpha1opsrequestspecrestorefrompointintime) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef](#appskubeblocksiov1alpha1opsrequestspecrestorefrompointintimeref) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec](#appskubeblocksiov1alpha1opsrequestspecscriptspec) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfrom) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfromconfigmaprefitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfromsecretrefitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret](#appskubeblocksiov1alpha1opsrequestspecscriptspecsecret) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0](#appskubeblocksiov1alpha1opsrequestspecswitchoveritems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade](#appskubeblocksiov1alpha1opsrequestspecupgrade) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0](#appskubeblocksiov1alpha1opsrequestspecverticalscalingitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0](#appskubeblocksiov1alpha1opsrequestspecvolumeexpansionitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0](#appskubeblocksiov1alpha1opsrequestspecvolumeexpansionitems0volumeclaimtemplatesitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatus](#appskubeblocksiov1alpha1opsrequeststatus) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon](#appskubeblocksiov1alpha1opsrequeststatuscomponentsanon) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0](#appskubeblocksiov1alpha1opsrequeststatuscomponentsanonprogressdetailsitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0](#appskubeblocksiov1alpha1opsrequeststatusconditionsitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration](#appskubeblocksiov1alpha1opsrequeststatuslastconfiguration) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClassDefRef](#appskubeblocksiov1alpha1opsrequeststatuslastconfigurationcomponentsanonclassdefref) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonServicesItems0](#appskubeblocksiov1alpha1opsrequeststatuslastconfigurationcomponentsanonservicesitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonVolumeClaimTemplatesItems0](#appskubeblocksiov1alpha1opsrequeststatuslastconfigurationcomponentsanonvolumeclaimtemplatesitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatus) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatusconfigurationstatusitems0) + - [AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatusconfigurationstatusitems0updatedparameters) + - [Backup](#backup) + - [BackupPolicy](#backuppolicy) + - [BackupPolicyTemplate](#backuppolicytemplate) + - [BackupRepo](#backuprepo) + - [BackupTool](#backuptool) + - [Cluster](#cluster) + - [ClusterDefinition](#clusterdefinition) + - [ClusterVersion](#clusterversion) + - [ComponentClassDefinition](#componentclassdefinition) + - [ComponentResourceConstraint](#componentresourceconstraint) + - [ConfigConstraint](#configconstraint) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpec](#dataprotectionkubeblocksiov1alpha1backuppolicyspec) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafile) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilebackupstatusupdatesitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilepersistentvolumeclaim) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilepersistentvolumeclaimpersistentvolumeconfigmap) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletarget) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetlabelsselector) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetlabelsselectormatchexpressionsitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetsecret) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfile) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilebackupstatusupdatesitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilepersistentvolumeclaim) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilepersistentvolumeclaimpersistentvolumeconfigmap) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletarget) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetlabelsselector) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetlabelsselectormatchexpressionsitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetsecret) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention](#dataprotectionkubeblocksiov1alpha1backuppolicyspecretention) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedule) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecscheduledatafile) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedulelogfile) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedulesnapshot) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshot) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshotbackupstatusupdatesitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshothooks) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottarget) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetlabelsselector) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetlabelsselectormatchexpressionsitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetsecret) + - [DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus](#dataprotectionkubeblocksiov1alpha1backuppolicystatus) + - [DataprotectionKubeblocksIoV1alpha1BackupRepoSpec](#dataprotectionkubeblocksiov1alpha1backuprepospec) + - [DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential](#dataprotectionkubeblocksiov1alpha1backuprepospeccredential) + - [DataprotectionKubeblocksIoV1alpha1BackupRepoStatus](#dataprotectionkubeblocksiov1alpha1backuprepostatus) + - [DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0](#dataprotectionkubeblocksiov1alpha1backuprepostatusconditionsitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret](#dataprotectionkubeblocksiov1alpha1backuprepostatusgeneratedcsidriversecret) + - [DataprotectionKubeblocksIoV1alpha1BackupSpec](#dataprotectionkubeblocksiov1alpha1backupspec) + - [DataprotectionKubeblocksIoV1alpha1BackupStatus](#dataprotectionkubeblocksiov1alpha1backupstatus) + - [DataprotectionKubeblocksIoV1alpha1BackupStatusManifests](#dataprotectionkubeblocksiov1alpha1backupstatusmanifests) + - [DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackuplog) + - [DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackupsnapshot) + - [DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackuptool) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpec](#dataprotectionkubeblocksiov1alpha1backuptoolspec) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0configmapref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0secretref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefrom) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromconfigmapkeyref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromfieldref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromresourcefieldref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromsecretkeyref) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical](#dataprotectionkubeblocksiov1alpha1backuptoolspeclogical) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical](#dataprotectionkubeblocksiov1alpha1backuptoolspecphysical) + - [DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources](#dataprotectionkubeblocksiov1alpha1backuptoolspecresources) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpec](#dataprotectionkubeblocksiov1alpha1restorejobspec) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget](#dataprotectionkubeblocksiov1alpha1restorejobspectarget) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1restorejobspectargetlabelsselector) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetlabelsselectormatchexpressionsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetsecret) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumemountsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0awselasticblockstore) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0azuredisk) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0azurefile) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cephfs) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cephfssecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cinder) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cindersecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0configmap) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0configmapitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0csi) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0csinodepublishsecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapi) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0fieldref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0resourcefieldref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0emptydir) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeral) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplate) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatemetadata) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespec) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecdatasource) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecresources) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecselectormatchexpressionsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0fc) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flexvolume) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flexvolumesecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flocker) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0gcepersistentdisk) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0gitrepo) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0glusterfs) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0hostpath) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0iscsi) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0iscsisecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0nfs) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0persistentvolumeclaim) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0photonpersistentdisk) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0portworxvolume) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projected) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0configmap) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0configmapitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapi) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0secret) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0secretitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0serviceaccounttoken) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0quobyte) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0rbd) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0rbdsecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0scaleio) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0scaleiosecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0secret) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0secretitemsitems0) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0storageos) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0storageossecretref) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0vspherevolume) + - [DataprotectionKubeblocksIoV1alpha1RestoreJobStatus](#dataprotectionkubeblocksiov1alpha1restorejobstatus) + - [ExtensionsKubeblocksIoV1alpha1AddonSpec](#extensionskubeblocksiov1alpha1addonspec) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0](#extensionskubeblocksiov1alpha1addonspecclipluginsitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0extrasitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0extrasitems0resources) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelm](#extensionskubeblocksiov1alpha1addonspechelm) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues](#extensionskubeblocksiov1alpha1addonspechelminstallvalues) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0](#extensionskubeblocksiov1alpha1addonspechelminstallvaluesconfigmaprefsitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0](#extensionskubeblocksiov1alpha1addonspechelminstallvaluessecretrefsitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping](#extensionskubeblocksiov1alpha1addonspechelmvaluesmapping) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0jsonmap) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resources) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resourcescpu) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resourcesmemory) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0valuemap) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingjsonmap) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresources) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresourcescpu) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresourcesmemory) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingvaluemap) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecInstall](#extensionskubeblocksiov1alpha1addonspecinstall) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0](#extensionskubeblocksiov1alpha1addonspecinstallextrasitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspecinstallextrasitems0resources) + - [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallableSelectorsItems0](#extensionskubeblocksiov1alpha1addonspecinstallableselectorsitems0) + - [ExtensionsKubeblocksIoV1alpha1AddonStatus](#extensionskubeblocksiov1alpha1addonstatus) + - [ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0](#extensionskubeblocksiov1alpha1addonstatusconditionsitems0) + - [OpsRequest](#opsrequest) + - [ReplicatedStateMachine](#replicatedstatemachine) + - [RestoreJob](#restorejob) + - [StorageKubeblocksIoV1alpha1StorageProviderSpec](#storagekubeblocksiov1alpha1storageproviderspec) + - [StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema](#storagekubeblocksiov1alpha1storageproviderspecparametersschema) + - [StorageKubeblocksIoV1alpha1StorageProviderStatus](#storagekubeblocksiov1alpha1storageproviderstatus) + - [StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0](#storagekubeblocksiov1alpha1storageproviderstatusconditionsitems0) + - [StorageProvider](#storageprovider) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredential) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpassword) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefrom) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromconfigmapkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromfieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromresourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromsecretkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusername) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefrom) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromconfigmapkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromfieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromresourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromsecretkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfiguration) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationlogsyncaction) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationmemberjoinaction) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationmemberleaveaction) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationpromoteaction) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationswitchoveraction) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation](#workloadskubeblocksiov1alpha1replicatedstatemachinespecroleobservation) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecroleobservationobservationactionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecrolesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservice) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecserviceportsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservicesessionaffinityconfig) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservicesessionaffinityconfigclientip) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplate) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatemetadata) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preference) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchfieldsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecution) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchfieldsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinity](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinity) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinity](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinity) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0configmapref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0secretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefrom) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromconfigmapkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromfieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromresourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromsecretkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycle) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststart) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststartexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarthttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarttcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestop) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestopexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestophttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestoptcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0portsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0resources) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextCapabilities](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0securitycontextcapabilities) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeLinuxOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0securitycontextselinuxoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeccompProfile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0securitycontextseccompprofile) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextWindowsOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0securitycontextwindowsoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0volumedevicesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0volumemountsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecdnsconfig) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecdnsconfigoptionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0configmapref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0secretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefrom) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromconfigmapkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromfieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromresourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromsecretkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycle) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststart) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststartexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarthttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarttcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestop) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestopexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestophttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestoptcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0portsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0resources) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextCapabilities](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0securitycontextcapabilities) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeLinuxOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0securitycontextselinuxoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeccompProfile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0securitycontextseccompprofile) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextWindowsOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0securitycontextwindowsoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0volumedevicesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0volumemountsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespechostaliasesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecimagepullsecretsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0configmapref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0secretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefrom) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromconfigmapkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromfieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromresourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromsecretkeyref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycle) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststart) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststartexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarthttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarttcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestop) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestopexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestophttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestophttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestoptcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0portsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0resources) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextCapabilities](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0securitycontextcapabilities) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeLinuxOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0securitycontextselinuxoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeccompProfile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0securitycontextseccompprofile) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextWindowsOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0securitycontextwindowsoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobe) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobeexec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobegrpc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobehttpget) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobehttpgethttpheadersitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobetcpsocket) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0volumedevicesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0volumemountsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecos) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecreadinessgatesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecresourceclaimsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecresourceclaimsitems0source) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecschedulinggatesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontext) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextselinuxoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextseccompprofile) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextsysctlsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextwindowsoptions) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectolerationsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0labelselector) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0labelselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0awselasticblockstore) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0azuredisk) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0azurefile) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cephfs) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cephfssecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cinder) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cindersecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0configmap) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0configmapitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0csi) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0csinodepublishsecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapi) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0fieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0resourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0emptydir) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeral) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplate) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatemetadata) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecdatasource) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecresources) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0fc) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flexvolume) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flexvolumesecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flocker) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0gcepersistentdisk) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0gitrepo) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0glusterfs) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0hostpath) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0iscsi) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0iscsisecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0nfs) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0persistentvolumeclaim) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0photonpersistentdisk) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0portworxvolume) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projected) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0configmap) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0configmapitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapi) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0secret) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0secretitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0serviceaccounttoken) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0quobyte) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0rbd) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0rbdsecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0scaleio) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0scaleiosecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0secret) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0secretitemsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0storageos) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0storageossecretref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0vspherevolume) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0metadata) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0spec) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specdatasource) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specdatasourceref) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specresources) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specselectormatchexpressionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0status) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusConditionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinestatusconditionsitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinestatusmembersstatusitems0) + - [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role](#workloadskubeblocksiov1alpha1replicatedstatemachinestatusmembersstatusitems0role) + +## Schemas + +### Addon + +Addon is the Schema for the add-ons API. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"extensions.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"extensions.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"Addon"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"Addon"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[ExtensionsKubeblocksIoV1alpha1AddonSpec](#extensionskubeblocksiov1alpha1addonspec)|spec|| +|**status**|[ExtensionsKubeblocksIoV1alpha1AddonStatus](#extensionskubeblocksiov1alpha1addonstatus)|status|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec + +BackupPolicyTemplateSpec defines the desired state of BackupPolicyTemplate + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupPolicies** `required`|[[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0)]|backupPolicies is a list of backup policy template for the specified componentDefinition.|| +|**clusterDefinitionRef** `required`|str|clusterDefinitionRef references ClusterDefinition name, this is an immutable attribute.|| +|**identifier**|str|Identifier is a unique identifier for this BackupPolicyTemplate. this identifier will be the suffix of the automatically generated backupPolicy name. and must be added when multiple BackupPolicyTemplates exist, otherwise the generated backupPolicy override will occur.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0 + +apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentDefRef** `required`|str|componentDefRef references componentDef defined in ClusterDefinition spec. Need to comply with IANA Service Naming rule.|| +|**datafile**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafile)|datafile|| +|**logfile**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfile)|logfile|| +|**retention**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0retention)|retention|| +|**schedule**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedule)|schedule|| +|**snapshot**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshot)|snapshot|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile + +the policy for datafile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupStatusUpdates**|[[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafilebackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupToolName**|str|which backup tool to perform database backup, only support one tool.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**target**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafiletarget)|target|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0 + +apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 datafile backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget + +target instance for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**account**|str|refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret.|| +|**connectionCredentialKey**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0datafiletargetconnectioncredentialkey)|connection credential key|| +|**role**|str|select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey + +connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**passwordKey**|str|the key of password in the ConnectionCredential secret. if not set, the default key is "password".|| +|**usernameKey**|str|the key of username in the ConnectionCredential secret. if not set, the default key is "username".|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile + +the policy for logfile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupStatusUpdates**|[[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfilebackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupToolName**|str|which backup tool to perform database backup, only support one tool.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**target**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfiletarget)|target|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0 + +apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 logfile backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget + +target instance for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**account**|str|refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret.|| +|**connectionCredentialKey**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0logfiletargetconnectioncredentialkey)|connection credential key|| +|**role**|str|select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey + +connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**passwordKey**|str|the key of password in the ConnectionCredential secret. if not set, the default key is "password".|| +|**usernameKey**|str|the key of username in the ConnectionCredential secret. if not set, the default key is "username".|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention + +retention describe how long the Backup should be retained. if not set, will be retained forever. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ttl**|str|ttl is a time string ending with the 'd'\|'D'\|'h'\|'H' character to describe how long the Backup should be retained. if not set, will be retained forever.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule + +schedule policy for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datafile**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0scheduledatafile)|datafile|| +|**logfile**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedulelogfile)|logfile|| +|**snapshot**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0schedulesnapshot)|snapshot|| +|**startingDeadlineMinutes**|int|startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile + +schedule policy for datafile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile + +schedule policy for logfile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot + +schedule policy for snapshot backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot + +the policy for snapshot backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupStatusUpdates**|[[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshotbackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**hooks**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshothooks)|hooks|| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**target**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshottarget)|target|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0 + +apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 snapshot backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks + +execute hook commands for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container can exec command|| +|**image**|str|exec command with image|| +|**postCommands**|[str]|post backup to perform commands|| +|**preCommands**|[str]|pre backup to perform commands|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget + +target instance for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**account**|str|refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret.|| +|**connectionCredentialKey**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey](#appskubeblocksiov1alpha1backuppolicytemplatespecbackuppoliciesitems0snapshottargetconnectioncredentialkey)|connection credential key|| +|**role**|str|select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute.|| +### AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey + +connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**passwordKey**|str|the key of password in the ConnectionCredential secret. if not set, the default key is "password".|| +|**usernameKey**|str|the key of username in the ConnectionCredential secret. if not set, the default key is "username".|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpec + +ClusterDefinitionSpec defines the desired state of ClusterDefinition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentDefs** `required`|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0)]|componentDefs provides cluster components definitions.|| +|**connectionCredential**|{str:str}|Connection credential template used for creating a connection credential secret for cluster.apps.kubeblocks.io object.
Built-in objects are: - `$(RANDOM_PASSWD)` - random 8 characters. - `$(UUID)` - generate a random UUID v4 string. - `$(UUID_B64)` - generate a random UUID v4 BASE64 encoded string. - `$(UUID_STR_B64)` - generate a random UUID v4 string then BASE64 encoded. - `$(UUID_HEX)` - generate a random UUID v4 HEX representation. - `$(HEADLESS_SVC_FQDN)` - headless service FQDN placeholder, value pattern - $(CLUSTER_NAME)-$(1ST_COMP_NAME)-headless.$(NAMESPACE).svc, where 1ST_COMP_NAME is the 1st component that provide `ClusterDefinition.spec.componentDefs[].service` attribute; - `$(SVC_FQDN)` - service FQDN placeholder, value pattern - $(CLUSTER_NAME)-$(1ST_COMP_NAME).$(NAMESPACE).svc, where 1ST_COMP_NAME is the 1st component that provide `ClusterDefinition.spec.componentDefs[].service` attribute; - `$(SVC_PORT_{PORT-NAME})` - a ServicePort's port value with specified port name, i.e, a servicePort JSON struct: `{"name": "mysql", "targetPort": "mysqlContainerPort", "port": 3306}`, and "$(SVC_PORT_mysql)" in the connection credential value is 3306.|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0 + +ClusterComponentDefinition provides a workload component specification template, with attributes that strongly work with stateful workloads and day-2 operations behaviors. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**characterType**|str|characterType defines well-known database component name, such as mongos(mongodb), proxy(redis), mariadb(mysql) KubeBlocks will generate proper monitor configs for well-known characterType when builtIn is true.|| +|**componentDefRef**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0)]|componentDefRef is used to inject values from other components into the current component. values will be saved and updated in a configmap and mounted to the current component.|| +|**configSpecs**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0configspecsitems0)]|The configSpec field provided by provider, and finally this configTemplateRefs will be rendered into the user's own configuration file according to the user's cluster.|| +|**consensusSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspec)|consensus spec|| +|**customLabelSpecs**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0customlabelspecsitems0)]|customLabelSpecs is used for custom label tags which you want to add to the component resources.|| +|**description**|str|The description of component definition.|| +|**horizontalScalePolicy**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0horizontalscalepolicy)|horizontal scale policy|| +|**logConfigs**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0logconfigsitems0)]|logConfigs is detail log file config which provided by provider.|| +|**monitor**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0monitor)|monitor|| +|**name** `required`|str|A component definition name, this name could be used as default name of `Cluster.spec.componentSpecs.name`, and so this name is need to conform with same validation rules as `Cluster.spec.componentSpecs.name`, that is currently comply with IANA Service Naming rule. This name will apply to "apps.kubeblocks.io/component-name" object label value.|| +|**podSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspec)|pod spec|| +|**probes**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probes)|probes|| +|**replicationSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspec)|replication spec|| +|**scriptSpecs**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0scriptspecsitems0)]|The scriptSpec field provided by provider, and finally this configTemplateRefs will be rendered into the user's own configuration file according to the user's cluster.|| +|**service**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0service)|service|| +|**statefulSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspec)|stateful spec|| +|**statelessSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspec)|stateless spec|| +|**switchoverSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspec)|switchover spec|| +|**systemAccounts**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccounts)|system accounts|| +|**volumeProtectionSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumeprotectionspec)|volume protection spec|| +|**volumeTypes**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumetypesitems0)]|volumeTypes is used to describe the purpose of the volumes mapping the name of the VolumeMounts in the PodSpec.Container field, such as data volume, log volume, etc. When backing up the volume, the volume can be correctly backed up according to the volumeType.
For example: `name: data, type: data` means that the volume named `data` is used to store `data`. `name: binlog, type: log` means that the volume named `binlog` is used to store `log`.
NOTE: When volumeTypes is not defined, the backup function will not be supported, even if a persistent volume has been specified.|| +|**workloadType** `required`|"Stateless" | "Stateful" | "Consensus" | "Replication"|workloadType defines type of the workload. Stateless is a stateless workload type used to describe stateless applications. Stateful is a stateful workload type used to describe common stateful applications. Consensus is a stateful workload type used to describe applications based on consensus protocols, common consensus protocols such as raft and paxos. Replication is a stateful workload type used to describe applications based on the primary-secondary data replication protocol.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0 + +ComponentDefRef is used to select the component and its fields to be referenced. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentDefName** `required`|str|componentDefName is the name of the componentDef to select.|| +|**componentRefEnv**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0componentrefenvitems0)]|componentRefEnv specifies a list of values to be injected as env variables to each component.|| +|**failurePolicy**|str|failurePolicy is the failure policy of the component. If failed to find the component, the failure policy will be used.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0 + +ComponentRefEnv specifies name and value of an env. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name is the name of the env to be injected, and it must be a C identifier.|| +|**value**|str|value is the value of the env to be injected.|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0componentdefrefitems0componentrefenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom + +valueFrom specifies the source of the env to be injected. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldPath**|str|fieldRef is the jsonpath of the source to select when type is `FieldRef`. there are two objects registered in the jsonpath: `componentDef` and `components`. componentDef is the component definition object specified in `componentRef.componentDefName`. components is the component list objects referring to the component definition object.|| +|**format**|str|format is the format of each headless service address. there are three builtin variables can be used as placerholder: $POD_ORDINAL, $POD_FQDN, $POD_NAME $POD_ORDINAL is the ordinal of the pod. $POD_FQDN is the fully qualified domain name of the pod. $POD_NAME is the name of the pod|"="| +|**joinWith**|str|joinWith is the string to join the values of headless service addresses.|","| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 config specs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**asEnvFrom**|[str]|asEnvFrom is optional: the list of containers will be injected into EnvFrom.|| +|**constraintRef**|str|Specify the name of the referenced the configuration constraints object.|| +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**keys**|[str]|Specify a list of keys. If empty, ConfigConstraint takes effect for all keys in configmap.|| +|**lazyRenderedConfigSpec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0configspecsitems0lazyrenderedconfigspec)|lazy rendered config spec|| +|**name** `required`|str|Specify the name of configuration template.|| +|**namespace**|str|Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**templateRef** `required`|str|Specify the name of the referenced the configuration template ConfigMap object.|| +|**volumeName** `required`|str|volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec + +lazyRenderedConfigSpec is optional: specify the secondary rendered config spec. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**namespace**|str|Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**policy**|"patch" | "replace" | "none"|policy defines how to merge external imported templates into component templates.|"patch"| +|**templateRef** `required`|str|Specify the name of the referenced the configuration template ConfigMap object.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec + +consensusSpec defines consensus related spec if workloadType is Consensus, required if workloadType is Consensus. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**followers**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecfollowersitems0)]|followers, has voting right but not Leader.|| +|**leader** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecleader)|leader|| +|**learner**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspeclearner)|learner|| +|**llPodManagementPolicy**|str|llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.|| +|**llUpdateStrategy**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecllupdatestrategy)|ll update strategy|| +|**updateStrategy**|"Serial" | "BestEffortParallel" | "Parallel"|updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following:
serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel|"Serial"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 consensus spec followers items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode, what service this member capable.|"ReadWrite"| +|**name** `required`|str|name, role name.|"leader"| +|**replicas**|int|replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers|0| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader + +leader, one single leader. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode, what service this member capable.|"ReadWrite"| +|**name** `required`|str|name, role name.|"leader"| +|**replicas**|int|replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers|0| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner + +learner, no voting right. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode, what service this member capable.|"ReadWrite"| +|**name** `required`|str|name, role name.|"leader"| +|**replicas**|int|replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers|0| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy + +llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**rollingUpdate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0consensusspecllupdatestrategyrollingupdate)|rolling update|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate + +RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**maxUnavailable**|int | str|The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable.|| +|**partition**|int|Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 custom label specs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key name of label|| +|**resources**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0customlabelspecsitems0resourcesitems0)]|resources defines the resources to be labeled.|| +|**value** `required`|str|value of label|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 custom label specs items0 resources items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gvk** `required`|str|gvk is Group/Version/Kind, for example "v1/Pod", "apps/v1/StatefulSet", etc. when the gvk resource filtered by the selector already exists, if there is no corresponding custom label, it will be added, and if label already exists, it will be updated.|| +|**selector**|{str:str}|selector is a label query over a set of resources.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy + +horizontalScalePolicy controls the behavior of horizontal scale. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupPolicyTemplateName**|str|BackupPolicyTemplateName reference the backup policy template.|| +|**type**|"None" | "CloneVolume" | "Snapshot"||"None"| +|**volumeMountsName**|str|volumeMountsName defines which volumeMount of the container to do backup, only work if Type is not None if not specified, the 1st volumeMount will be chosen|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 log configs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**filePathPattern** `required`|str|filePathPattern log file path pattern which indicate how to find this file corresponding to variable (log path) in database kernel. please don't set this casually.|| +|**name** `required`|str|name log type name, such as slow for MySQL slow log file.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor + +monitor is monitoring config which provided by provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**builtIn**|bool|builtIn is a switch to enable KubeBlocks builtIn monitoring. If BuiltIn is set to true, monitor metrics will be scraped automatically. If BuiltIn is set to false, the provider should set ExporterConfig and Sidecar container own.|False| +|**exporterConfig**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0monitorexporterconfig)|exporter config|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig + +exporterConfig provided by provider, which specify necessary information to Time Series Database. exporterConfig is valid when builtIn is false. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**scrapePath**|str|scrapePath is exporter url path for Time Series Database to scrape metrics.|"/metrics"| +|**scrapePort** `required`|int | str|scrapePort is exporter port for Time Series Database to scrape metrics.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec + +podSpec define pod spec template of the cluster component. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**activeDeadlineSeconds**|int|Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.|| +|**affinity**|any|affinity|| +|**automountServiceAccountToken**|bool|AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.|| +|**containers** `required`|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0)]|List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.|| +|**dnsConfig**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecdnsconfig)|dns config|| +|**dnsPolicy**|str|Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.|| +|**enableServiceLinks**|bool|EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.|| +|**ephemeralContainers**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0)]|List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.|| +|**hostAliases**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspechostaliasesitems0)]|HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.|| +|**hostIPC**|bool|Use the host's ipc namespace. Optional: Default to false.|| +|**hostNetwork**|bool|Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.|| +|**hostPID**|bool|Use the host's pid namespace. Optional: Default to false.|| +|**hostUsers**|bool|Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.|| +|**hostname**|str|Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.|| +|**imagePullSecrets**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecimagepullsecretsitems0)]|ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod|| +|**initContainers**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0)]|List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/|| +|**nodeName**|str|NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.|| +|**nodeSelector**|{str:str}|NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/|| +|**os**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecos)|os|| +|**overhead**|{str:int | str}|Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md|| +|**preemptionPolicy**|str|PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.|| +|**priority**|int|The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.|| +|**priorityClassName**|str|If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.|| +|**readinessGates**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecreadinessgatesitems0)]|If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates|| +|**resourceClaims**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecresourceclaimsitems0)]|ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**restartPolicy**|str|Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy|| +|**runtimeClassName**|str|RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class|| +|**schedulerName**|str|If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.|| +|**schedulingGates**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecschedulinggatesitems0)]|SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness.
This is an alpha-level feature enabled by PodSchedulingReadiness feature gate.|| +|**securityContext**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontext)|security context|| +|**serviceAccount**|str|DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.|| +|**serviceAccountName**|str|ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/|| +|**setHostnameAsFQDN**|bool|If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.|| +|**shareProcessNamespace**|bool|Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.|| +|**subdomain**|str|If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a domainname at all.|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.|| +|**tolerations**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectolerationsitems0)]|If specified, the pod's tolerations.|| +|**topologySpreadConstraints**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0)]|TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.|| +|**volumes**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0)]|List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preference** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preference)|preference|| +|**weight** `required`|int|Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference + +A node selector term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchexpressionsitems0)]|A list of node selector requirements by node's labels.|| +|**matchFields**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchfieldsitems0)]|A list of node selector requirements by node's fields.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution + +If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nodeSelectorTerms** `required`|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0)]|Required. A list of node selector terms. The terms are ORed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0 + +A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchexpressionsitems0)]|A list of node selector requirements by node's labels.|| +|**matchFields**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchfieldsitems0)]|A list of node selector requirements by node's fields.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinity + +Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preferredDuringSchedulingIgnoredDuringExecution**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0)]|The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.|| +|**requiredDuringSchedulingIgnoredDuringExecution**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0)]|If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**podAffinityTerm** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm)|pod affinity term|| +|**weight** `required`|int|weight associated with matching the corresponding podAffinityTerm, in the range 1-100.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + +Required. A pod affinity term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector)|label selector|| +|**namespaceSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0 + +Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector)|label selector|| +|**namespaceSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinity + +Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preferredDuringSchedulingIgnoredDuringExecution**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0)]|The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.|| +|**requiredDuringSchedulingIgnoredDuringExecution**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0)]|If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**podAffinityTerm** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm)|pod affinity term|| +|**weight** `required`|int|weight associated with matching the corresponding podAffinityTerm, in the range 1-100.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + +Required. A pod affinity term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector)|label selector|| +|**namespaceSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0 + +Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector)|label selector|| +|**namespaceSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobe)|readiness probe|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envfromitems0secretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestop)|pre stop|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspeccontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig + +Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nameservers**|[str]|A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.|| +|**options**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecdnsconfigoptionsitems0)]|A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.|| +|**searches**|[str]|A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0 + +PodDNSConfigOption defines DNS resolver options of a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Required.|| +|**value**|str|value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0 + +An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation. To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers.|| +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0portsitems0)]|Ports are not allowed for ephemeral containers.|| +|**readinessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**targetContainerName**|str|If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container uses the namespaces configured in the Pod spec.
The container runtime must implement support for this feature. If the runtime does not support namespace targeting then the result of setting this field is undefined.|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envfromitems0secretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle + +Lifecycle is not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestop)|pre stop|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources + +Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecephemeralcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0 + +HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**hostnames**|[str]|Hostnames for the above IP address.|| +|**ip**|str|IP address of the host file entry.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0 + +LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envfromitems0secretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestop)|pre stop|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecinitcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs + +Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set. If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name is the name of the operating system. The currently supported values are linux and windows. Additional value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration Clients should expect to handle additional values and treat unrecognized values in this field as os: null|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0 + +PodReadinessGate contains the reference to a pod condition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditionType** `required`|str|ConditionType refers to a condition in the pod's condition list with matching type.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0 + +PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.|| +|**source**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecresourceclaimsitems0source)|source|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source + +Source describes where to find the ResourceClaim. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**resourceClaimName**|str|ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.|| +|**resourceClaimTemplateName**|str|ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be -, where is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0 + +PodSchedulingGate is associated to a Pod to guard its scheduling. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the scheduling gate. Each scheduling gate must have a unique name field.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext + +SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsGroup**|int|A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.|| +|**fsGroupChangePolicy**|str|fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows.|| +|**runAsGroup**|int|The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|| +|**runAsNonRoot**|bool|Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +|**runAsUser**|int|The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|| +|**seLinuxOptions**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextselinuxoptions)|se linux options|| +|**seccompProfile**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextseccompprofile)|seccomp profile|| +|**supplementalGroups**|[int]|A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.|| +|**sysctls**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextsysctlsitems0)]|Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.|| +|**windowsOptions**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecsecuritycontextwindowsoptions)|windows options|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions + +The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile + +The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0 + +Sysctl defines a kernel parameter to be set + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of a property to set|| +|**value** `required`|str|Value of a property to set|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0 + +The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**effect**|str|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.|| +|**key**|str|Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.|| +|**operator**|str|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.|| +|**tolerationSeconds**|int|TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.|| +|**value**|str|Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0 + +TopologySpreadConstraint specifies how to spread matching pods among the given topology. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0labelselector)|label selector|| +|**matchLabelKeys**|[str]|MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector.|| +|**maxSkew** `required`|int|MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. \| zone1 \| zone2 \| zone3 \| \| P P \| P P \| P \| - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed.|| +|**minDomains**|int|MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: \| zone1 \| zone2 \| zone3 \| \| P P \| P P \| P P \| The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew.
This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default).|| +|**nodeAffinityPolicy**|str|NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.|| +|**nodeTaintsPolicy**|str|NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included.
If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.|| +|**topologyKey** `required`|str|TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field.|| +|**whenUnsatisfiable** `required`|str|WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: \| zone1 \| zone2 \| zone3 \| \| P P P \| P \| P \| If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector + +LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspectopologyspreadconstraintsitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0 + +Volume represents a named volume in a pod that may be accessed by any container in the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**awsElasticBlockStore**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0awselasticblockstore)|aws elastic block store|| +|**azureDisk**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0azuredisk)|azure disk|| +|**azureFile**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0azurefile)|azure file|| +|**cephfs**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cephfs)|cephfs|| +|**cinder**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cinder)|cinder|| +|**configMap**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0configmap)|config map|| +|**csi**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0csi)|csi|| +|**downwardAPI**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapi)|downward API|| +|**emptyDir**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0emptydir)|empty dir|| +|**ephemeral**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeral)|ephemeral|| +|**fc**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0fc)|fc|| +|**flexVolume**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flexvolume)|flex volume|| +|**flocker**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flocker)|flocker|| +|**gcePersistentDisk**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0gcepersistentdisk)|gce persistent disk|| +|**gitRepo**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0gitrepo)|git repo|| +|**glusterfs**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0glusterfs)|glusterfs|| +|**hostPath**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0hostpath)|host path|| +|**iscsi**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0iscsi)|iscsi|| +|**name** `required`|str|name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|| +|**nfs**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0nfs)|nfs|| +|**persistentVolumeClaim**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0persistentvolumeclaim)|persistent volume claim|| +|**photonPersistentDisk**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0photonpersistentdisk)|photon persistent disk|| +|**portworxVolume**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0portworxvolume)|portworx volume|| +|**projected**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projected)|projected|| +|**quobyte**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0quobyte)|quobyte|| +|**rbd**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0rbd)|rbd|| +|**scaleIO**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0scaleio)|scale i o|| +|**secret**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0secret)|secret|| +|**storageos**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0storageos)|storageos|| +|**vsphereVolume**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0vspherevolume)|vsphere volume|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore + +awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).|| +|**readOnly**|bool|readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +|**volumeID** `required`|str|volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk + +azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cachingMode**|str|cachingMode is the Host Caching mode: None, Read Only, Read Write.|| +|**diskName** `required`|str|diskName is the Name of the data disk in the blob storage|| +|**diskURI** `required`|str|diskURI is the URI of data disk in the blob storage|| +|**fsType**|str|fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**kind**|str|kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile + +azureFile represents an Azure File Service mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretName** `required`|str|secretName is the name of secret that contains Azure Storage Account Name and Key|| +|**shareName** `required`|str|shareName is the azure share Name|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs + +cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**monitors** `required`|[str]|monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**path**|str|path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretFile**|str|secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cephfssecretref)|secret ref|| +|**user**|str|user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef + +secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder + +cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0cindersecretref)|secret ref|| +|**volumeID** `required`|str|volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef + +secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap + +configMap represents a configMap that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi + +csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.|| +|**fsType**|str|fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.|| +|**nodePublishSecretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0csinodepublishsecretref)|node publish secret ref|| +|**readOnly**|bool|readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).|| +|**volumeAttributes**|{str:str}|volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef + +nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI + +downwardAPI represents downward API about the pod that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0)]|Items is a list of downward API volume file|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir + +emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**medium**|str|medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|| +|**sizeLimit**|int | str|sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral + +ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**volumeClaimTemplate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplate)|volume claim template|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate + +Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**metadata**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatemetadata)|metadata|| +|**spec** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespec)|spec|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata + +May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|annotations|| +|**finalizers**|[str]|finalizers|| +|**labels**|{str:str}|labels|| +|**name**|str|name|| +|**namespace**|str|namespace|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec + +The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|| +|**dataSource**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecdatasource)|data source|| +|**dataSourceRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref)|data source ref|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0ephemeralvolumeclaimtemplatespecresources)|resources|| +|**selector**|any|selector|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|| +|**volumeMode**|str|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|| +|**volumeName**|str|volumeName is the binding reference to the PersistentVolume backing this claim.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + +dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + +dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +|**namespace**|str|Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources + +resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc + +fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**lun**|int|lun is Optional: FC target lun number|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**targetWWNs**|[str]|targetWWNs is Optional: FC target worldwide names (WWNs)|| +|**wwids**|[str]|wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume + +flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the driver to use for this volume.|| +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.|| +|**options**|{str:str}|options is Optional: this field holds extra command options if any.|| +|**readOnly**|bool|readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0flexvolumesecretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef + +secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker + +flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datasetName**|str|datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated|| +|**datasetUUID**|str|datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk + +gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**pdName** `required`|str|pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo + +gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**directory**|str|directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.|| +|**repository** `required`|str|repository is the URL|| +|**revision**|str|revision is the commit hash for the specified revision.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs + +glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**endpoints** `required`|str|endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**path** `required`|str|path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**readOnly**|bool|readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath + +hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi + +iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**chapAuthDiscovery**|bool|chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication|| +|**chapAuthSession**|bool|chapAuthSession defines whether support iSCSI Session CHAP authentication|| +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**initiatorName**|str|initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.|| +|**iqn** `required`|str|iqn is the target iSCSI Qualified Name.|| +|**iscsiInterface**|str|iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).|| +|**lun** `required`|int|lun represents iSCSI Target Lun number.|| +|**portals**|[str]|portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0iscsisecretref)|secret ref|| +|**targetPortal** `required`|str|targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef + +secretRef is the CHAP Secret for iSCSI target and initiator authentication + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs + +nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**readOnly**|bool|readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**server** `required`|str|server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim + +persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claimName** `required`|str|claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|| +|**readOnly**|bool|readOnly Will force the ReadOnly setting in VolumeMounts. Default false.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk + +photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**pdID** `required`|str|pdID is the ID that identifies Photon Controller persistent disk|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume + +portworxVolume represents a portworx volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**volumeID** `required`|str|volumeID uniquely identifies a Portworx volume|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected + +projected items for all in one resources secrets, configmaps, and downward API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**sources**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0)]|sources is the list of volume projections|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0 + +Projection that may be projected along with other supported volume types + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMap**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0configmap)|config map|| +|**downwardAPI**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapi)|downward API|| +|**secret**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0secret)|secret|| +|**serviceAccountToken**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0serviceaccounttoken)|service account token|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap + +configMap information about the configMap data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI + +downwardAPI information about the downwardAPI data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0)]|Items is a list of DownwardAPIVolume file|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret + +secret information about the secret data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0projectedsourcesitems0secretitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional field specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken + +serviceAccountToken is information about the serviceAccountToken data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**audience**|str|audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.|| +|**expirationSeconds**|int|expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.|| +|**path** `required`|str|path is the path relative to the mount point of the file to project the token into.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte + +quobyte represents a Quobyte mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**group**|str|group to map volume access to Default is no group|| +|**readOnly**|bool|readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.|| +|**registry** `required`|str|registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes|| +|**tenant**|str|tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin|| +|**user**|str|user to map volume access to Defaults to serivceaccount user|| +|**volume** `required`|str|volume is a string that references an already created Quobyte volume by name.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd + +rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**image** `required`|str|image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**keyring**|str|keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**monitors** `required`|[str]|monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**pool**|str|pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0rbdsecretref)|secret ref|| +|**user**|str|user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef + +secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO + +scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".|| +|**gateway** `required`|str|gateway is the host address of the ScaleIO API Gateway.|| +|**protectionDomain**|str|protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0scaleiosecretref)|secret ref|| +|**sslEnabled**|bool|sslEnabled Flag enable/disable SSL communication with Gateway, default false|| +|**storageMode**|str|storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.|| +|**storagePool**|str|storagePool is the ScaleIO Storage Pool associated with the protection domain.|| +|**system** `required`|str|system is the name of the storage system as configured in ScaleIO.|| +|**volumeName**|str|volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef + +secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret + +secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0secretitemsitems0)]|items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**optional**|bool|optional field specify whether the Secret or its keys must be defined|| +|**secretName**|str|secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos + +storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0podspecvolumesitems0storageossecretref)|secret ref|| +|**volumeName**|str|volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.|| +|**volumeNamespace**|str|volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef + +secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume + +vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**storagePolicyID**|str|storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.|| +|**storagePolicyName**|str|storagePolicyName is the storage Policy Based Management (SPBM) profile name.|| +|**volumePath** `required`|str|volumePath is the path that identifies vSphere volume vmdk|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes + +probes setting for healthy checks. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**roleProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesroleprobe)|role probe|| +|**roleProbeTimeoutAfterPodsReady**|int|roleProbeTimeoutAfterPodsReady(in seconds), when all pods of the component are ready, it will detect whether the application is available in the pod. if pods exceed the InitializationTimeoutSeconds time without a role label, this component will enter the Failed/Abnormal phase. Note that this configuration will only take effect if the component supports RoleProbe and will not affect the life cycle of the pod. default values are 60 seconds.|| +|**runningProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesrunningprobe)|running probe|| +|**statusProbe**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesstatusprobe)|status probe|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe + +Probe for DB role changed check. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**commands**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesroleprobecommands)|commands|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded.|3| +|**periodSeconds**|int|How often (in seconds) to perform the probe.|1| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second.|1| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands + +commands used to execute for probe. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**queries**|[str]|Read check executed on probe sidecar, used to check workload's readonly access.|| +|**writes**|[str]|Write check executed on probe sidecar, used to check workload's allow write access.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe + +Probe for DB running check. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**commands**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesrunningprobecommands)|commands|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded.|3| +|**periodSeconds**|int|How often (in seconds) to perform the probe.|1| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second.|1| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands + +commands used to execute for probe. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**queries**|[str]|Read check executed on probe sidecar, used to check workload's readonly access.|| +|**writes**|[str]|Write check executed on probe sidecar, used to check workload's allow write access.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe + +Probe for DB status check. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**commands**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0probesstatusprobecommands)|commands|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded.|3| +|**periodSeconds**|int|How often (in seconds) to perform the probe.|1| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second.|1| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands + +commands used to execute for probe. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**queries**|[str]|Read check executed on probe sidecar, used to check workload's readonly access.|| +|**writes**|[str]|Write check executed on probe sidecar, used to check workload's allow write access.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec + +replicationSpec defines replication related spec if workloadType is Replication. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**llPodManagementPolicy**|str|llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.|| +|**llUpdateStrategy**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspecllupdatestrategy)|ll update strategy|| +|**updateStrategy**|"Serial" | "BestEffortParallel" | "Parallel"|updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following:
serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel|"Serial"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy + +llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**rollingUpdate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0replicationspecllupdatestrategyrollingupdate)|rolling update|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate + +RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**maxUnavailable**|int | str|The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable.|| +|**partition**|int|Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 script specs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**name** `required`|str|Specify the name of configuration template.|| +|**namespace**|str|Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**templateRef** `required`|str|Specify the name of the referenced the configuration template ConfigMap object.|| +|**volumeName** `required`|str|volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service + +service defines the behavior of a service spec. provide read-write service when WorkloadType is Consensus. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0serviceportsitems0)]|The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 service ports items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**appProtocol**|str|The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.|| +|**name**|str|The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort.|| +|**port** `required`|int|The port that will be exposed by this service.|| +|**protocol**|"TCP" | "UDP" | "SCTP"||"TCP"| +|**targetPort**|int | str|Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec + +statefulSpec defines stateful related spec if workloadType is Stateful. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**llPodManagementPolicy**|str|llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.|| +|**llUpdateStrategy**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspecllupdatestrategy)|ll update strategy|| +|**updateStrategy**|"Serial" | "BestEffortParallel" | "Parallel"|updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following:
serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel|"Serial"| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy + +llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**rollingUpdate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statefulspecllupdatestrategyrollingupdate)|rolling update|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate + +RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**maxUnavailable**|int | str|The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable.|| +|**partition**|int|Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec + +statelessSpec defines stateless related spec if workloadType is Stateless. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**updateStrategy**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspecupdatestrategy)|update strategy|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy + +updateStrategy defines the underlying deployment strategy to use to replace existing pods with new ones. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**rollingUpdate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0statelessspecupdatestrategyrollingupdate)|rolling update|| +|**type**|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate + +Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**maxSurge**|int | str|The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.|| +|**maxUnavailable**|int | str|The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec + +switchoverSpec defines command to do switchover. in particular, when workloadType=Replication, the command defined in switchoverSpec will only be executed under the condition of cluster.componentSpecs[x].SwitchPolicy.type=Noop. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**withCandidate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidate)|with candidate|| +|**withoutCandidate**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidate)|without candidate|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate + +withCandidate corresponds to the switchover of the specified candidate primary or leader instance. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cmdExecutorConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfig)|cmd executor config|| +|**scriptSpecSelectors**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatescriptspecselectorsitems0)]|scriptSpecSelectors defines the selector of the scriptSpecs that need to be referenced. Once ScriptSpecSelectors is defined, the scripts defined in scriptSpecs can be referenced in the SwitchoverAction.CmdExecutorConfig.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig + +cmdExecutorConfig is the executor configuration of the switchover command. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|args is used to perform statements.|| +|**command** `required`|[str]|command to perform statements.|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0)]|envs is a list of environment variables.|| +|**image** `required`|str|image for Connector when executing the command.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithcandidatecmdexecutorconfigenvitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 switchover spec with candidate script spec selectors items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|ScriptSpec name of the referent, refer to componentDefs[x].scriptSpecs[y].Name.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate + +withoutCandidate corresponds to a switchover that does not specify a candidate primary or leader instance. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cmdExecutorConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfig)|cmd executor config|| +|**scriptSpecSelectors**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatescriptspecselectorsitems0)]|scriptSpecSelectors defines the selector of the scriptSpecs that need to be referenced. Once ScriptSpecSelectors is defined, the scripts defined in scriptSpecs can be referenced in the SwitchoverAction.CmdExecutorConfig.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig + +cmdExecutorConfig is the executor configuration of the switchover command. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|args is used to perform statements.|| +|**command** `required`|[str]|command to perform statements.|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0)]|envs is a list of environment variables.|| +|**image** `required`|str|image for Connector when executing the command.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0switchoverspecwithoutcandidatecmdexecutorconfigenvitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 switchover spec without candidate script spec selectors items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|ScriptSpec name of the referent, refer to componentDefs[x].scriptSpecs[y].Name.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts + +Statement to create system account. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accounts** `required`|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0)]|accounts defines system account config settings.|| +|**cmdExecutorConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfig)|cmd executor config|| +|**passwordConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountspasswordconfig)|password config|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0 + +SystemAccountConfig specifies how to create and delete system accounts. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|"kbadmin" | "kbdataprotection" | "kbprobe" | "kbmonitoring" | "kbreplicator"|name is the name of a system account.|| +|**provisionPolicy** `required`|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicy)|provision policy|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy + +provisionPolicy defines how to create account. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**scope** `required`|str|scope is the scope to provision account, and the scope could be `AnyPods` or `AllPods`.|"AnyPods"| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicysecretref)|secret ref|| +|**statements**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountsaccountsitems0provisionpolicystatements)|statements|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef + +secretRef will be used when Type is ReferToExisting. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name refers to the name of the secret.|| +|**namespace** `required`|str|namespace refers to the namespace of the secret.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements + +statements will be used when Type is CreateByStmt. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**creation** `required`|str|creation specifies statement how to create this account with required privileges.|| +|**deletion**|str|deletion specifies statement how to delete this account. Used in combination with `CreateionStatement` to delete the account before create it. For instance, one usually uses `drop user if exists` statement followed by `create user` statement to create an account. Deprecated: this field is deprecated, use `update` instead.|| +|**update**|str|update specifies statement how to update account's password.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig + +cmdExecutorConfig configs how to get client SDK and perform statements. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|args is used to perform statements.|| +|**command** `required`|[str]|command to perform statements.|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0)]|envs is a list of environment variables.|| +|**image** `required`|str|image for Connector when executing the command.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0systemaccountscmdexecutorconfigenvitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig + +passwordConfig defines the pattern to generate password. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**length**|int|length defines the length of password.|10| +|**letterCase**|str|letterCase defines to use lower-cases, upper-cases or mixed-cases of letters.|"MixedCases"| +|**numDigits**|int|numDigits defines number of digits.|2| +|**numSymbols**|int|numSymbols defines number of symbols.|0| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume protection spec + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**highWatermark**|int|The high watermark threshold for volume space usage. If there is any specified volumes who's space usage is over the threshold, the pre-defined "LOCK" action will be triggered to degrade the service to protect volume from space exhaustion, such as to set the instance as read-only. And after that, if all volumes' space usage drops under the threshold later, the pre-defined "UNLOCK" action will be performed to recover the service normally.|90| +|**volumes**|[[AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0](#appskubeblocksiov1alpha1clusterdefinitionspeccomponentdefsitems0volumeprotectionspecvolumesitems0)]|Volumes to protect.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume protection spec volumes items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**highWatermark**|int|Volume specified high watermark threshold, it will override the component level threshold. If the value is invalid, it will be ignored and the component level threshold will be used.|| +|**name**|str|Name of volume to protect.|| +### AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0 + +apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume types items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name definition is the same as the name of the VolumeMounts field in PodSpec.Container, similar to the relations of Volumes[*].name and VolumesMounts[*].name in Pod.Spec.|| +|**type**|"data" | "log"||| +### AppsKubeblocksIoV1alpha1ClusterDefinitionStatus + +ClusterDefinitionStatus defines the observed state of ClusterDefinition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**message**|str|Extra message in current phase|| +|**observedGeneration**|int|observedGeneration is the most recent generation observed for this ClusterDefinition. It corresponds to the ClusterDefinition's generation, which is updated on mutation by the API Server.|| +|**phase**|"Available" | "Unavailable"|ClusterDefinition phase, valid values are `empty`, `Available`, 'Unavailable`. Available is ClusterDefinition become available, and can be referenced for co-related objects.|| +### AppsKubeblocksIoV1alpha1ClusterSpec + +ClusterSpec defines the desired state of Cluster. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**affinity**|[AppsKubeblocksIoV1alpha1ClusterSpecAffinity](#appskubeblocksiov1alpha1clusterspecaffinity)|affinity|| +|**availabilityPolicy**|"zone" | "node" | "none"|availabilityPolicy describes the availability policy, including zone, node, and none.|| +|**backup**|[AppsKubeblocksIoV1alpha1ClusterSpecBackup](#appskubeblocksiov1alpha1clusterspecbackup)|backup|| +|**clusterDefinitionRef** `required`|str|Cluster referencing ClusterDefinition name. This is an immutable attribute.|| +|**clusterVersionRef**|str|Cluster referencing ClusterVersion name.|| +|**componentSpecs**|[[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0)]|List of componentSpecs you want to replace in ClusterDefinition and ClusterVersion. It will replace the field in ClusterDefinition's and ClusterVersion's component if type is matching.|| +|**monitor**|any|monitor|| +|**network**|[AppsKubeblocksIoV1alpha1ClusterSpecNetwork](#appskubeblocksiov1alpha1clusterspecnetwork)|network|| +|**replicas**|int|replicas specifies the replicas of the first componentSpec, if the replicas of the first componentSpec is specified, this value will be ignored.|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterSpecResources](#appskubeblocksiov1alpha1clusterspecresources)|resources|| +|**storage**|[AppsKubeblocksIoV1alpha1ClusterSpecStorage](#appskubeblocksiov1alpha1clusterspecstorage)|storage|| +|**tenancy**|"SharedNode" | "DedicatedNode"|tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node.|| +|**terminationPolicy** `required`|"DoNotTerminate" | "Halt" | "Delete" | "WipeOut"|Cluster termination policy. Valid values are DoNotTerminate, Halt, Delete, WipeOut. DoNotTerminate will block delete operation. Halt will delete workload resources such as statefulset, deployment workloads but keep PVCs. Delete is based on Halt and deletes PVCs. WipeOut is based on Delete and wipe out all volume snapshots and snapshot data from backup storage location.|| +|**tolerations**|[[AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0](#appskubeblocksiov1alpha1clusterspectolerationsitems0)]|tolerations are attached to tolerate any taint that matches the triple `key,value,effect` using the matching operator `operator`.|| +### AppsKubeblocksIoV1alpha1ClusterSpecAffinity + +affinity is a group of affinity scheduling rules. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nodeLabels**|{str:str}|nodeLabels describes that pods must be scheduled to the nodes with the specified node labels.|| +|**podAntiAffinity**|"Preferred" | "Required"|podAntiAffinity describes the anti-affinity level of pods within a component. Preferred means try spread pods by `TopologyKeys`. Required means must spread pods by `TopologyKeys`.|"Preferred"| +|**tenancy**|"SharedNode" | "DedicatedNode"|tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node.|"SharedNode"| +|**topologyKeys**|[str]|topologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. It's used as the topology domain for pod anti-affinity and pod spread constraint. Some well-known label keys, such as "kubernetes.io/hostname" and "topology.kubernetes.io/zone" are often used as TopologyKey, as well as any other custom label key.|| +### AppsKubeblocksIoV1alpha1ClusterSpecBackup + +cluster backup configuration. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression**|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enabled**|bool|enabled defines whether to enable automated backup.|False| +|**method** `required`|str|backup method, support: snapshot, backupTool.|"snapshot"| +|**pitrEnabled**|bool|pitrEnabled defines whether to enable point-in-time recovery.|False| +|**repoName**|str|repoName is the name of the backupRepo, if not set, will use the default backupRepo.|| +|**retentionPeriod**|str|retentionPeriod is a time string ending with the 'd'\|'D'\|'h'\|'H' character to describe how long the Backup should be retained. if not set, will be retained forever.|"1d"| +|**startingDeadlineMinutes**|int|startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0 + +ClusterComponentSpec defines the cluster component spec. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**affinity**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0affinity)|affinity|| +|**classDefRef**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0classdefref)|class def ref|| +|**componentDefRef** `required`|str|componentDefRef references componentDef defined in ClusterDefinition spec. Need to comply with IANA Service Naming rule.|| +|**enabledLogs**|[str]|enabledLogs indicates which log file takes effect in the database cluster. element is the log type which is defined in cluster definition logConfig.name, and will set relative variables about this log type in database kernel.|| +|**issuer**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0issuer)|issuer|| +|**monitor**|bool|monitor is a switch to enable monitoring and is set as false by default. KubeBlocks provides an extension mechanism to support component level monitoring, which will scrape metrics auto or manually from servers in component and export metrics to Time Series Database.|False| +|**name** `required`|str|name defines cluster's component name, this name is also part of Service DNS name, so this name will comply with IANA Service Naming rule.|| +|**noCreatePDB**|bool|noCreatePDB defines the PodDisruptionBudget creation behavior and is set to true if creation of PodDisruptionBudget for this component is not needed. It defaults to false.|False| +|**replicas** `required`|int|Component replicas. The default value is used in ClusterDefinition spec if not specified.|1| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0resources)|resources|| +|**serviceAccountName**|str|serviceAccountName is the name of the ServiceAccount that running component depends on.|| +|**services**|[]|Services expose endpoints that can be accessed by clients.|| +|**switchPolicy**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0switchpolicy)|switch policy|| +|**tls**|bool|Enables or disables TLS certs.|| +|**tolerations**|[[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0tolerationsitems0)]|Component tolerations will override ClusterSpec.Tolerations if specified.|| +|**volumeClaimTemplates**|[[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0)]|volumeClaimTemplates information for statefulset.spec.volumeClaimTemplates.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity + +affinity describes affinities specified by users. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nodeLabels**|{str:str}|nodeLabels describes that pods must be scheduled to the nodes with the specified node labels.|| +|**podAntiAffinity**|"Preferred" | "Required"|podAntiAffinity describes the anti-affinity level of pods within a component. Preferred means try spread pods by `TopologyKeys`. Required means must spread pods by `TopologyKeys`.|"Preferred"| +|**tenancy**|"SharedNode" | "DedicatedNode"|tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node.|"SharedNode"| +|**topologyKeys**|[str]|topologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. It's used as the topology domain for pod anti-affinity and pod spread constraint. Some well-known label keys, such as "kubernetes.io/hostname" and "topology.kubernetes.io/zone" are often used as TopologyKey, as well as any other custom label key.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef + +classDefRef references the class defined in ComponentClassDefinition. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**class** `required`|str|Class refers to the name of the class that is defined in the ComponentClassDefinition.|| +|**name**|str|Name refers to the name of the ComponentClassDefinition.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer + +issuer defines provider context for TLS certs. required when TLS enabled + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|"KubeBlocks" | "UserProvided"|Name of issuer. Options supported: - KubeBlocks - Certificates signed by KubeBlocks Operator. - UserProvided - User provided own CA-signed certificates.|"KubeBlocks"| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0issuersecretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef + +secretRef. TLS certs Secret reference required when from is UserProvided + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ca** `required`|str|CA cert key in Secret|| +|**cert** `required`|str|Cert key in Secret|| +|**key** `required`|str|Key of TLS private key in Secret|| +|**name** `required`|str|Name of the Secret|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources + +Resources requests and limits of workload. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy + +switchPolicy defines the strategy for switchover and failover when workloadType is Replication. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**type** `readOnly`|"Noop"||"Noop"| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0 + +The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**effect**|str|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.|| +|**key**|str|Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.|| +|**operator**|str|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.|| +|**tolerationSeconds**|int|TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.|| +|**value**|str|Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0 + +apps kubeblocks io v1alpha1 cluster spec component specs items0 volume claim templates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Reference `ClusterDefinition.spec.componentDefs.containers.volumeMounts.name`.|| +|**spec**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0spec)|spec|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec + +spec defines the desired characteristics of a volume requested by a pod author. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1.|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources](#appskubeblocksiov1alpha1clusterspeccomponentspecsitems0volumeclaimtemplatesitems0specresources)|resources|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1.|| +### AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources + +resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterSpecNetwork + +network specifies the configuration of network + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**hostNetworkAccessible**|bool|hostNetworkAccessible specifies whether host network is accessible. It defaults to false|False| +|**publiclyAccessible**|bool|publiclyAccessible specifies whether it is publicly accessible. It defaults to false|False| +### AppsKubeblocksIoV1alpha1ClusterSpecResources + +resources specifies the resources of the first componentSpec, if the resources of the first componentSpec is specified, this value will be ignored. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cpu**|int | str|cpu resource needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**memory**|int | str|memory resource needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterSpecStorage + +storage specifies the storage of the first componentSpec, if the storage of the first componentSpec is specified, this value will be ignored. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**size**|int | str|storage size needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0 + +The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**effect**|str|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.|| +|**key**|str|Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.|| +|**operator**|str|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.|| +|**tolerationSeconds**|int|TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.|| +|**value**|str|Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.|| +### AppsKubeblocksIoV1alpha1ClusterStatus + +ClusterStatus defines the observed state of Cluster. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterDefGeneration**|int|clusterDefGeneration represents the generation number of ClusterDefinition referenced.|| +|**components**|{str:[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon](#appskubeblocksiov1alpha1clusterstatuscomponentsanon)}|components record the current status information of all components of the cluster.|| +|**conditions**|[[AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0](#appskubeblocksiov1alpha1clusterstatusconditionsitems0)]|Describe current state of cluster API Resource, like warning.|| +|**message**|str|message describes cluster details message in current phase.|| +|**observedGeneration**|int|observedGeneration is the most recent generation observed for this Cluster. It corresponds to the Cluster's generation, which is updated on mutation by the API Server.|| +|**phase**|"Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating"|phase describes the phase of the Cluster, the detail information of the phases are as following: Running: cluster is running, all its components are available. [terminal state] Stopped: cluster has stopped, all its components are stopped. [terminal state] Failed: cluster is unavailable. [terminal state] Abnormal: Cluster is still running, but part of its components are Abnormal/Failed. [terminal state] Creating: Cluster has entered creating process. Updating: Cluster has entered updating process, triggered by Spec. updated.|| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon + +ClusterComponentStatus records components status. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**consensusSetStatus**|[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatus)|consensus set status|| +|**message**|{str:str}|message records the component details message in current phase. Keys are podName or deployName or statefulSetName. The format is `ObjectKind/Name`.|| +|**phase**|"Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating"|phase describes the phase of the component and the detail information of the phases are as following: Running: the component is running. [terminal state] Stopped: the component is stopped, as no running pod. [terminal state] Failed: the component is unavailable, i.e. all pods are not ready for Stateless/Stateful component and Leader/Primary pod is not ready for Consensus/Replication component. [terminal state] Abnormal: the component is running but part of its pods are not ready. Leader/Primary pod is ready for Consensus/Replication component. [terminal state] Creating: the component has entered creating process. Updating: the component has entered updating process, triggered by Spec. updated.|| +|**podsReady**|bool|podsReady checks if all pods of the component are ready.|| +|**podsReadyTime**|str|podsReadyTime what time point of all component pods are ready, this time is the ready time of the last component pod.|| +|**replicationSetStatus**|[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatus)|replication set status|| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus + +consensusSetStatus specifies the mapping of role and pod name. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**followers**|[[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatusfollowersitems0)]|Followers status.|| +|**leader** `required`|[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatusleader)|leader|| +|**learner**|[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner](#appskubeblocksiov1alpha1clusterstatuscomponentsanonconsensussetstatuslearner)|learner|| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0 + +apps kubeblocks io v1alpha1 cluster status components anon consensus set status followers items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode defines what service this pod provides.|"ReadWrite"| +|**name** `required`|str|Defines the role name.|"leader"| +|**pod** `required`|str|Pod name.|"Unknown"| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader + +Leader status. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode defines what service this pod provides.|"ReadWrite"| +|**name** `required`|str|Defines the role name.|"leader"| +|**pod** `required`|str|Pod name.|"Unknown"| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner + +Learner status. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|accessMode defines what service this pod provides.|"ReadWrite"| +|**name** `required`|str|Defines the role name.|"leader"| +|**pod** `required`|str|Pod name.|"Unknown"| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus + +replicationSetStatus specifies the mapping of role and pod name. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**primary** `required`|[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatusprimary)|primary|| +|**secondaries**|[[AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0](#appskubeblocksiov1alpha1clusterstatuscomponentsanonreplicationsetstatussecondariesitems0)]|Secondaries status.|| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary + +Primary status. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**pod** `required`|str|Pod name.|"Unknown"| +### AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0 + +apps kubeblocks io v1alpha1 cluster status components anon replication set status secondaries items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**pod** `required`|str|Pod name.|"Unknown"| +### AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0 + +Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.|| +|**message** `required`|str|message is a human readable message indicating details about the transition. This may be an empty string.|| +|**observedGeneration**|int|observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.|| +|**reason** `required`|str|reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterVersionSpec + +ClusterVersionSpec defines the desired state of ClusterVersion + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterDefinitionRef** `required`|str|ref ClusterDefinition.|| +|**componentVersions** `required`|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0)]|List of components' containers versioning context, i.e., container image ID, container commands, args., and environments.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0 + +ClusterComponentVersion is an application version component spec. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentDefRef** `required`|str|componentDefRef reference one of the cluster component definition names in ClusterDefinition API (spec.componentDefs.name).|| +|**configSpecs**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0configspecsitems0)]|configSpecs defines a configuration extension mechanism to handle configuration differences between versions, the configTemplateRefs field, together with configTemplateRefs in the ClusterDefinition, determines the final configuration file.|| +|**switchoverSpec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspec)|switchover spec|| +|**systemAccountSpec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspec)|system account spec|| +|**versionsContext** `required`|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontext)|versions context|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0 + +apps kubeblocks io v1alpha1 cluster version spec component versions items0 config specs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**asEnvFrom**|[str]|asEnvFrom is optional: the list of containers will be injected into EnvFrom.|| +|**constraintRef**|str|Specify the name of the referenced the configuration constraints object.|| +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**keys**|[str]|Specify a list of keys. If empty, ConfigConstraint takes effect for all keys in configmap.|| +|**lazyRenderedConfigSpec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0configspecsitems0lazyrenderedconfigspec)|lazy rendered config spec|| +|**name** `required`|str|Specify the name of configuration template.|| +|**namespace**|str|Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**templateRef** `required`|str|Specify the name of the referenced the configuration template ConfigMap object.|| +|**volumeName** `required`|str|volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec + +lazyRenderedConfigSpec is optional: specify the secondary rendered config spec. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**namespace**|str|Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**policy**|"patch" | "replace" | "none"|policy defines how to merge external imported templates into component templates.|"patch"| +|**templateRef** `required`|str|Specify the name of the referenced the configuration template ConfigMap object.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec + +switchoverSpec defines images for the component to do switchover. It overrides `image` and `env` attributes defined in ClusterDefinition.spec.componentDefs.SwitchoverSpec.CommandExecutorEnvItem. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cmdExecutorConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfig)|cmd executor config|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig + +CmdExecutorConfig is the command executor config. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**env**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0)]|envs is a list of environment variables.|| +|**image** `required`|str|image for Connector when executing the command.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0switchoverspeccmdexecutorconfigenvitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec + +systemAccountSpec define image for the component to connect database or engines. It overrides `image` and `env` attributes defined in ClusterDefinition.spec.componentDefs.systemAccountSpec.cmdExecutorConfig. To clean default envs settings, set `SystemAccountSpec.CmdExecutorConfig.Env` to empty list. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cmdExecutorConfig** `required`|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfig)|cmd executor config|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig + +cmdExecutorConfig configs how to get client SDK and perform statements. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**env**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0)]|envs is a list of environment variables.|| +|**image** `required`|str|image for Connector when executing the command.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0systemaccountspeccmdexecutorconfigenvitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext + +versionContext defines containers images' context for component versions, this value replaces ClusterDefinition.spec.componentDefs.podSpec.[initContainers \| containers] + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containers**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0)]|Provide ClusterDefinition.spec.componentDefs.podSpec.containers override values, typical scenarios are application container image updates.|| +|**initContainers**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0)]|Provide ClusterDefinition.spec.componentDefs.podSpec.initContainers override values, typical scenarios are application container image updates.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envfromitems0secretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestop)|pre stop|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envfromitems0secretref)|secret ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefrom)|value from|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestop)|pre stop|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#appskubeblocksiov1alpha1clusterversionspeccomponentversionsitems0versionscontextinitcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### AppsKubeblocksIoV1alpha1ClusterVersionStatus + +ClusterVersionStatus defines the observed state of ClusterVersion + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterDefGeneration**|int|clusterDefGeneration represents the generation number of ClusterDefinition referenced.|| +|**message**|str|A human readable message indicating details about why the ClusterVersion is in this phase.|| +|**observedGeneration**|int|generation number|| +|**phase**|"Available" | "Unavailable"|phase - in list of [Available,Unavailable]|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec + +ComponentClassDefinitionSpec defines the desired state of ComponentClassDefinition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**groups**|[[AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0)]|group defines a list of class series that conform to the same constraint.|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0 + +apps kubeblocks io v1alpha1 component class definition spec groups items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**series**|[[AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0seriesitems0)]|series is a series of class definitions.|| +|**template**|str|template is a class definition template that uses the Go template syntax and allows for variable declaration. When defining a class in Series, specifying the variable's value is sufficient, as the complete class definition will be generated through rendering the template.
For example: template: \| cpu: "{{ or .cpu 1 }}" memory: "{{ or .memory 4 }}Gi"|| +|**vars**|[str]|vars defines the variables declared in the template and will be used to generating the complete class definition by render the template.|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0 + +apps kubeblocks io v1alpha1 component class definition spec groups items0 series items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**classes**|[[AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0](#appskubeblocksiov1alpha1componentclassdefinitionspecgroupsitems0seriesitems0classesitems0)]|classes are definitions of classes that come in two forms. In the first form, only ComponentClass.Args need to be defined, and the complete class definition is generated by rendering the ComponentClassGroup.Template and Name. In the second form, the Name, CPU and Memory must be defined.|| +|**namingTemplate**|str|namingTemplate is a template that uses the Go template syntax and allows for referencing variables defined in ComponentClassGroup.Template. This enables dynamic generation of class names. For example: name: "general-{{ .cpu }}c{{ .memory }}g"|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0 + +apps kubeblocks io v1alpha1 component class definition spec groups items0 series items0 classes items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|args are variable's value|| +|**cpu**|int | str|the CPU of the class|| +|**memory**|int | str|the memory of the class|| +|**name**|str|name is the class name|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus + +ComponentClassDefinitionStatus defines the observed state of ComponentClassDefinition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**classes**|[[AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0](#appskubeblocksiov1alpha1componentclassdefinitionstatusclassesitems0)]|classes is the list of classes that have been observed for this ComponentClassDefinition|| +|**observedGeneration**|int|observedGeneration is the most recent generation observed for this ComponentClassDefinition. It corresponds to the ComponentClassDefinition's generation, which is updated on mutation by the API Server.|| +### AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0 + +apps kubeblocks io v1alpha1 component class definition status classes items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|args are variable's value|| +|**cpu**|int | str|the CPU of the class|| +|**memory**|int | str|the memory of the class|| +|**name**|str|name is the class name|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec + +ComponentResourceConstraintSpec defines the desired state of ComponentResourceConstraint + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**rules** `required`|[[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0)]|Component resource constraint rules.|| +|**selector**|[[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecselectoritems0)]|selector is used to bind the resource constraint to cluster definitions.|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0 + +apps kubeblocks io v1alpha1 component resource constraint spec rules items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cpu** `required`|[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0cpu)|cpu|| +|**memory** `required`|[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0memory)|memory|| +|**name** `required`|str|The name of the constraint.|| +|**storage**|[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage](#appskubeblocksiov1alpha1componentresourceconstraintspecrulesitems0storage)|storage|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU + +The constraint for vcpu cores. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**max**|int | str|The maximum count of vcpu cores, [Min, Max] defines a range for valid vcpu cores, and the value in this range must be multiple times of Step. It's useful to define a large number of valid values without defining them one by one. Please see the documentation for Step for some examples. If Slots is specified, Max, Min, and Step are ignored|| +|**min**|int | str|The minimum count of vcpu cores, [Min, Max] defines a range for valid vcpu cores, and the value in this range must be multiple times of Step. It's useful to define a large number of valid values without defining them one by one. Please see the documentation for Step for some examples. If Slots is specified, Max, Min, and Step are ignored|| +|**slots**|[int | str]|The valid vcpu cores, it's useful if you want to define valid vcpu cores explicitly. If Slots is specified, Max, Min, and Step are ignored|| +|**step**|int | str|The minimum granularity of vcpu cores, [Min, Max] defines a range for valid vcpu cores and the value in this range must be multiple times of Step. For example: 1. Min is 2, Max is 8, Step is 2, and the valid vcpu core is {2, 4, 6, 8}. 2. Min is 0.5, Max is 2, Step is 0.5, and the valid vcpu core is {0.5, 1, 1.5, 2}.|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory + +The constraint for memory size. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**maxPerCPU**|int | str|The maximum size of memory per vcpu core, [MinPerCPU, MaxPerCPU] defines a range for valid memory size per vcpu core. It is useful on GCP as the ratio between the CPU and memory may be a range. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignored. Reference: https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types|| +|**minPerCPU**|int | str|The minimum size of memory per vcpu core, [MinPerCPU, MaxPerCPU] defines a range for valid memory size per vcpu core. It is useful on GCP as the ratio between the CPU and memory may be a range. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignored. Reference: https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types|| +|**sizePerCPU**|int | str|The size of memory per vcpu core. For example: 1Gi, 200Mi. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignore.|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage + +The constraint for storage size. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**max**|int | str|The maximum size of storage.|"10Ti"| +|**min**|int | str|The minimum size of storage.|"20Gi"| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0 + +apps kubeblocks io v1alpha1 component resource constraint spec selector items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterDefRef** `required`|str|clusterDefRef is the name of the cluster definition.|| +|**components** `required`|[[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0](#appskubeblocksiov1alpha1componentresourceconstraintspecselectoritems0componentsitems0)]|selector is used to bind the resource constraint to components.|| +### AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0 + +apps kubeblocks io v1alpha1 component resource constraint spec selector items0 components items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentDefRef** `required`|str|componentDefRef is the name of the component definition in the cluster definition.|| +|**rules** `required`|[str]|rules are the constraint rules that will be applied to the component.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpec + +ConfigConstraintSpec defines the desired state of ConfigConstraint + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cfgSchemaTopLevelName**|str|cfgSchemaTopLevelName is cue type name, which generates openapi schema.|| +|**configurationSchema**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema](#appskubeblocksiov1alpha1configconstraintspecconfigurationschema)|configuration schema|| +|**downwardAPIOptions**|[[AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0)]|downwardAPIOptions is used to watch pod fields.|| +|**dynamicParameters**|[str]|dynamicParameters, list of DynamicParameter, modifications of them trigger a config dynamic reload without process restart.|| +|**formatterConfig** `required`|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig](#appskubeblocksiov1alpha1configconstraintspecformatterconfig)|formatter config|| +|**immutableParameters**|[str]|immutableParameters describes parameters that prohibit user from modification.|| +|**reloadOptions**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions](#appskubeblocksiov1alpha1configconstraintspecreloadoptions)|reload options|| +|**scriptConfigs**|[[AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0](#appskubeblocksiov1alpha1configconstraintspecscriptconfigsitems0)]|scriptConfigs, list of ScriptConfig, witch these scripts can be used by volume trigger,downward trigger, or tool image|| +|**selector**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector](#appskubeblocksiov1alpha1configconstraintspecselector)|selector|| +|**staticParameters**|[str]|staticParameters, list of StaticParameter, modifications of them trigger a process restart.|| +|**toolsImageSpec**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec](#appskubeblocksiov1alpha1configconstraintspectoolsimagespec)|tools image spec|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema + +configurationSchema imposes restrictions on database parameter's rule. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cue**|str|cue that to let provider verify user configuration through cue language.|| +|**schema**|any||| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0 + +apps kubeblocks io v1alpha1 config constraint spec downward API options items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|command used to execute for downwrad api.|| +|**items** `required`|[[AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0)]|Items is a list of downward API volume file|| +|**mountPoint** `required`|str|mountPoint is the mount point of the scripts file.|| +|**name** `required`|str|Specify the name of the field.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef](#appskubeblocksiov1alpha1configconstraintspecdownwardapioptionsitems0itemsitems0resourcefieldref)|resource field ref|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig + +formatterConfig describes the format of the configuration file, the controller 1. parses configuration file 2. analyzes the modified parameters 3. applies corresponding policies. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**format** `required`|"xml" | "ini" | "yaml" | "json" | "hcl" | "dotenv" | "toml" | "properties" | "redis" | "props-plus"|The configuration file format. Valid values are ini, xml, yaml, json, hcl, dotenv, properties and toml.
ini: a configuration file that consists of a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file xml: reference wiki: https://en.wikipedia.org/wiki/XML yaml: a configuration file support for complex data types and structures. json: reference wiki: https://en.wikipedia.org/wiki/JSON hcl: : The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ dotenv: this was a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties toml: reference wiki: https://en.wikipedia.org/wiki/TOML props-plus: a file extension mainly used in Java, support CamelCase(e.g: brokerMaxConnectionsPerIp)|| +|**iniConfig**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig](#appskubeblocksiov1alpha1configconstraintspecformatterconfiginiconfig)|ini config|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig + +iniConfig represents the ini options. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**sectionName**|str|sectionName describes ini section.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions + +reloadOptions indicates whether the process supports reload. if set, the controller will determine the behavior of the engine instance based on the configuration templates, restart or reload depending on whether any parameters in the StaticParameters have been modified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**shellTrigger**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionsshelltrigger)|shell trigger|| +|**tplScriptTrigger**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionstplscripttrigger)|tpl script trigger|| +|**unixSignalTrigger**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger](#appskubeblocksiov1alpha1configconstraintspecreloadoptionsunixsignaltrigger)|unix signal trigger|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger + +shellTrigger performs the reload command. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|command used to execute for reload.|| +|**sync**|bool|Specify synchronize updates parameters to the config manager.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger + +goTplTrigger performs the reload command. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**namespace**|str|Specify the namespace of the referenced the tpl script ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**scriptConfigMapRef** `required`|str|scriptConfigMapRef used to execute for reload.|| +|**sync**|bool|Specify synchronize updates parameters to the config manager.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger + +unixSignalTrigger used to reload by sending a signal. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**processName** `required`|str|processName is process name, sends unix signal to proc.|| +|**signal** `required`|"SIGHUP" | "SIGINT" | "SIGQUIT" | "SIGILL" | "SIGTRAP" | "SIGABRT" | "SIGBUS" | "SIGFPE" | "SIGKILL" | "SIGUSR1" | "SIGSEGV" | "SIGUSR2" | "SIGPIPE" | "SIGALRM" | "SIGTERM" | "SIGSTKFLT" | "SIGCHLD" | "SIGCONT" | "SIGSTOP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGURG" | "SIGXCPU" | "SIGXFSZ" | "SIGVTALRM" | "SIGPROF" | "SIGWINCH" | "SIGIO" | "SIGPWR" | "SIGSYS"|signal is valid for unix signal. e.g: SIGHUP url: ../../internal/configuration/configmap/handler.go:allUnixSignals|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0 + +apps kubeblocks io v1alpha1 config constraint spec script configs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**namespace**|str|Specify the namespace of the referenced the tpl script ConfigMap object. An empty namespace is equivalent to the "default" namespace.|"default"| +|**scriptConfigMapRef** `required`|str|scriptConfigMapRef used to execute for reload.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector + +selector is used to match the label on the pod, for example, a pod of the primary is match on the patroni cluster. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0](#appskubeblocksiov1alpha1configconstraintspecselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec + +toolConfig used to config init container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPoint** `required`|str|mountPoint is the mount point of the scripts file.|| +|**toolConfigs**|[[AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0](#appskubeblocksiov1alpha1configconstraintspectoolsimagespectoolconfigsitems0)]|toolConfig used to config init container.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0 + +apps kubeblocks io v1alpha1 config constraint spec tools image spec tool configs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|exec used to execute for init containers.|| +|**image**|str|tools Container image name.|| +|**name**|str|Specify the name of initContainer. Must be a DNS_LABEL name.|| +### AppsKubeblocksIoV1alpha1ConfigConstraintStatus + +ConfigConstraintStatus defines the observed state of ConfigConstraint. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**message**|str|message field describes the reasons of abnormal status.|| +|**observedGeneration**|int|observedGeneration is the latest generation observed for this ClusterDefinition. It refers to the ConfigConstraint's generation, which is updated by the API Server.|| +|**phase**|"Available" | "Unavailable" | "Deleting"|phase is status of configuration template, when set to CCAvailablePhase, it can be referenced by ClusterDefinition or ClusterVersion.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpec + +OpsRequestSpec defines the desired state of OpsRequest + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cancel**|bool|cancel defines the action to cancel the Pending/Creating/Running opsRequest, supported types: [VerticalScaling, HorizontalScaling]. once cancel is set to true, this opsRequest will be canceled and modifying this property again will not take effect.|| +|**clusterRef** `required`|str|clusterRef references clusterDefinition.|| +|**expose**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0](#appskubeblocksiov1alpha1opsrequestspecexposeitems0)]|expose defines services the component needs to expose.|| +|**horizontalScaling**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0](#appskubeblocksiov1alpha1opsrequestspechorizontalscalingitems0)]|horizontalScaling defines what component need to horizontal scale the specified replicas.|| +|**reconfigure**|[AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure](#appskubeblocksiov1alpha1opsrequestspecreconfigure)|reconfigure|| +|**restart**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0](#appskubeblocksiov1alpha1opsrequestspecrestartitems0)]|restart the specified components.|| +|**restoreFrom**|[AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom](#appskubeblocksiov1alpha1opsrequestspecrestorefrom)|restore from|| +|**scriptSpec**|[AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec](#appskubeblocksiov1alpha1opsrequestspecscriptspec)|script spec|| +|**switchover**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0](#appskubeblocksiov1alpha1opsrequestspecswitchoveritems0)]|switchover the specified components.|| +|**ttlSecondsAfterSucceed**|int|ttlSecondsAfterSucceed OpsRequest will be deleted after TTLSecondsAfterSucceed second when OpsRequest.status.phase is Succeed.|| +|**ttlSecondsBeforeAbort**|int|ttlSecondsBeforeAbort OpsRequest will wait at most TTLSecondsBeforeAbort seconds for start-conditions to be met. If not specified, the default value is 0, which means that the start-conditions must be met immediately.|0| +|**type** `required`|"Upgrade" | "VerticalScaling" | "VolumeExpansion" | "HorizontalScaling" | "Restart" | "Reconfiguring" | "Start" | "Stop" | "Expose" | "Switchover" | "DataScript"||| +|**upgrade**|[AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade](#appskubeblocksiov1alpha1opsrequestspecupgrade)|upgrade|| +|**verticalScaling**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0](#appskubeblocksiov1alpha1opsrequestspecverticalscalingitems0)]|verticalScaling defines what component need to vertical scale the specified compute resources.|| +|**volumeExpansion**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0](#appskubeblocksiov1alpha1opsrequestspecvolumeexpansionitems0)]|volumeExpansion defines what component and volumeClaimTemplate need to expand the specified storage.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0 + +apps kubeblocks io v1alpha1 ops request spec expose items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**services** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0](#appskubeblocksiov1alpha1opsrequestspecexposeitems0servicesitems0)]|Setting the list of services to be exposed.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0 + +apps kubeblocks io v1alpha1 ops request spec expose items0 services items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|If ServiceType is LoadBalancer, cloud provider related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer.|| +|**name** `required`|str|Service name|| +|**serviceType**|"ClusterIP" | "NodePort" | "LoadBalancer"|serviceType determines how the Service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, they are determined by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types.|"ClusterIP"| +### AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0 + +HorizontalScaling defines the variables of horizontal scaling operation + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**replicas** `required`|int|replicas for the workloads.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure + +reconfigure defines the variables that need to input when updating configuration. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**configurations** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0)]|configurations defines which components perform the operation.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0 + +apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**keys** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0keysitems0)]|keys is used to set the parameters to be updated.|| +|**name** `required`|str|name is a config template name.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0 + +apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 keys items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key indicates the key name of ConfigMap.|| +|**parameters** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0](#appskubeblocksiov1alpha1opsrequestspecreconfigureconfigurationsitems0keysitems0parametersitems0)]|Setting the list of parameters for a single configuration file.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0 + +apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 keys items0 parameters items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is name of the parameter to be updated.|| +|**value** `required`|str|parameter values to be updated. if set nil, the parameter defined by the key field will be deleted from the configuration file.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0 + +ComponentOps defines the common variables of component scope operations. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom + +cluster RestoreFrom backup or point in time + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backup**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0](#appskubeblocksiov1alpha1opsrequestspecrestorefrombackupitems0)]|use the backup name and component name for restore, support for multiple components' recovery.|| +|**pointInTime**|[AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime](#appskubeblocksiov1alpha1opsrequestspecrestorefrompointintime)|point in time|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0 + +apps kubeblocks io v1alpha1 ops request spec restore from backup items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ref**|[AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref](#appskubeblocksiov1alpha1opsrequestspecrestorefrombackupitems0ref)|ref|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref + +specify a reference backup to restore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|specified the name|| +|**namespace**|str|specified the namespace|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime + +specified the point in time to recovery + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ref**|[AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef](#appskubeblocksiov1alpha1opsrequestspecrestorefrompointintimeref)|ref|| +|**time**|str|specify the time point to restore, with UTC as the time zone.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef + +specify a reference source cluster to restore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|specified the name|| +|**namespace**|str|specified the namespace|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec + +scriptSpec defines the script to be executed. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**image**|str|exec command with image, by default use the image of kubeblocks-datascript.|| +|**script**|[str]|script defines the script to be executed.|| +|**scriptFrom**|[AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfrom)|script from|| +|**secret**|[AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret](#appskubeblocksiov1alpha1opsrequestspecscriptspecsecret)|secret|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom + +scriptFrom defines the script to be executed from configMap or secret. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfromconfigmaprefitems0)]|configMapRef defines the configMap to be executed.|| +|**secretRef**|[[AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0](#appskubeblocksiov1alpha1opsrequestspecscriptspecscriptfromsecretrefitems0)]|secretRef defines the secret to be executed.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0 + +Selects a key from a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0 + +SecretKeySelector selects a key of a Secret. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret + +secret defines the secret to be used to execute the script. If not specified, the default cluster root credential secret will be used. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name is the name of the secret.|| +|**passwordKey**|str|passwordKey field is used to specify the password of the secret.|"password"| +|**usernameKey**|str|usernameKey field is used to specify the username of the secret.|"username"| +### AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0 + +apps kubeblocks io v1alpha1 ops request spec switchover items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**instanceName** `required`|str|instanceName is used to specify the candidate primary or leader instanceName for switchover. If instanceName is set to "*", it means that no specific primary or leader is specified for the switchover, and the switchoverAction defined in clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate will be executed, It is required that clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate is not empty. If instanceName is set to a valid instanceName other than "*", it means that a specific candidate primary or leader is specified for the switchover. the value of instanceName can be obtained using `kbcli cluster list-instances`, any other value is invalid. In this case, the `switchoverAction` defined in clusterDefinition.componentDefs[x].switchoverSpec.withCandidate will be executed, and it is required that clusterDefinition.componentDefs[x].switchoverSpec.withCandidate is not empty.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade + +upgrade specifies the cluster version by specifying clusterVersionRef. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterVersionRef** `required`|str|clusterVersionRef references ClusterVersion name.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0 + +VerticalScaling defines the variables that need to input when scaling compute resources. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**classDefRef**|any|class def ref|| +|**componentName** `required`|str|componentName cluster component name.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0 + +VolumeExpansion defines the variables of volume expansion operation. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**componentName** `required`|str|componentName cluster component name.|| +|**volumeClaimTemplates** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0](#appskubeblocksiov1alpha1opsrequestspecvolumeexpansionitems0volumeclaimtemplatesitems0)]|volumeClaimTemplates specifies the storage size and volumeClaimTemplate name.|| +### AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0 + +apps kubeblocks io v1alpha1 ops request spec volume expansion items0 volume claim templates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name references volumeClaimTemplate name from cluster components.|| +|**storage** `required`|int | str|Request storage size.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatus + +OpsRequestStatus defines the observed state of OpsRequest + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cancelTimestamp**|str|CancelTimestamp defines cancel time.|| +|**clusterGeneration**|int|ClusterGeneration records the cluster generation after handling the opsRequest action.|| +|**completionTimestamp**|str|completionTimestamp defines the OpsRequest completion time.|| +|**components**|{str:[AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon](#appskubeblocksiov1alpha1opsrequeststatuscomponentsanon)}|components defines the recorded the status information of changed components for operation request.|| +|**conditions**|[[AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0](#appskubeblocksiov1alpha1opsrequeststatusconditionsitems0)]|conditions describes opsRequest detail status.|| +|**lastConfiguration**|[AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration](#appskubeblocksiov1alpha1opsrequeststatuslastconfiguration)|last configuration|| +|**phase**|"Pending" | "Creating" | "Running" | "Cancelling" | "Cancelled" | "Failed" | "Succeed"|phase describes OpsRequest phase.|| +|**progress** `required`|str|progress|"-/-"| +|**reconfiguringStatus**|[AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatus)|reconfiguring status|| +|**startTimestamp**|str|startTimestamp The time when the OpsRequest started processing.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon + +apps kubeblocks io v1alpha1 ops request status components anon + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastFailedTime**|str|lastFailedTime is the last time the component phase transitioned to Failed or Abnormal.|| +|**message**|str|message is a human-readable message indicating details about this operation.|| +|**phase**|"Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating"|phase describes the component phase, reference Cluster.status.component.phase.|| +|**progressDetails**|[[AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0](#appskubeblocksiov1alpha1opsrequeststatuscomponentsanonprogressdetailsitems0)]|progressDetails describes the progress details of the component for this operation.|| +|**reason**|str|reason describes the reason for the component phase.|| +|**workloadType**|"Stateless" | "Stateful" | "Consensus" | "Replication"|workloadType references workload type of component in ClusterDefinition.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0 + +apps kubeblocks io v1alpha1 ops request status components anon progress details items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**endTime**|str|endTime is the completion time of object processing.|| +|**group**|str|group describes which group the current object belongs to. if the objects of a component belong to the same group, we can ignore it.|| +|**message**|str|message is a human readable message indicating details about the object condition.|| +|**objectKey** `required`|str|objectKey is the unique key of the object.|| +|**startTime**|str|startTime is the start time of object processing.|| +|**status** `required`|"Processing" | "Pending" | "Failed" | "Succeed"|status describes the state of processing the object.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0 + +Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.|| +|**message** `required`|str|message is a human readable message indicating details about the transition. This may be an empty string.|| +|**observedGeneration**|int|observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.|| +|**reason** `required`|str|reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration + +lastConfiguration records the last configuration before this operation take effected. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clusterVersionRef**|str|clusterVersionRef references ClusterVersion name.|| +|**components**|{str:}|components records last configuration of the component.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClassDefRef + +classDefRef reference class defined in ComponentClassDefinition. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**class** `required`|str|Class refers to the name of the class that is defined in the ComponentClassDefinition.|| +|**name**|str|Name refers to the name of the ComponentClassDefinition.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonServicesItems0 + +apps kubeblocks io v1alpha1 ops request status last configuration components anon services items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|If ServiceType is LoadBalancer, cloud provider related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer.|| +|**name** `required`|str|Service name|| +|**serviceType**|"ClusterIP" | "NodePort" | "LoadBalancer"|serviceType determines how the Service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, they are determined by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types.|"ClusterIP"| +### AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonVolumeClaimTemplatesItems0 + +apps kubeblocks io v1alpha1 ops request status last configuration components anon volume claim templates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|name references volumeClaimTemplate name from cluster components.|| +|**storage** `required`|int | str|Request storage size.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus + +reconfiguringStatus defines the status information of reconfiguring. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configurationStatus** `required`|[[AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatusconfigurationstatusitems0)]|configurationStatus describes the status of the component reconfiguring.|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0 + +apps kubeblocks io v1alpha1 ops request status reconfiguring status configuration status items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**expectedCount**|int|expectedCount describes the number of expected reconfiguring.|-1| +|**lastAppliedConfiguration**|{str:str}|LastAppliedConfiguration describes the last configuration.|| +|**lastStatus**|str|lastStatus describes the last status for the reconfiguring controller.|| +|**name** `required`|str|name is a config template name.|| +|**status**|str|status describes the current state of the reconfiguring state machine.|| +|**succeedCount**|int|succeedCount describes the number of successful reconfiguring.|0| +|**updatePolicy**|"simple" | "parallel" | "rolling" | "autoReload" | "operatorSyncUpdate"|updatePolicy describes the policy of reconfiguring.|| +|**updatedParameters**|[AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters](#appskubeblocksiov1alpha1opsrequeststatusreconfiguringstatusconfigurationstatusitems0updatedparameters)|updated parameters|| +### AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters + +updatedParameters describes the updated parameters. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**addedKeys**|{str:str}|addedKeys describes the key added.|| +|**deletedKeys**|{str:str}|deletedKeys describes the key deleted.|| +|**updatedKeys**|{str:str}|updatedKeys describes the key updated.|| +### Backup + +Backup is the Schema for the backups API (defined by User). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"dataprotection.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"dataprotection.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"Backup"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"Backup"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[DataprotectionKubeblocksIoV1alpha1BackupSpec](#dataprotectionkubeblocksiov1alpha1backupspec)|spec|| +|**status**|[DataprotectionKubeblocksIoV1alpha1BackupStatus](#dataprotectionkubeblocksiov1alpha1backupstatus)|status|| +### BackupPolicy + +BackupPolicy is the Schema for the backuppolicies API (defined by User) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"dataprotection.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"dataprotection.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"BackupPolicy"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"BackupPolicy"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpec](#dataprotectionkubeblocksiov1alpha1backuppolicyspec)|spec|| +|**status**|[DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus](#dataprotectionkubeblocksiov1alpha1backuppolicystatus)|status|| +### BackupPolicyTemplate + +BackupPolicyTemplate is the Schema for the BackupPolicyTemplates API (defined by provider) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"BackupPolicyTemplate"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"BackupPolicyTemplate"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec](#appskubeblocksiov1alpha1backuppolicytemplatespec)|spec|| +|**status**|any|BackupPolicyTemplateStatus defines the observed state of BackupPolicyTemplate|| +### BackupRepo + +BackupRepo is the Schema for the backuprepos API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"dataprotection.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"dataprotection.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"BackupRepo"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"BackupRepo"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[DataprotectionKubeblocksIoV1alpha1BackupRepoSpec](#dataprotectionkubeblocksiov1alpha1backuprepospec)|spec|| +|**status**|[DataprotectionKubeblocksIoV1alpha1BackupRepoStatus](#dataprotectionkubeblocksiov1alpha1backuprepostatus)|status|| +### BackupTool + +BackupTool is the Schema for the backuptools API (defined by provider) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"dataprotection.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"dataprotection.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"BackupTool"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"BackupTool"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpec](#dataprotectionkubeblocksiov1alpha1backuptoolspec)|spec|| +|**status**|any|BackupToolStatus defines the observed state of BackupTool|| +### Cluster + +Cluster is the Schema for the clusters API. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"Cluster"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"Cluster"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ClusterSpec](#appskubeblocksiov1alpha1clusterspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1ClusterStatus](#appskubeblocksiov1alpha1clusterstatus)|status|| +### ClusterDefinition + +ClusterDefinition is the Schema for the clusterdefinitions API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ClusterDefinition"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ClusterDefinition"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ClusterDefinitionSpec](#appskubeblocksiov1alpha1clusterdefinitionspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1ClusterDefinitionStatus](#appskubeblocksiov1alpha1clusterdefinitionstatus)|status|| +### ClusterVersion + +ClusterVersion is the Schema for the ClusterVersions API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ClusterVersion"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ClusterVersion"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ClusterVersionSpec](#appskubeblocksiov1alpha1clusterversionspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1ClusterVersionStatus](#appskubeblocksiov1alpha1clusterversionstatus)|status|| +### ComponentClassDefinition + +ComponentClassDefinition is the Schema for the componentclassdefinitions API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ComponentClassDefinition"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ComponentClassDefinition"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec](#appskubeblocksiov1alpha1componentclassdefinitionspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus](#appskubeblocksiov1alpha1componentclassdefinitionstatus)|status|| +### ComponentResourceConstraint + +ComponentResourceConstraint is the Schema for the componentresourceconstraints API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ComponentResourceConstraint"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ComponentResourceConstraint"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec](#appskubeblocksiov1alpha1componentresourceconstraintspec)|spec|| +### ConfigConstraint + +ConfigConstraint is the Schema for the configconstraint API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ConfigConstraint"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ConfigConstraint"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1ConfigConstraintSpec](#appskubeblocksiov1alpha1configconstraintspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1ConfigConstraintStatus](#appskubeblocksiov1alpha1configconstraintstatus)|status|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpec + +BackupPolicySpec defines the desired state of BackupPolicy + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datafile**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafile)|datafile|| +|**logfile**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfile)|logfile|| +|**retention**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention](#dataprotectionkubeblocksiov1alpha1backuppolicyspecretention)|retention|| +|**schedule**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedule)|schedule|| +|**snapshot**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshot)|snapshot|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile + +the policy for datafile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupRepoName**|str|refer to BackupRepo and the backup data will be stored in the corresponding repo.|| +|**backupStatusUpdates**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilebackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupToolName**|str|which backup tool to perform database backup, only support one tool.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**persistentVolumeClaim**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilepersistentvolumeclaim)|persistent volume claim|| +|**target** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletarget)|target|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0 + +dataprotection kubeblocks io v1alpha1 backup policy spec datafile backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim + +refer to PersistentVolumeClaim and the backup data will be stored in the corresponding persistent volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**createPolicy**|"IfNotPresent" | "Never"|createPolicy defines the policy for creating the PersistentVolumeClaim, enum values: - Never: do nothing if the PersistentVolumeClaim not exists. - IfNotPresent: create the PersistentVolumeClaim if not present and the accessModes only contains 'ReadWriteMany'.|"IfNotPresent"| +|**initCapacity**|int | str|initCapacity represents the init storage size of the PersistentVolumeClaim which should be created if not exist. and the default value is 100Gi if it is empty.|| +|**name**|str|the name of PersistentVolumeClaim to store backup data.|| +|**persistentVolumeConfigMap**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafilepersistentvolumeclaimpersistentvolumeconfigmap)|persistent volume config map|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap + +persistentVolumeConfigMap references the configmap which contains a persistentVolume template. key must be "persistentVolume" and value is the "PersistentVolume" struct. support the following built-in Objects: - $(GENERATE_NAME): generate a specific format "`PVC NAME`-`PVC NAMESPACE`". if the PersistentVolumeClaim not exists and CreatePolicy is "IfNotPresent", the controller will create it by this template. this is a mutually exclusive setting with "storageClassName". + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the name of the persistentVolume ConfigMap.|| +|**namespace** `required`|str|the namespace of the persistentVolume ConfigMap.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget + +target database cluster for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelsSelector** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetlabelsselector)|labels selector|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetsecret)|secret|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector + +labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecdatafiletargetlabelsselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret + +secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the secret name|| +|**passwordKey**|str|passwordKey the map key of the password in the connection credential secret|"password"| +|**usernameKey**|str|usernameKey the map key of the user in the connection credential secret|"username"| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile + +the policy for logfile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupRepoName**|str|refer to BackupRepo and the backup data will be stored in the corresponding repo.|| +|**backupStatusUpdates**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilebackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupToolName**|str|which backup tool to perform database backup, only support one tool.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**persistentVolumeClaim**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilepersistentvolumeclaim)|persistent volume claim|| +|**target** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletarget)|target|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0 + +dataprotection kubeblocks io v1alpha1 backup policy spec logfile backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim + +refer to PersistentVolumeClaim and the backup data will be stored in the corresponding persistent volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**createPolicy**|"IfNotPresent" | "Never"|createPolicy defines the policy for creating the PersistentVolumeClaim, enum values: - Never: do nothing if the PersistentVolumeClaim not exists. - IfNotPresent: create the PersistentVolumeClaim if not present and the accessModes only contains 'ReadWriteMany'.|"IfNotPresent"| +|**initCapacity**|int | str|initCapacity represents the init storage size of the PersistentVolumeClaim which should be created if not exist. and the default value is 100Gi if it is empty.|| +|**name**|str|the name of PersistentVolumeClaim to store backup data.|| +|**persistentVolumeConfigMap**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfilepersistentvolumeclaimpersistentvolumeconfigmap)|persistent volume config map|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap + +persistentVolumeConfigMap references the configmap which contains a persistentVolume template. key must be "persistentVolume" and value is the "PersistentVolume" struct. support the following built-in Objects: - $(GENERATE_NAME): generate a specific format "`PVC NAME`-`PVC NAMESPACE`". if the PersistentVolumeClaim not exists and CreatePolicy is "IfNotPresent", the controller will create it by this template. this is a mutually exclusive setting with "storageClassName". + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the name of the persistentVolume ConfigMap.|| +|**namespace** `required`|str|the namespace of the persistentVolume ConfigMap.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget + +target database cluster for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelsSelector** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetlabelsselector)|labels selector|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetsecret)|secret|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector + +labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspeclogfiletargetlabelsselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret + +secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the secret name|| +|**passwordKey**|str|passwordKey the map key of the password in the connection credential secret|"password"| +|**usernameKey**|str|usernameKey the map key of the user in the connection credential secret|"username"| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention + +retention describe how long the Backup should be retained. if not set, will be retained forever. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**ttl**|str|ttl is a time string ending with the 'd'\|'D'\|'h'\|'H' character to describe how long the Backup should be retained. if not set, will be retained forever.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule + +schedule policy for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datafile**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecscheduledatafile)|datafile|| +|**logfile**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedulelogfile)|logfile|| +|**snapshot**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot](#dataprotectionkubeblocksiov1alpha1backuppolicyspecschedulesnapshot)|snapshot|| +|**startingDeadlineMinutes**|int|startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile + +schedule policy for datafile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile + +schedule policy for logfile backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot + +schedule policy for snapshot backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cronExpression** `required`|str|the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron.|| +|**enable** `required`|bool|enable or disable the schedule.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot + +the policy for snapshot backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupStatusUpdates**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshotbackupstatusupdatesitems0)]|define how to update metadata for backup status.|| +|**backupsHistoryLimit**|int|the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups.|7| +|**hooks**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshothooks)|hooks|| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**target** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottarget)|target|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0 + +dataprotection kubeblocks io v1alpha1 backup policy spec snapshot backup status updates items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container name that kubectl can execute.|| +|**path**|str|specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog.|| +|**script**|str|the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON.|| +|**updateStage** `required`|"pre" | "post"|when to update the backup status, pre: before backup, post: after backup|| +|**useTargetPodServiceAccount**|bool|useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks + +execute hook commands for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|which container can exec command|| +|**image**|str|exec command with image|| +|**postCommands**|[str]|post backup to perform commands|| +|**preCommands**|[str]|pre backup to perform commands|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget + +target database cluster for backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelsSelector** `required`|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetlabelsselector)|labels selector|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetsecret)|secret|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector + +labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1backuppolicyspecsnapshottargetlabelsselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret + +secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the secret name|| +|**passwordKey**|str|passwordKey the map key of the password in the connection credential secret|"password"| +|**usernameKey**|str|usernameKey the map key of the user in the connection credential secret|"username"| +### DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus + +BackupPolicyStatus defines the observed state of BackupPolicy + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**failureReason**|str|the reason if backup policy check failed.|| +|**lastScheduleTime**|str|information when was the last time the job was successfully scheduled.|| +|**lastSuccessfulTime**|str|information when was the last time the job successfully completed.|| +|**observedGeneration**|int|observedGeneration is the most recent generation observed for this BackupPolicy. It corresponds to the Cluster's generation, which is updated on mutation by the API Server.|| +|**phase**|"Available" | "Failed"|backup policy phase valid value: Available, Failed.|| +### DataprotectionKubeblocksIoV1alpha1BackupRepoSpec + +BackupRepoSpec defines the desired state of BackupRepo + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**config**|{str:str}|Non-secret configurations for the storage provider.|| +|**credential**|[DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential](#dataprotectionkubeblocksiov1alpha1backuprepospeccredential)|credential|| +|**pvReclaimPolicy** `required`|"Delete" | "Retain"|The reclaim policy for the PV created by this backup repo.|| +|**storageProviderRef** `required`|str|The storage provider used by this backup repo.|| +|**volumeCapacity**|int | str|The requested capacity for the PVC created by this backup repo.|| +### DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential + +A secret that contains the credentials needed by the storage provider. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|name is unique within a namespace to reference a secret resource.|| +|**namespace**|str|namespace defines the space within which the secret name must be unique.|| +### DataprotectionKubeblocksIoV1alpha1BackupRepoStatus + +BackupRepoStatus defines the observed state of BackupRepo + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupPVCName**|str|backupPVCName is the name of the PVC used to store backup data.|| +|**conditions**|[[DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0](#dataprotectionkubeblocksiov1alpha1backuprepostatusconditionsitems0)]|conditions describes the current state of the repo.|| +|**generatedCSIDriverSecret**|[DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret](#dataprotectionkubeblocksiov1alpha1backuprepostatusgeneratedcsidriversecret)|generated c s i driver secret|| +|**generatedStorageClassName**|str|generatedStorageClassName indicates the generated storage class name.|| +|**isDefault**|bool|isDefault indicates whether this backup repo is the default one.|| +|**observedGeneration**|int|observedGeneration is the latest generation observed by the controller.|| +|**phase**|str|Backup repo reconciliation phases. Valid values are PreChecking, Failed, Ready, Deleting.|| +### DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0 + +Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.|| +|**message** `required`|str|message is a human readable message indicating details about the transition. This may be an empty string.|| +|**observedGeneration**|int|observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.|| +|**reason** `required`|str|reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret + +generatedCSIDriverSecret references the generated secret used by the CSI driver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|name is unique within a namespace to reference a secret resource.|| +|**namespace**|str|namespace defines the space within which the secret name must be unique.|| +### DataprotectionKubeblocksIoV1alpha1BackupSpec + +BackupSpec defines the desired state of Backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupPolicyName** `required`|str|Which backupPolicy is applied to perform this backup|| +|**backupType** `required`|"datafile" | "logfile" | "snapshot"|Backup Type. datafile or logfile or snapshot. If not set, datafile is the default type.|"datafile"| +|**parentBackupName**|str|if backupType is incremental, parentBackupName is required.|| +### DataprotectionKubeblocksIoV1alpha1BackupStatus + +BackupStatus defines the observed state of Backup. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**availableReplicas**|int|availableReplicas available replicas for statefulSet which created by backup.|| +|**backupToolName**|str|backupToolName references the backup tool name.|| +|**completionTimestamp**|str|Date/time when the backup finished being processed.|| +|**duration**|str|The duration time of backup execution. When converted to a string, the form is "1h2m0.5s".|| +|**expiration**|str|The date and time when the Backup is eligible for garbage collection. 'null' means the Backup is NOT be cleaned except delete manual.|| +|**failureReason**|str|The reason for a backup failure.|| +|**manifests**|[DataprotectionKubeblocksIoV1alpha1BackupStatusManifests](#dataprotectionkubeblocksiov1alpha1backupstatusmanifests)|manifests|| +|**parentBackupName**|str|Records parentBackupName if backupType is incremental.|| +|**persistentVolumeClaimName**|str|remoteVolume saves the backup data.|| +|**phase**|"New" | "InProgress" | "Running" | "Completed" | "Failed" | "Deleting"|BackupPhase The current phase. Valid values are New, InProgress, Completed, Failed.|| +|**sourceCluster**|str|sourceCluster records the source cluster information for this backup.|| +|**startTimestamp**|str|Date/time when the backup started being processed.|| +|**totalSize**|str|Backup total size. A string with capacity units in the form of "1Gi", "1Mi", "1Ki".|| +### DataprotectionKubeblocksIoV1alpha1BackupStatusManifests + +manifests determines the backup metadata info. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupLog**|[DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackuplog)|backup log|| +|**backupSnapshot**|[DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackupsnapshot)|backup snapshot|| +|**backupTool**|[DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool](#dataprotectionkubeblocksiov1alpha1backupstatusmanifestsbackuptool)|backup tool|| +|**target**|str|target records the target cluster metadata string, which is in JSON format.|| +|**userContext**|{str:str}|userContext stores some loosely structured and extensible information.|| +### DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog + +backupLog records startTime and stopTime of data logging. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**startTime**|str|startTime records the start time of data logging.|| +|**stopTime**|str|stopTime records the stop time of data logging.|| +### DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot + +snapshot records the volume snapshot metadata. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**volumeSnapshotContentName**|str|volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable.|| +|**volumeSnapshotName**|str|volumeSnapshotName records the volumeSnapshot name.|| +### DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool + +backupTool records information about backup files generated by the backup tool. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**checkpoint**|str|backup checkpoint, for incremental backup.|| +|**checksum**|str|checksum of backup file, generated by md5 or sha1 or sha256.|| +|**filePath**|str|filePath records the file path of backup.|| +|**uploadTotalSize**|str|Backup upload total size. A string with capacity units in the form of "1Gi", "1Mi", "1Ki".|| +|**volumeName**|str|volumeName records volume name of backup data pvc.|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpec + +BackupToolSpec defines the desired state of BackupTool + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupCommands** `required`|[str]|Array of command that apps can do database backup. from invoke args the order of commands follows the order of array.|| +|**deployKind**|"job" | "statefulSet"|which kind for run a backup tool, supported values: job, statefulSet.|"job"| +|**env**|[[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0)]|List of environment variables to set in the container.|| +|**envFrom**|[[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image** `required`|str|Backup tool Container image name.|| +|**incrementalBackupCommands**|[str]|Array of command that apps can do database incremental backup. like xtrabackup, that can performs an incremental backup file.|| +|**logical**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical](#dataprotectionkubeblocksiov1alpha1backuptoolspeclogical)|logical|| +|**physical** `required`|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical](#dataprotectionkubeblocksiov1alpha1backuptoolspecphysical)|physical|| +|**resources**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources](#dataprotectionkubeblocksiov1alpha1backuptoolspecresources)|resources|| +|**type**|"file" | "pitr"||"file"| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvfromitems0secretref)|secret ref|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefrom)|value from|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef](#dataprotectionkubeblocksiov1alpha1backuptoolspecenvitems0valuefromsecretkeyref)|secret key ref|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical + +backup tool can support logical restore, in this case, restore NOT RESTART database. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**incrementalRestoreCommands**|[str]|Array of incremental restore commands.|| +|**podScope**|"All" | "ReadWrite"|podScope defines the pod scope for restore from backup, supported values: - 'All' will exec the restore command on all pods. - 'ReadWrite' will pick a ReadWrite pod to exec the restore command.|"All"| +|**restoreCommands**|[str]|Array of command that apps can perform database restore. like xtrabackup, that can performs restore mysql from files.|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical + +backup tool can support physical restore, in this case, restore must be RESTART database. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**incrementalRestoreCommands**|[str]|Array of incremental restore commands.|| +|**restoreCommands**|[str]|Array of command that apps can perform database restore. like xtrabackup, that can performs restore mysql from files.|| +### DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources + +Compute Resources required by this container. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpec + +RestoreJobSpec defines the desired state of RestoreJob + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**backupJobName** `required`|str|Specified one backupJob to restore.|| +|**onFailAttempted**|int|count of backup stop retries on fail.|| +|**target** `required`|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget](#dataprotectionkubeblocksiov1alpha1restorejobspectarget)|target|| +|**targetVolumeMounts** `required`|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumemountsitems0)]|array of restore volume mounts .|| +|**targetVolumes** `required`|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0)]|array of restore volumes .|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget + +the target database workload to restore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelsSelector** `required`|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector](#dataprotectionkubeblocksiov1alpha1restorejobspectargetlabelsselector)|labels selector|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetsecret)|secret|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector + +labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetlabelsselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret + +secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|the secret name|| +|**passwordKey**|str|passwordKey the map key of the password in the connection credential secret|"password"| +|**usernameKey**|str|usernameKey the map key of the user in the connection credential secret|"username"| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0 + +Volume represents a named volume in a pod that may be accessed by any container in the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**awsElasticBlockStore**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0awselasticblockstore)|aws elastic block store|| +|**azureDisk**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0azuredisk)|azure disk|| +|**azureFile**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0azurefile)|azure file|| +|**cephfs**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cephfs)|cephfs|| +|**cinder**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cinder)|cinder|| +|**configMap**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0configmap)|config map|| +|**csi**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0csi)|csi|| +|**downwardAPI**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapi)|downward API|| +|**emptyDir**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0emptydir)|empty dir|| +|**ephemeral**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeral)|ephemeral|| +|**fc**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0fc)|fc|| +|**flexVolume**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flexvolume)|flex volume|| +|**flocker**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flocker)|flocker|| +|**gcePersistentDisk**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0gcepersistentdisk)|gce persistent disk|| +|**gitRepo**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0gitrepo)|git repo|| +|**glusterfs**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0glusterfs)|glusterfs|| +|**hostPath**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0hostpath)|host path|| +|**iscsi**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0iscsi)|iscsi|| +|**name** `required`|str|name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|| +|**nfs**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0nfs)|nfs|| +|**persistentVolumeClaim**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0persistentvolumeclaim)|persistent volume claim|| +|**photonPersistentDisk**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0photonpersistentdisk)|photon persistent disk|| +|**portworxVolume**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0portworxvolume)|portworx volume|| +|**projected**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projected)|projected|| +|**quobyte**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0quobyte)|quobyte|| +|**rbd**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0rbd)|rbd|| +|**scaleIO**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0scaleio)|scale i o|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0secret)|secret|| +|**storageos**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0storageos)|storageos|| +|**vsphereVolume**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0vspherevolume)|vsphere volume|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore + +awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).|| +|**readOnly**|bool|readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +|**volumeID** `required`|str|volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk + +azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cachingMode**|str|cachingMode is the Host Caching mode: None, Read Only, Read Write.|| +|**diskName** `required`|str|diskName is the Name of the data disk in the blob storage|| +|**diskURI** `required`|str|diskURI is the URI of data disk in the blob storage|| +|**fsType**|str|fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**kind**|str|kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile + +azureFile represents an Azure File Service mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretName** `required`|str|secretName is the name of secret that contains Azure Storage Account Name and Key|| +|**shareName** `required`|str|shareName is the azure share Name|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs + +cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**monitors** `required`|[str]|monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**path**|str|path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretFile**|str|secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cephfssecretref)|secret ref|| +|**user**|str|user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef + +secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder + +cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0cindersecretref)|secret ref|| +|**volumeID** `required`|str|volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef + +secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap + +configMap represents a configMap that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi + +csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.|| +|**fsType**|str|fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.|| +|**nodePublishSecretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0csinodepublishsecretref)|node publish secret ref|| +|**readOnly**|bool|readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).|| +|**volumeAttributes**|{str:str}|volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef + +nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI + +downwardAPI represents downward API about the pod that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0)]|Items is a list of downward API volume file|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir + +emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**medium**|str|medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|| +|**sizeLimit**|int | str|sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral + +ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**volumeClaimTemplate**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplate)|volume claim template|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate + +Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**metadata**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatemetadata)|metadata|| +|**spec** `required`|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespec)|spec|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata + +May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|annotations|| +|**finalizers**|[str]|finalizers|| +|**labels**|{str:str}|labels|| +|**name**|str|name|| +|**namespace**|str|namespace|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec + +The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|| +|**dataSource**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecdatasource)|data source|| +|**dataSourceRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref)|data source ref|| +|**resources**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0ephemeralvolumeclaimtemplatespecresources)|resources|| +|**selector**|any|selector|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|| +|**volumeMode**|str|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|| +|**volumeName**|str|volumeName is the binding reference to the PersistentVolume backing this claim.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + +dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + +dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +|**namespace**|str|Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources + +resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc + +fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**lun**|int|lun is Optional: FC target lun number|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**targetWWNs**|[str]|targetWWNs is Optional: FC target worldwide names (WWNs)|| +|**wwids**|[str]|wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume + +flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the driver to use for this volume.|| +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.|| +|**options**|{str:str}|options is Optional: this field holds extra command options if any.|| +|**readOnly**|bool|readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0flexvolumesecretref)|secret ref|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef + +secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker + +flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datasetName**|str|datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated|| +|**datasetUUID**|str|datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk + +gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**pdName** `required`|str|pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo + +gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**directory**|str|directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.|| +|**repository** `required`|str|repository is the URL|| +|**revision**|str|revision is the commit hash for the specified revision.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs + +glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**endpoints** `required`|str|endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**path** `required`|str|path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**readOnly**|bool|readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath + +hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|| +|**type**|str||| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi + +iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**chapAuthDiscovery**|bool|chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication|| +|**chapAuthSession**|bool|chapAuthSession defines whether support iSCSI Session CHAP authentication|| +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**initiatorName**|str|initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.|| +|**iqn** `required`|str|iqn is the target iSCSI Qualified Name.|| +|**iscsiInterface**|str|iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).|| +|**lun** `required`|int|lun represents iSCSI Target Lun number.|| +|**portals**|[str]|portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0iscsisecretref)|secret ref|| +|**targetPortal** `required`|str|targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef + +secretRef is the CHAP Secret for iSCSI target and initiator authentication + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs + +nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**readOnly**|bool|readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**server** `required`|str|server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim + +persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claimName** `required`|str|claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|| +|**readOnly**|bool|readOnly Will force the ReadOnly setting in VolumeMounts. Default false.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk + +photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**pdID** `required`|str|pdID is the ID that identifies Photon Controller persistent disk|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume + +portworxVolume represents a portworx volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**volumeID** `required`|str|volumeID uniquely identifies a Portworx volume|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected + +projected items for all in one resources secrets, configmaps, and downward API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**sources**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0)]|sources is the list of volume projections|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0 + +Projection that may be projected along with other supported volume types + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMap**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0configmap)|config map|| +|**downwardAPI**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapi)|downward API|| +|**secret**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0secret)|secret|| +|**serviceAccountToken**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0serviceaccounttoken)|service account token|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap + +configMap information about the configMap data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI + +downwardAPI information about the downwardAPI data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0)]|Items is a list of DownwardAPIVolume file|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret + +secret information about the secret data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0projectedsourcesitems0secretitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional field specify whether the Secret or its key must be defined|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken + +serviceAccountToken is information about the serviceAccountToken data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**audience**|str|audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.|| +|**expirationSeconds**|int|expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.|| +|**path** `required`|str|path is the path relative to the mount point of the file to project the token into.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte + +quobyte represents a Quobyte mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**group**|str|group to map volume access to Default is no group|| +|**readOnly**|bool|readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.|| +|**registry** `required`|str|registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes|| +|**tenant**|str|tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin|| +|**user**|str|user to map volume access to Defaults to serivceaccount user|| +|**volume** `required`|str|volume is a string that references an already created Quobyte volume by name.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd + +rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**image** `required`|str|image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**keyring**|str|keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**monitors** `required`|[str]|monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**pool**|str|pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0rbdsecretref)|secret ref|| +|**user**|str|user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef + +secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO + +scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".|| +|**gateway** `required`|str|gateway is the host address of the ScaleIO API Gateway.|| +|**protectionDomain**|str|protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef** `required`|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0scaleiosecretref)|secret ref|| +|**sslEnabled**|bool|sslEnabled Flag enable/disable SSL communication with Gateway, default false|| +|**storageMode**|str|storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.|| +|**storagePool**|str|storagePool is the ScaleIO Storage Pool associated with the protection domain.|| +|**system** `required`|str|system is the name of the storage system as configured in ScaleIO.|| +|**volumeName**|str|volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef + +secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret + +secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0secretitemsitems0)]|items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**optional**|bool|optional field specify whether the Secret or its keys must be defined|| +|**secretName**|str|secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos + +storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef](#dataprotectionkubeblocksiov1alpha1restorejobspectargetvolumesitems0storageossecretref)|secret ref|| +|**volumeName**|str|volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.|| +|**volumeNamespace**|str|volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef + +secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume + +vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**storagePolicyID**|str|storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.|| +|**storagePolicyName**|str|storagePolicyName is the storage Policy Based Management (SPBM) profile name.|| +|**volumePath** `required`|str|volumePath is the path that identifies vSphere volume vmdk|| +### DataprotectionKubeblocksIoV1alpha1RestoreJobStatus + +RestoreJobStatus defines the observed state of RestoreJob + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**completionTimestamp**|str|Date/time when the backup finished being processed.|| +|**expiration**|str|The date and time when the Backup is eligible for garbage collection. 'null' means the Backup is NOT be cleaned except delete manual.|| +|**failureReason**|str|Job failed reason.|| +|**phase**|"New" | "InProgressPhy" | "InProgressLogic" | "Completed" | "Failed"|RestoreJobPhase The current phase. Valid values are New, InProgressPhy, InProgressLogic, Completed, Failed.|| +|**startTimestamp**|str|Date/time when the backup started being processed.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpec + +AddonSpec defines the desired state of an add-on. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cliPlugins**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0](#extensionskubeblocksiov1alpha1addonspecclipluginsitems0)]|Plugin installation spec.|| +|**defaultInstallValues** `required`|[[ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0)]|Default installation parameters.|| +|**description**|str|Addon description.|| +|**helm**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelm](#extensionskubeblocksiov1alpha1addonspechelm)|helm|| +|**install**|[ExtensionsKubeblocksIoV1alpha1AddonSpecInstall](#extensionskubeblocksiov1alpha1addonspecinstall)|install|| +|**installable**|any|installable|| +|**type** `required` `readOnly`|"Helm"||"Helm"| +### ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0 + +extensions kubeblocks io v1alpha1 addon spec cli plugins items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**description**|str|The description of the plugin.|| +|**indexRepository** `required`|str|The index repository of the plugin.|| +|**name** `required`|str|Name of the plugin.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0 + +extensions kubeblocks io v1alpha1 addon spec default install values items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**enabled**|bool|enabled can be set if there are no specific installation attributes to be set.|| +|**extras**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0extrasitems0)]|Installs spec. for extra items.|| +|**persistentVolumeEnabled**|bool|Persistent Volume Enabled value.|| +|**replicas**|int|Replicas value.|| +|**resources**|any|resources|| +|**selectors**|[]|Addon installs parameters selectors by default. If multiple selectors are provided, all selectors must evaluate to true.|| +|**storageClass**|str|Storage class name.|| +|**tolerations**|str|Tolerations JSON array string value.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0 + +extensions kubeblocks io v1alpha1 addon spec default install values items0 extras items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the item.|| +|**persistentVolumeEnabled**|bool|Persistent Volume Enabled value.|| +|**replicas**|int|Replicas value.|| +|**resources**|[ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspecdefaultinstallvaluesitems0extrasitems0resources)|resources|| +|**storageClass**|str|Storage class name.|| +|**tolerations**|str|Tolerations JSON array string value.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources + +Resource requirements. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelm + +Helm installation spec. It's processed only when type=helm. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**chartLocationURL** `required`|str|A Helm Chart location URL.|| +|**chartsImage**|str|chartsImage defines the image of Helm charts.|| +|**chartsPathInImage**|str|chartsPathInImage defines the path of Helm charts in the image. It's used to copy Helm charts from the image to the shared volume.|| +|**installOptions**|{str:str}|installOptions defines Helm release installation options.|| +|**installValues**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues](#extensionskubeblocksiov1alpha1addonspechelminstallvalues)|install values|| +|**valuesMapping**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping](#extensionskubeblocksiov1alpha1addonspechelmvaluesmapping)|values mapping|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues + +HelmInstallValues defines Helm release installation set values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRefs**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0](#extensionskubeblocksiov1alpha1addonspechelminstallvaluesconfigmaprefsitems0)]|Selects a key of a ConfigMap item list. The value of ConfigMap can be a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml" extension name to specify a content type.|| +|**secretRefs**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0](#extensionskubeblocksiov1alpha1addonspechelminstallvaluessecretrefsitems0)]|Selects a key of a Secrets item list. The value of Secrets can be a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml" extension name to specify a content type.|| +|**setJSONValues**|[str]|Helm install set JSON values. It can specify multiple or separate values with commas(key1=jsonval1,key2=jsonval2).|| +|**setValues**|[str]|Helm install set values. It can specify multiple or separate values with commas(key1=val1,key2=val2).|| +|**urls**|[str]|urls|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0 + +extensions kubeblocks io v1alpha1 addon spec helm install values config map refs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name** `required`|str|Object name of the referent.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0 + +extensions kubeblocks io v1alpha1 addon spec helm install values secret refs items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name** `required`|str|Object name of the referent.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping + +valuesMapping defines add-on normalized resources parameters mapped to Helm values' keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**extras**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0)]|Helm value mapping items for extra items.|| +|**jsonMap**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingjsonmap)|json map|| +|**resources**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresources)|resources|| +|**valueMap**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingvaluemap)|value map|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0 + +extensions kubeblocks io v1alpha1 addon spec helm values mapping extras items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**jsonMap**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0jsonmap)|json map|| +|**name** `required`|str|Name of the item.|| +|**resources**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resources)|resources|| +|**valueMap**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0valuemap)|value map|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap + +jsonMap defines the "key" mapping values. The valid key is tolerations. Enum values explained: `"tolerations"` sets the toleration mapping key. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**tolerations**|str|tolerations sets the toleration mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources + +resources sets resources related mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cpu**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resourcescpu)|cpu|| +|**memory**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingextrasitems0resourcesmemory)|memory|| +|**storage**|str|storage sets the storage size value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU + +cpu sets CPU requests and limits mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|str|Limits value mapping key.|| +|**requests**|str|Requests value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory + +memory sets Memory requests and limits mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|str|Limits value mapping key.|| +|**requests**|str|Requests value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap + +valueMap define the "key" mapping values. Valid keys are replicaCount, persistentVolumeEnabled, and storageClass. Enum values explained: `"replicaCount"` sets the replicaCount value mapping key. `"persistentVolumeEnabled"` sets the persistent volume enabled mapping key. `"storageClass"` sets the storageClass mapping key. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**persistentVolumeEnabled**|str|persistentVolumeEnabled sets the persistent volume enabled mapping key.|| +|**replicaCount**|str|replicaCount sets the replicaCount value mapping key.|| +|**storageClass**|str|storageClass sets the storageClass mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap + +jsonMap defines the "key" mapping values. The valid key is tolerations. Enum values explained: `"tolerations"` sets the toleration mapping key. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**tolerations**|str|tolerations sets the toleration mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources + +resources sets resources related mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cpu**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresourcescpu)|cpu|| +|**memory**|[ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory](#extensionskubeblocksiov1alpha1addonspechelmvaluesmappingresourcesmemory)|memory|| +|**storage**|str|storage sets the storage size value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU + +cpu sets CPU requests and limits mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|str|Limits value mapping key.|| +|**requests**|str|Requests value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory + +memory sets Memory requests and limits mapping keys. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|str|Limits value mapping key.|| +|**requests**|str|Requests value mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap + +valueMap define the "key" mapping values. Valid keys are replicaCount, persistentVolumeEnabled, and storageClass. Enum values explained: `"replicaCount"` sets the replicaCount value mapping key. `"persistentVolumeEnabled"` sets the persistent volume enabled mapping key. `"storageClass"` sets the storageClass mapping key. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**persistentVolumeEnabled**|str|persistentVolumeEnabled sets the persistent volume enabled mapping key.|| +|**replicaCount**|str|replicaCount sets the replicaCount value mapping key.|| +|**storageClass**|str|storageClass sets the storageClass mapping key.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecInstall + +Installation parameters. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**enabled**|bool|enabled can be set if there are no specific installation attributes to be set.|| +|**extras**|[[ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0](#extensionskubeblocksiov1alpha1addonspecinstallextrasitems0)]|Installs spec. for extra items.|| +|**persistentVolumeEnabled**|bool|Persistent Volume Enabled value.|| +|**replicas**|int|Replicas value.|| +|**resources**|any|resources|| +|**storageClass**|str|Storage class name.|| +|**tolerations**|str|Tolerations JSON array string value.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0 + +extensions kubeblocks io v1alpha1 addon spec install extras items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the item.|| +|**persistentVolumeEnabled**|bool|Persistent Volume Enabled value.|| +|**replicas**|int|Replicas value.|| +|**resources**|[ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources](#extensionskubeblocksiov1alpha1addonspecinstallextrasitems0resources)|resources|| +|**storageClass**|str|Storage class name.|| +|**tolerations**|str|Tolerations JSON array string value.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources + +Resource requirements. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.|| +### ExtensionsKubeblocksIoV1alpha1AddonSpecInstallableSelectorsItems0 + +extensions kubeblocks io v1alpha1 addon spec installable selectors items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|"KubeGitVersion" | "KubeVersion"|The selector key. Valid values are KubeVersion, KubeGitVersion. "KubeVersion" the semver expression of Kubernetes versions, i.e., v1.24. "KubeGitVersion" may contain distro. info., i.e., v1.24.4+eks.|| +|**operator** `required`|"Contains" | "DoesNotContain" | "MatchRegex" | "DoesNotMatchRegex"|Represents a key's relationship to a set of values. Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex.
Possible enum values: `"Contains"` line contains a string. `"DoesNotContain"` line does not contain a string. `"MatchRegex"` line contains a match to the regular expression. `"DoesNotMatchRegex"` line does not contain a match to the regular expression.|| +|**values**|[str]|An array of string values. It serves as an "OR" expression to the operator.|| +### ExtensionsKubeblocksIoV1alpha1AddonStatus + +AddonStatus defines the observed state of an add-on. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0](#extensionskubeblocksiov1alpha1addonstatusconditionsitems0)]|Describes the current state of add-on API installation conditions.|| +|**observedGeneration**|int|observedGeneration is the most recent generation observed for this add-on. It corresponds to the add-on's generation, which is updated on mutation by the API Server.|| +|**phase**|"Disabled" | "Enabled" | "Failed" | "Enabling" | "Disabling"|Add-on installation phases. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.|| +### ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0 + +Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.|| +|**message** `required`|str|message is a human readable message indicating details about the transition. This may be an empty string.|| +|**observedGeneration**|int|observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.|| +|**reason** `required`|str|reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### OpsRequest + +OpsRequest is the Schema for the opsrequests API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"apps.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"apps.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"OpsRequest"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"OpsRequest"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[AppsKubeblocksIoV1alpha1OpsRequestSpec](#appskubeblocksiov1alpha1opsrequestspec)|spec|| +|**status**|[AppsKubeblocksIoV1alpha1OpsRequestStatus](#appskubeblocksiov1alpha1opsrequeststatus)|status|| +### ReplicatedStateMachine + +ReplicatedStateMachine is the Schema for the replicatedstatemachines API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"workloads.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"workloads.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"ReplicatedStateMachine"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ReplicatedStateMachine"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespec)|spec|| +|**status**|any|status|| +### RestoreJob + +RestoreJob is the Schema for the restorejobs API (defined by User) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"dataprotection.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"dataprotection.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"RestoreJob"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"RestoreJob"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[DataprotectionKubeblocksIoV1alpha1RestoreJobSpec](#dataprotectionkubeblocksiov1alpha1restorejobspec)|spec|| +|**status**|[DataprotectionKubeblocksIoV1alpha1RestoreJobStatus](#dataprotectionkubeblocksiov1alpha1restorejobstatus)|status|| +### StorageKubeblocksIoV1alpha1StorageProviderSpec + +StorageProviderSpec defines the desired state of StorageProvider + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**csiDriverName**|str|The name of the CSI driver used by this StorageProvider.|| +|**csiDriverSecretTemplate**|str|A Go template for rendering a secret which will be used by the CSI driver. The template will be rendered with the following variables: - Parameters: a map of parameters defined in the ParametersSchema.|| +|**parametersSchema**|[StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema](#storagekubeblocksiov1alpha1storageproviderspecparametersschema)|parameters schema|| +|**storageClassTemplate**|str|A Go template for rendering a storage class which will be used by the CSI driver. The template will be rendered with the following variables: - Parameters: a map of parameters defined in the ParametersSchema. - CSIDriverSecretRef: the reference of the secret created by the CSIDriverSecretTemplate.|| +### StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema + +The schema describes the parameters required by this StorageProvider, when rendering the templates. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**credentialFields**|[str]|credentialFields are the fields used to generate the secret.|| +|**openAPIV3Schema**|any|openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning.|| +### StorageKubeblocksIoV1alpha1StorageProviderStatus + +StorageProviderStatus defines the observed state of StorageProvider + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditions**|[[StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0](#storagekubeblocksiov1alpha1storageproviderstatusconditionsitems0)]|Describes the current state of the storage provider.|| +|**phase**|"NotReady" | "Ready"|Storage provider reconciliation phases. Valid values are NotReady, Ready.|| +### StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0 + +Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields } + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime** `required`|str|lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.|| +|**message** `required`|str|message is a human readable message indicating details about the transition. This may be an empty string.|| +|**observedGeneration**|int|observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.|| +|**reason** `required`|str|reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.|| +|**status** `required`|"True" | "False" | "Unknown"|status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### StorageProvider + +StorageProvider is the Schema for the storageproviders API StorageProvider describes how to provision PVCs for a specific storage system (e.g. S3, NFS, etc), by using the CSI driver. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion** `required` `readOnly`|"storage.kubeblocks.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"storage.kubeblocks.io/v1alpha1"| +|**kind** `required` `readOnly`|"StorageProvider"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"StorageProvider"| +|**metadata**|[ObjectMeta](#objectmeta)|metadata|| +|**spec**|[StorageKubeblocksIoV1alpha1StorageProviderSpec](#storagekubeblocksiov1alpha1storageproviderspec)|spec|| +|**status**|[StorageKubeblocksIoV1alpha1StorageProviderStatus](#storagekubeblocksiov1alpha1storageproviderstatus)|status|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec + +ReplicatedStateMachineSpec defines the desired state of ReplicatedStateMachine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**credential**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredential)|credential|| +|**membershipReconfiguration**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfiguration)|membership reconfiguration|| +|**replicas**|int|Replicas defines number of Pods|1| +|**roleObservation** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation](#workloadskubeblocksiov1alpha1replicatedstatemachinespecroleobservation)|role observation|| +|**roles** `required`|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecrolesitems0)]|Roles, a list of roles defined in the system.|| +|**service** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservice)|service|| +|**template** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplate)|template|| +|**updateStrategy**|"Serial" | "BestEffortParallel" | "Parallel"|UpdateStrategy, Pods update strategy. serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel|"Serial"| +|**volumeClaimTemplates**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0)]|volumeClaimTemplates is a list of claims that pods are allowed to reference. The ReplicatedStateMachine controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential + +Credential used to connect to DB engine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**password** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpassword)|password|| +|**username** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusername)|username|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword + +Password variable name will be KB_RSM_PASSWORD + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefrom)|value from|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromfieldref)|field ref|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialpasswordvaluefromsecretkeyref)|secret key ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername + +Username variable name will be KB_RSM_USERNAME + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefrom)|value from|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromfieldref)|field ref|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespeccredentialusernamevaluefromsecretkeyref)|secret key ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration + +MembershipReconfiguration provides actions to do membership dynamic reconfiguration. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**logSyncAction**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationlogsyncaction)|log sync action|| +|**memberJoinAction**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationmemberjoinaction)|member join action|| +|**memberLeaveAction**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationmemberleaveaction)|member leave action|| +|**promoteAction**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationpromoteaction)|promote action|| +|**switchoverAction**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction](#workloadskubeblocksiov1alpha1replicatedstatemachinespecmembershipreconfigurationswitchoveraction)|switchover action|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction + +LogSyncAction specifies how to trigger the new member to start log syncing previous none-nil action's Image wil be used if not configured + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction + +MemberJoinAction specifies how to add member previous none-nil action's Image wil be used if not configured + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction + +MemberLeaveAction specifies how to remove member previous none-nil action's Image wil be used if not configured + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction + +PromoteAction specifies how to tell the cluster that the new member can join voting now previous none-nil action's Image wil be used if not configured + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction + +SwitchoverAction specifies how to do switchover latest [BusyBox](https://busybox.net/) image will be used if Image not configured + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation + +RoleObservation provides method to observe role. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**failureThreshold**|int|Minimum consecutive failures for the observation to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|3| +|**initialDelaySeconds**|int|Number of seconds after the container has started before role observation has started.|0| +|**observationActions** `required`|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecroleobservationobservationactionsitems0)]|ObservationActions define Actions to be taken in serial. after all actions done, the final output should be a single string of the role name defined in spec.Roles latest [BusyBox](https://busybox.net/) image will be used if Image not configured Environment variables can be used in Command: - v_KB_RSM_LAST_STDOUT stdout from last action, watch 'v_' prefixed - KB_RSM_USERNAME username part of credential - KB_RSM_PASSWORD password part of credential|| +|**periodSeconds**|int|How often (in seconds) to perform the observation. Default to 2 seconds. Minimum value is 1.|2| +|**successThreshold**|int|Minimum consecutive successes for the observation to be considered successful after having failed. Minimum consecutive successes for the observation to be considered successful after having failed. Defaults to 1. Minimum value is 1.|1| +|**timeoutSeconds**|int|Number of seconds after which the observation times out. Defaults to 1 second. Minimum value is 1.|1| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0 + +workloads kubeblocks io v1alpha1 replicated state machine spec role observation observation actions items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command** `required`|[str]|Command will be executed in Container to retrieve or process role info|| +|**image**|str|utility image contains command that can be used to retrieve of process role info|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0 + +workloads kubeblocks io v1alpha1 replicated state machine spec roles items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|AccessMode, what service this member capable.|"ReadWrite"| +|**canVote**|bool|CanVote, whether this member has voting rights|True| +|**isLeader**|bool|IsLeader, whether this member is the leader|False| +|**name** `required`|str|Name, role name.|"leader"| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService + +service defines the behavior of a service spec. provides read-write service https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**allocateLoadBalancerNodePorts**|bool|allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is "true". It may be set to "false" if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type.|| +|**clusterIP**|str|clusterIP is the IP address of the service and is usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be blank) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are "None", empty string (""), or a valid IP address. Setting this to "None" makes a "headless service" (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies|| +|**clusterIPs**|[str]|ClusterIPs is a list of IP addresses assigned to this service, and are usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be empty) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are "None", empty string (""), or a valid IP address. Setting this to "None" makes a "headless service" (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. If this field is not specified, it will be initialized from the clusterIP field. If this field is specified, clients must ensure that clusterIPs[0] and clusterIP have the same value.
This field may hold a maximum of two entries (dual-stack IPs, in either order). These IPs must correspond to the values of the ipFamilies field. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies|| +|**externalIPs**|[str]|externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.|| +|**externalName**|str|externalName is the external reference that discovery mechanisms will return as an alias for this service (e.g. a DNS CNAME record). No proxying will be involved. Must be a lowercase RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".|| +|**externalTrafficPolicy**|str|externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, "Cluster", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get "Cluster" semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node.|| +|**healthCheckNodePort**|int|healthCheckNodePort specifies the healthcheck nodePort for the service. This only applies when type is set to LoadBalancer and externalTrafficPolicy is set to Local. If a value is specified, is in-range, and is not in use, it will be used. If not specified, a value will be automatically allocated. External systems (e.g. load-balancers) can use this port to determine if a given node holds endpoints for this service or not. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type). This field cannot be updated once set.|| +|**internalTrafficPolicy**|str|InternalTrafficPolicy describes how nodes distribute service traffic they receive on the ClusterIP. If set to "Local", the proxy will assume that pods only want to talk to endpoints of the service on the same node as the pod, dropping the traffic if there are no local endpoints. The default value, "Cluster", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features).|| +|**ipFamilies**|[str]|IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service. This field is usually assigned automatically based on cluster configuration and the ipFamilyPolicy field. If this field is specified manually, the requested family is available in the cluster, and ipFamilyPolicy allows it, it will be used; otherwise creation of the service will fail. This field is conditionally mutable: it allows for adding or removing a secondary IP family, but it does not allow changing the primary IP family of the Service. Valid values are "IPv4" and "IPv6". This field only applies to Services of types ClusterIP, NodePort, and LoadBalancer, and does apply to "headless" services. This field will be wiped when updating a Service to type ExternalName.
This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.|| +|**ipFamilyPolicy**|str|IPFamilyPolicy represents the dual-stack-ness requested or required by this Service. If there is no value provided, then this field will be set to SingleStack. Services can be "SingleStack" (a single IP family), "PreferDualStack" (two IP families on dual-stack configured clusters or a single IP family on single-stack clusters), or "RequireDualStack" (two IP families on dual-stack configured clusters, otherwise fail). The ipFamilies and clusterIPs fields depend on the value of this field. This field will be wiped when updating a service to type ExternalName.|| +|**loadBalancerClass**|str|loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.|| +|**loadBalancerIP**|str|Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. Deprecated: This field was under-specified and its meaning varies across implementations, and it cannot support dual-stack. As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available. This field may be removed in a future API version.|| +|**loadBalancerSourceRanges**|[str]|If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/|| +|**ports**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespecserviceportsitems0)]|The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies|| +|**publishNotReadyAddresses**|bool|publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet's Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered "ready" even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior.|| +|**selector**|{str:str}|Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/|| +|**sessionAffinity**|str|Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies|| +|**sessionAffinityConfig**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservicesessionaffinityconfig)|session affinity config|| +|**type**|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0 + +ServicePort contains information on service's port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**appProtocol**|str|The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.|| +|**name**|str|The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service.|| +|**nodePort**|int|The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport|| +|**port** `required`|int|The port that will be exposed by this service.|| +|**protocol**|str||"TCP"| +|**targetPort**|int | str|Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig + +sessionAffinityConfig contains the configurations of session affinity. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**clientIP**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP](#workloadskubeblocksiov1alpha1replicatedstatemachinespecservicesessionaffinityconfigclientip)|client IP|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP + +clientIP contains the configurations of Client IP based session affinity. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**timeoutSeconds**|int|timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP". Default value is 10800(for 3 hours).|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate + +PodTemplateSpec describes the data a pod should have when created from a template + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**metadata**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatemetadata)|metadata|| +|**spec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespec)|spec|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata + +Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|annotations|| +|**finalizers**|[str]|finalizers|| +|**labels**|{str:str}|labels|| +|**name**|str|name|| +|**namespace**|str|namespace|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec + +Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**activeDeadlineSeconds**|int|Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.|| +|**affinity**|any|affinity|| +|**automountServiceAccountToken**|bool|AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.|| +|**containers** `required`|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0)]|List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.|| +|**dnsConfig**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecdnsconfig)|dns config|| +|**dnsPolicy**|str|Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.|| +|**enableServiceLinks**|bool|EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.|| +|**ephemeralContainers**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0)]|List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.|| +|**hostAliases**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespechostaliasesitems0)]|HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.|| +|**hostIPC**|bool|Use the host's ipc namespace. Optional: Default to false.|| +|**hostNetwork**|bool|Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.|| +|**hostPID**|bool|Use the host's pid namespace. Optional: Default to false.|| +|**hostUsers**|bool|Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.|| +|**hostname**|str|Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.|| +|**imagePullSecrets**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecimagepullsecretsitems0)]|ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod|| +|**initContainers**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0)]|List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/|| +|**nodeName**|str|NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.|| +|**nodeSelector**|{str:str}|NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/|| +|**os**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecos)|os|| +|**overhead**|{str:int | str}|Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md|| +|**preemptionPolicy**|str|PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.|| +|**priority**|int|The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.|| +|**priorityClassName**|str|If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.|| +|**readinessGates**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecreadinessgatesitems0)]|If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates|| +|**resourceClaims**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecresourceclaimsitems0)]|ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**restartPolicy**|str|Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy|| +|**runtimeClassName**|str|RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class|| +|**schedulerName**|str|If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.|| +|**schedulingGates**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecschedulinggatesitems0)]|SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness.
This is an alpha-level feature enabled by PodSchedulingReadiness feature gate.|| +|**securityContext**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontext)|security context|| +|**serviceAccount**|str|DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.|| +|**serviceAccountName**|str|ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/|| +|**setHostnameAsFQDN**|bool|If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.|| +|**shareProcessNamespace**|bool|Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.|| +|**subdomain**|str|If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a domainname at all.|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.|| +|**tolerations**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectolerationsitems0)]|If specified, the pod's tolerations.|| +|**topologySpreadConstraints**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0)]|TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.|| +|**volumes**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0)]|List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preference** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preference)|preference|| +|**weight** `required`|int|Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference + +A node selector term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchexpressionsitems0)]|A list of node selector requirements by node's labels.|| +|**matchFields**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinitypreferredduringschedulingignoredduringexecutionitems0preferencematchfieldsitems0)]|A list of node selector requirements by node's fields.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution + +If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nodeSelectorTerms** `required`|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0)]|Required. A list of node selector terms. The terms are ORed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0 + +A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchexpressionsitems0)]|A list of node selector requirements by node's labels.|| +|**matchFields**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitynodeaffinityrequiredduringschedulingignoredduringexecutionnodeselectortermsitems0matchfieldsitems0)]|A list of node selector requirements by node's fields.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0 + +A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The label key that the selector applies to.|| +|**operator** `required`|str|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|| +|**values**|[str]|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinity + +Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preferredDuringSchedulingIgnoredDuringExecution**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0)]|The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.|| +|**requiredDuringSchedulingIgnoredDuringExecution**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0)]|If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**podAffinityTerm** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm)|pod affinity term|| +|**weight** `required`|int|weight associated with matching the corresponding podAffinityTerm, in the range 1-100.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + +Required. A pod affinity term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector)|label selector|| +|**namespaceSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0 + +Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector)|label selector|| +|**namespaceSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinity + +Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**preferredDuringSchedulingIgnoredDuringExecution**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0)]|The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.|| +|**requiredDuringSchedulingIgnoredDuringExecution**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0)]|If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0 + +The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**podAffinityTerm** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinityterm)|pod affinity term|| +|**weight** `required`|int|weight associated with matching the corresponding podAffinityTerm, in the range 1-100.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + +Required. A pod affinity term, associated with the corresponding weight. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselector)|label selector|| +|**namespaceSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermlabelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinitypreferredduringschedulingignoredduringexecutionitems0podaffinitytermnamespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0 + +Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselector)|label selector|| +|**namespaceSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselector)|namespace selector|| +|**namespaces**|[str]|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|| +|**topologyKey** `required`|str|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + +A label query over a set of resources, in this case pods. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + +A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecaffinitypodantiaffinityrequiredduringschedulingignoredduringexecutionitems0namespaceselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobe)|readiness probe|| +|**resources**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envfromitems0secretref)|secret ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefrom)|value from|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestop)|pre stop|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespeccontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig + +Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**nameservers**|[str]|A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.|| +|**options**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecdnsconfigoptionsitems0)]|A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.|| +|**searches**|[str]|A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0 + +PodDNSConfigOption defines DNS resolver options of a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Required.|| +|**value**|str|value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0 + +An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation. To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers.|| +|**ports**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0portsitems0)]|Ports are not allowed for ephemeral containers.|| +|**readinessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**targetContainerName**|str|If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container uses the namespaces configured in the Pod spec.
The container runtime must implement support for this feature. If the runtime does not support namespace targeting then the result of setting this field is undefined.|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envfromitems0secretref)|secret ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefrom)|value from|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle + +Lifecycle is not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestop)|pre stop|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources + +Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe + +Probes are not allowed for ephemeral containers. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecephemeralcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0 + +HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**hostnames**|[str]|Hostnames for the above IP address.|| +|**ip**|str|IP address of the host file entry.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0 + +LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0 + +A single application container that you want to run within a pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**args**|[str]|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**command**|[str]|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|| +|**env**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0)]|List of environment variables to set in the container. Cannot be updated.|| +|**envFrom**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0)]|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|| +|**image**|str|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|| +|**imagePullPolicy**|str|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|| +|**lifecycle**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycle)|lifecycle|| +|**livenessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobe)|liveness probe|| +|**name** `required`|str|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|| +|**ports**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0portsitems0)]|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|| +|**readinessProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobe)|readiness probe|| +|**resources**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0resources)|resources|| +|**securityContext**|any|security context|| +|**startupProbe**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobe)|startup probe|| +|**stdin**|bool|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|| +|**stdinOnce**|bool|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|| +|**terminationMessagePath**|str|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|| +|**terminationMessagePolicy**|str|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|| +|**tty**|bool|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|| +|**volumeDevices**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0volumedevicesitems0)]|volumeDevices is the list of block devices to be used by the container.|| +|**volumeMounts**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0volumemountsitems0)]|Pod volumes to mount into the container's filesystem. Cannot be updated.|| +|**workingDir**|str|Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0 + +EnvFromSource represents the source of a set of ConfigMaps + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0configmapref)|config map ref|| +|**prefix**|str|An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envfromitems0secretref)|secret ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef + +The ConfigMap to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef + +The Secret to select from + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0 + +EnvVar represents an environment variable present in a Container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the environment variable. Must be a C_IDENTIFIER.|| +|**value**|str|Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".|| +|**valueFrom**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefrom)|value from|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom + +Source for the environment variable's value. Cannot be used if value is not empty. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMapKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromconfigmapkeyref)|config map key ref|| +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromfieldref)|field ref|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromresourcefieldref)|resource field ref|| +|**secretKeyRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0envitems0valuefromsecretkeyref)|secret key ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + +Selects a key of a ConfigMap. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key to select.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the ConfigMap or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef + +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef + +Selects a key of a secret in the pod's namespace + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|The key of the secret to select from. Must be a valid secret key.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|Specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle + +Actions that the management system should take in response to container lifecycle events. Cannot be updated. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**postStart**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststart)|post start|| +|**preStop**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestop)|pre stop|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart + +PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststartexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarthttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarttcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecyclepoststarthttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop + +PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestopexec)|exec|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestophttpget)|http get|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestoptcpsocket)|tcp socket|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0lifecycleprestophttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket + +Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe + +Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0livenessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0 + +ContainerPort represents a network port in a single container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerPort** `required`|int|Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.|| +|**hostIP**|str|What host IP to bind the external port to.|| +|**hostPort**|int|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|| +|**name**|str|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|| +|**protocol**|str||"TCP"| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe + +Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0readinessprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources + +Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextCapabilities + +The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**add**|[str]|Added capabilities|| +|**drop**|[str]|Removed capabilities|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeLinuxOptions + +The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeccompProfile + +The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe + +StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**exec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobeexec)|exec|| +|**failureThreshold**|int|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|| +|**grpc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobegrpc)|grpc|| +|**httpGet**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobehttpget)|http get|| +|**initialDelaySeconds**|int|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +|**periodSeconds**|int|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|| +|**successThreshold**|int|Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.|| +|**tcpSocket**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobetcpsocket)|tcp socket|| +|**terminationGracePeriodSeconds**|int|Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.|| +|**timeoutSeconds**|int|Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec + +Exec specifies the action to take. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**command**|[str]|Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('\|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc + +GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**port** `required`|int|Port number of the gRPC service. Number must be in the range 1 to 65535.|| +|**service**|str|Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
If this is not specified, the default behavior is defined by gRPC.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet + +HTTPGet specifies the http request to perform. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.|| +|**httpHeaders**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecinitcontainersitems0startupprobehttpgethttpheadersitems0)]|Custom headers to set in the request. HTTP allows repeated headers.|| +|**path**|str|Path to access on the HTTP server.|| +|**port** `required`|int | str|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +|**scheme**|str|Scheme to use for connecting to the host. Defaults to HTTP.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0 + +HTTPHeader describes a custom header to be used in HTTP probes + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|The header field name|| +|**value** `required`|str|The header field value|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket + +TCPSocket specifies an action involving a TCP port. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**host**|str|Optional: Host name to connect to, defaults to the pod IP.|| +|**port** `required`|int | str|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0 + +volumeDevice describes a mapping of a raw block device within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**devicePath** `required`|str|devicePath is the path inside of the container that the device will be mapped to.|| +|**name** `required`|str|name must match the name of a persistentVolumeClaim in the pod|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0 + +VolumeMount describes a mounting of a Volume within a container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**mountPath** `required`|str|Path within the container at which the volume should be mounted. Must not contain ':'.|| +|**mountPropagation**|str|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|| +|**name** `required`|str|This must match the Name of a Volume.|| +|**readOnly**|bool|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|| +|**subPath**|str|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|| +|**subPathExpr**|str|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs + +Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set. If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name is the name of the operating system. The currently supported values are linux and windows. Additional value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration Clients should expect to handle additional values and treat unrecognized values in this field as os: null|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0 + +PodReadinessGate contains the reference to a pod condition + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**conditionType** `required`|str|ConditionType refers to a condition in the pod's condition list with matching type.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0 + +PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.|| +|**source**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecresourceclaimsitems0source)|source|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source + +Source describes where to find the ResourceClaim. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**resourceClaimName**|str|ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.|| +|**resourceClaimTemplateName**|str|ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be -, where is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0 + +PodSchedulingGate is associated to a Pod to guard its scheduling. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of the scheduling gate. Each scheduling gate must have a unique name field.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext + +SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsGroup**|int|A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.|| +|**fsGroupChangePolicy**|str|fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows.|| +|**runAsGroup**|int|The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|| +|**runAsNonRoot**|bool|Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +|**runAsUser**|int|The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|| +|**seLinuxOptions**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextselinuxoptions)|se linux options|| +|**seccompProfile**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextseccompprofile)|seccomp profile|| +|**supplementalGroups**|[int]|A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.|| +|**sysctls**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextsysctlsitems0)]|Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.|| +|**windowsOptions**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecsecuritycontextwindowsoptions)|windows options|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions + +The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**level**|str|Level is SELinux level label that applies to the container.|| +|**role**|str|Role is a SELinux role label that applies to the container.|| +|**type**|str||| +|**user**|str|User is a SELinux user label that applies to the container.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile + +The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**localhostProfile**|str|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|| +|**type** `required`|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0 + +Sysctl defines a kernel parameter to be set + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name** `required`|str|Name of a property to set|| +|**value** `required`|str|Value of a property to set|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions + +The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**gmsaCredentialSpec**|str|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|| +|**gmsaCredentialSpecName**|str|GMSACredentialSpecName is the name of the GMSA credential spec to use.|| +|**hostProcess**|bool|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|| +|**runAsUserName**|str|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0 + +The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**effect**|str|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.|| +|**key**|str|Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.|| +|**operator**|str|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.|| +|**tolerationSeconds**|int|TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.|| +|**value**|str|Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0 + +TopologySpreadConstraint specifies how to spread matching pods among the given topology. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**labelSelector**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0labelselector)|label selector|| +|**matchLabelKeys**|[str]|MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector.|| +|**maxSkew** `required`|int|MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. \| zone1 \| zone2 \| zone3 \| \| P P \| P P \| P \| - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed.|| +|**minDomains**|int|MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: \| zone1 \| zone2 \| zone3 \| \| P P \| P P \| P P \| The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew.
This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default).|| +|**nodeAffinityPolicy**|str|NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.|| +|**nodeTaintsPolicy**|str|NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included.
If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.|| +|**topologyKey** `required`|str|TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field.|| +|**whenUnsatisfiable** `required`|str|WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: \| zone1 \| zone2 \| zone3 \| \| P P P \| P \| P \| If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector + +LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**matchExpressions**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespectopologyspreadconstraintsitems0labelselectormatchexpressionsitems0)]|matchExpressions is a list of label selector requirements. The requirements are ANDed.|| +|**matchLabels**|{str:str}|matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0 + +Volume represents a named volume in a pod that may be accessed by any container in the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**awsElasticBlockStore**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0awselasticblockstore)|aws elastic block store|| +|**azureDisk**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0azuredisk)|azure disk|| +|**azureFile**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0azurefile)|azure file|| +|**cephfs**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cephfs)|cephfs|| +|**cinder**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cinder)|cinder|| +|**configMap**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0configmap)|config map|| +|**csi**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0csi)|csi|| +|**downwardAPI**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapi)|downward API|| +|**emptyDir**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0emptydir)|empty dir|| +|**ephemeral**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeral)|ephemeral|| +|**fc**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0fc)|fc|| +|**flexVolume**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flexvolume)|flex volume|| +|**flocker**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flocker)|flocker|| +|**gcePersistentDisk**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0gcepersistentdisk)|gce persistent disk|| +|**gitRepo**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0gitrepo)|git repo|| +|**glusterfs**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0glusterfs)|glusterfs|| +|**hostPath**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0hostpath)|host path|| +|**iscsi**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0iscsi)|iscsi|| +|**name** `required`|str|name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|| +|**nfs**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0nfs)|nfs|| +|**persistentVolumeClaim**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0persistentvolumeclaim)|persistent volume claim|| +|**photonPersistentDisk**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0photonpersistentdisk)|photon persistent disk|| +|**portworxVolume**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0portworxvolume)|portworx volume|| +|**projected**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projected)|projected|| +|**quobyte**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0quobyte)|quobyte|| +|**rbd**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0rbd)|rbd|| +|**scaleIO**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0scaleio)|scale i o|| +|**secret**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0secret)|secret|| +|**storageos**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0storageos)|storageos|| +|**vsphereVolume**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0vspherevolume)|vsphere volume|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore + +awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).|| +|**readOnly**|bool|readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +|**volumeID** `required`|str|volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk + +azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**cachingMode**|str|cachingMode is the Host Caching mode: None, Read Only, Read Write.|| +|**diskName** `required`|str|diskName is the Name of the data disk in the blob storage|| +|**diskURI** `required`|str|diskURI is the URI of data disk in the blob storage|| +|**fsType**|str|fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**kind**|str|kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile + +azureFile represents an Azure File Service mount on the host and bind mount to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretName** `required`|str|secretName is the name of secret that contains Azure Storage Account Name and Key|| +|**shareName** `required`|str|shareName is the azure share Name|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs + +cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**monitors** `required`|[str]|monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**path**|str|path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretFile**|str|secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cephfssecretref)|secret ref|| +|**user**|str|user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef + +secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder + +cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0cindersecretref)|secret ref|| +|**volumeID** `required`|str|volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef + +secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap + +configMap represents a configMap that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi + +csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.|| +|**fsType**|str|fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.|| +|**nodePublishSecretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0csinodepublishsecretref)|node publish secret ref|| +|**readOnly**|bool|readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).|| +|**volumeAttributes**|{str:str}|volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef + +nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI + +downwardAPI represents downward API about the pod that should populate this volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0)]|Items is a list of downward API volume file|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir + +emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**medium**|str|medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|| +|**sizeLimit**|int | str|sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral + +ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**volumeClaimTemplate**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplate)|volume claim template|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate + +Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**metadata**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatemetadata)|metadata|| +|**spec** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespec)|spec|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata + +May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|annotations|| +|**finalizers**|[str]|finalizers|| +|**labels**|{str:str}|labels|| +|**name**|str|name|| +|**namespace**|str|namespace|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec + +The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|| +|**dataSource**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecdatasource)|data source|| +|**dataSourceRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecdatasourceref)|data source ref|| +|**resources**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0ephemeralvolumeclaimtemplatespecresources)|resources|| +|**selector**|any|selector|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|| +|**volumeMode**|str|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|| +|**volumeName**|str|volumeName is the binding reference to the PersistentVolume backing this claim.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + +dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + +dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +|**namespace**|str|Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources + +resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc + +fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**lun**|int|lun is Optional: FC target lun number|| +|**readOnly**|bool|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**targetWWNs**|[str]|targetWWNs is Optional: FC target worldwide names (WWNs)|| +|**wwids**|[str]|wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume + +flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**driver** `required`|str|driver is the name of the driver to use for this volume.|| +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.|| +|**options**|{str:str}|options is Optional: this field holds extra command options if any.|| +|**readOnly**|bool|readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0flexvolumesecretref)|secret ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef + +secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker + +flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**datasetName**|str|datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated|| +|**datasetUUID**|str|datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk + +gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**partition**|int|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**pdName** `required`|str|pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo + +gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**directory**|str|directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.|| +|**repository** `required`|str|repository is the URL|| +|**revision**|str|revision is the commit hash for the specified revision.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs + +glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**endpoints** `required`|str|endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**path** `required`|str|path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +|**readOnly**|bool|readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath + +hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|| +|**type**|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi + +iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**chapAuthDiscovery**|bool|chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication|| +|**chapAuthSession**|bool|chapAuthSession defines whether support iSCSI Session CHAP authentication|| +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**initiatorName**|str|initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.|| +|**iqn** `required`|str|iqn is the target iSCSI Qualified Name.|| +|**iscsiInterface**|str|iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).|| +|**lun** `required`|int|lun represents iSCSI Target Lun number.|| +|**portals**|[str]|portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0iscsisecretref)|secret ref|| +|**targetPortal** `required`|str|targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef + +secretRef is the CHAP Secret for iSCSI target and initiator authentication + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs + +nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**path** `required`|str|path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**readOnly**|bool|readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +|**server** `required`|str|server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim + +persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claimName** `required`|str|claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|| +|**readOnly**|bool|readOnly Will force the ReadOnly setting in VolumeMounts. Default false.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk + +photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**pdID** `required`|str|pdID is the ID that identifies Photon Controller persistent disk|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume + +portworxVolume represents a portworx volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**volumeID** `required`|str|volumeID uniquely identifies a Portworx volume|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected + +projected items for all in one resources secrets, configmaps, and downward API + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**sources**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0)]|sources is the list of volume projections|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0 + +Projection that may be projected along with other supported volume types + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**configMap**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0configmap)|config map|| +|**downwardAPI**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapi)|downward API|| +|**secret**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0secret)|secret|| +|**serviceAccountToken**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0serviceaccounttoken)|service account token|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap + +configMap information about the configMap data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0configmapitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional specify whether the ConfigMap or its keys must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI + +downwardAPI information about the downwardAPI data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0)]|Items is a list of DownwardAPIVolume file|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0 + +DownwardAPIVolumeFile represents information to create the file containing the pod field + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0fieldref)|field ref|| +|**mode**|int|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|| +|**resourceFieldRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0downwardapiitemsitems0resourcefieldref)|resource field ref|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + +Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|Version of the schema the FieldPath is written in terms of, defaults to "v1".|| +|**fieldPath** `required`|str|Path of the field to select in the specified API version.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + +Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**containerName**|str|Container name: required for volumes, optional for env vars|| +|**divisor**|int | str|Specifies the output format of the exposed resources, defaults to "1"|| +|**resource** `required`|str|Required: resource to select|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret + +secret information about the secret data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0projectedsourcesitems0secretitemsitems0)]|items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +|**optional**|bool|optional field specify whether the Secret or its key must be defined|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken + +serviceAccountToken is information about the serviceAccountToken data to project + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**audience**|str|audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.|| +|**expirationSeconds**|int|expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.|| +|**path** `required`|str|path is the path relative to the mount point of the file to project the token into.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte + +quobyte represents a Quobyte mount on the host that shares a pod's lifetime + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**group**|str|group to map volume access to Default is no group|| +|**readOnly**|bool|readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.|| +|**registry** `required`|str|registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes|| +|**tenant**|str|tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin|| +|**user**|str|user to map volume access to Defaults to serivceaccount user|| +|**volume** `required`|str|volume is a string that references an already created Quobyte volume by name.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd + +rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine|| +|**image** `required`|str|image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**keyring**|str|keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**monitors** `required`|[str]|monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**pool**|str|pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**readOnly**|bool|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0rbdsecretref)|secret ref|| +|**user**|str|user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef + +secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO + +scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".|| +|**gateway** `required`|str|gateway is the host address of the ScaleIO API Gateway.|| +|**protectionDomain**|str|protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.|| +|**readOnly**|bool|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0scaleiosecretref)|secret ref|| +|**sslEnabled**|bool|sslEnabled Flag enable/disable SSL communication with Gateway, default false|| +|**storageMode**|str|storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.|| +|**storagePool**|str|storagePool is the ScaleIO Storage Pool associated with the protection domain.|| +|**system** `required`|str|system is the name of the storage system as configured in ScaleIO.|| +|**volumeName**|str|volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef + +secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret + +secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**defaultMode**|int|defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**items**|[[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0secretitemsitems0)]|items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|| +|**optional**|bool|optional field specify whether the Secret or its keys must be defined|| +|**secretName**|str|secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0 + +Maps a string key to a path within a volume. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the key to project.|| +|**mode**|int|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|| +|**path** `required`|str|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos + +storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**readOnly**|bool|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|| +|**secretRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespectemplatespecvolumesitems0storageossecretref)|secret ref|| +|**volumeName**|str|volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.|| +|**volumeNamespace**|str|volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef + +secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**name**|str|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume + +vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**fsType**|str|fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|| +|**storagePolicyID**|str|storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.|| +|**storagePolicyName**|str|storagePolicyName is the storage Policy Based Management (SPBM) profile name.|| +|**volumePath** `required`|str|volumePath is the path that identifies vSphere volume vmdk|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0 + +PersistentVolumeClaim is a user's request for and claim to a persistent volume + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiVersion**|str|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|| +|**kind**|str|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|| +|**metadata**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0metadata)|metadata|| +|**spec**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0spec)|spec|| +|**status**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0status)|status|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata + +Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**annotations**|{str:str}|annotations|| +|**finalizers**|[str]|finalizers|| +|**labels**|{str:str}|labels|| +|**name**|str|name|| +|**namespace**|str|namespace|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec + +spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|| +|**dataSource**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specdatasource)|data source|| +|**dataSourceRef**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specdatasourceref)|data source ref|| +|**resources**|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources](#workloadskubeblocksiov1alpha1replicatedstatemachinespecvolumeclaimtemplatesitems0specresources)|resources|| +|**selector**|any|selector|| +|**storageClassName**|str|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|| +|**volumeMode**|str|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|| +|**volumeName**|str|volumeName is the binding reference to the PersistentVolume backing this claim.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource + +dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef + +dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**apiGroup**|str|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|| +|**kind** `required`|str|Kind is the type of resource being referenced|| +|**name** `required`|str|Name is the name of resource being referenced|| +|**namespace**|str|Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources + +resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**claims**|[]|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable.|| +|**limits**|{str:int | str}|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +|**requests**|{str:int | str}|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelectorMatchExpressionsItems0 + +A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**key** `required`|str|key is the label key that the selector applies to.|| +|**operator** `required`|str|operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.|| +|**values**|[str]|values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status + +status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessModes**|[str]|accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|| +|**allocatedResources**|{str:int | str}|allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|| +|**capacity**|{str:int | str}|capacity represents the actual resources of the underlying volume.|| +|**conditions**|[]|conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.|| +|**phase**|str|phase represents the current phase of PersistentVolumeClaim.|| +|**resizeStatus**|str|resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusConditionsItems0 + +StatefulSetCondition describes the state of a statefulset at a certain point. + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**lastTransitionTime**|str|Last time the condition transitioned from one status to another.|| +|**message**|str|A human readable message indicating details about the transition.|| +|**reason**|str|The reason for the condition's last transition.|| +|**status** `required`|str|Status of the condition, one of True, False, Unknown.|| +|**type** `required`|str||| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0 + +workloads kubeblocks io v1alpha1 replicated state machine status members status items0 + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**podName** `required`|str|PodName pod name.|"Unknown"| +|**role** `required`|[WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role](#workloadskubeblocksiov1alpha1replicatedstatemachinestatusmembersstatusitems0role)|role|| +### WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role + +workloads kubeblocks io v1alpha1 replicated state machine status members status items0 role + +#### Attributes + +| name | type | description | default value | +| --- | --- | --- | --- | +|**accessMode** `required`|"None" | "Readonly" | "ReadWrite"|AccessMode, what service this member capable.|"ReadWrite"| +|**canVote**|bool|CanVote, whether this member has voting rights|True| +|**isLeader**|bool|IsLeader, whether this member is the leader|False| +|**name** `required`|str|Name, role name.|"leader"| + diff --git a/kubeblocks/kcl.mod b/kubeblocks/kcl.mod new file mode 100644 index 00000000..e6b50dbd --- /dev/null +++ b/kubeblocks/kcl.mod @@ -0,0 +1,7 @@ +[package] +name = "kubeblocks" +version = "0.1.0" +description = "`kubeblocks` is the kubeblocks spec definition" + +[dependencies] +k8s = "1.28" diff --git a/kubeblocks/kcl.mod.lock b/kubeblocks/kcl.mod.lock new file mode 100644 index 00000000..8c61a23b --- /dev/null +++ b/kubeblocks/kcl.mod.lock @@ -0,0 +1,9 @@ +[dependencies] + [dependencies.k8s] + name = "k8s" + full_name = "k8s_1.28" + version = "1.28" + sum = "aTxPUVZyr9MdiB3YdiY/8pCh9sC55yURnZdGlJsKG6Q=" + reg = "ghcr.io" + repo = "kcl-lang/k8s" + oci_tag = "1.28" diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_backup_policy_template.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_backup_policy_template.k new file mode 100644 index 00000000..730cc8b1 --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_backup_policy_template.k @@ -0,0 +1,542 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema BackupPolicyTemplate: + """ + BackupPolicyTemplate is the Schema for the BackupPolicyTemplates API (defined by provider) + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "BackupPolicyTemplate", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec, default is Undefined, optional + spec + status : any, default is Undefined, optional + BackupPolicyTemplateStatus defines the observed state of BackupPolicyTemplate + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "BackupPolicyTemplate" = "BackupPolicyTemplate" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec + + status?: any + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpec: + """ + BackupPolicyTemplateSpec defines the desired state of BackupPolicyTemplate + + Attributes + ---------- + backupPolicies : [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0], default is Undefined, required + backupPolicies is a list of backup policy template for the specified componentDefinition. + clusterDefinitionRef : str, default is Undefined, required + clusterDefinitionRef references ClusterDefinition name, this is an immutable attribute. + identifier : str, default is Undefined, optional + Identifier is a unique identifier for this BackupPolicyTemplate. this identifier will be the suffix of the automatically generated backupPolicy name. and must be added when multiple BackupPolicyTemplates exist, otherwise the generated backupPolicy override will occur. + """ + + + backupPolicies: [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0] + + clusterDefinitionRef: str + + identifier?: str + + + check: + len(backupPolicies) >= 1 + regex.match(clusterDefinitionRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(identifier) <= 20 + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0: + """ + apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 + + Attributes + ---------- + componentDefRef : str, default is Undefined, required + componentDefRef references componentDef defined in ClusterDefinition spec. Need to comply with IANA Service Naming rule. + datafile : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile, default is Undefined, optional + datafile + logfile : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile, default is Undefined, optional + logfile + retention : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention, default is Undefined, optional + retention + schedule : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule, default is Undefined, optional + schedule + snapshot : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot, default is Undefined, optional + snapshot + """ + + + componentDefRef: str + + datafile?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile + + logfile?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile + + retention?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention + + schedule?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule + + snapshot?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot + + + check: + len(componentDefRef) <= 22 + regex.match(componentDefRef, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Datafile: + """ + the policy for datafile backup. + + Attributes + ---------- + backupStatusUpdates : [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupToolName : str, default is Undefined, optional + which backup tool to perform database backup, only support one tool. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + target : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget, default is Undefined, optional + target + """ + + + backupStatusUpdates?: [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0] + + backupToolName?: str + + backupsHistoryLimit?: int = 7 + + onFailAttempted?: int + + target?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget + + + check: + regex.match(backupToolName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupToolName + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileBackupStatusUpdatesItems0: + """ + apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 datafile backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTarget: + """ + target instance for backup. + + Attributes + ---------- + account : str, default is Undefined, optional + refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret. + connectionCredentialKey : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey, default is Undefined, optional + connection credential key + role : str, default is Undefined, optional + select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute. + """ + + + account?: str + + connectionCredentialKey?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey + + role?: str + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0DatafileTargetConnectionCredentialKey: + """ + connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + + Attributes + ---------- + passwordKey : str, default is Undefined, optional + the key of password in the ConnectionCredential secret. if not set, the default key is "password". + usernameKey : str, default is Undefined, optional + the key of username in the ConnectionCredential secret. if not set, the default key is "username". + """ + + + passwordKey?: str + + usernameKey?: str + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Logfile: + """ + the policy for logfile backup. + + Attributes + ---------- + backupStatusUpdates : [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupToolName : str, default is Undefined, optional + which backup tool to perform database backup, only support one tool. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + target : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget, default is Undefined, optional + target + """ + + + backupStatusUpdates?: [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0] + + backupToolName?: str + + backupsHistoryLimit?: int = 7 + + onFailAttempted?: int + + target?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget + + + check: + regex.match(backupToolName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupToolName + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileBackupStatusUpdatesItems0: + """ + apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 logfile backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTarget: + """ + target instance for backup. + + Attributes + ---------- + account : str, default is Undefined, optional + refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret. + connectionCredentialKey : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey, default is Undefined, optional + connection credential key + role : str, default is Undefined, optional + select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute. + """ + + + account?: str + + connectionCredentialKey?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey + + role?: str + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0LogfileTargetConnectionCredentialKey: + """ + connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + + Attributes + ---------- + passwordKey : str, default is Undefined, optional + the key of password in the ConnectionCredential secret. if not set, the default key is "password". + usernameKey : str, default is Undefined, optional + the key of username in the ConnectionCredential secret. if not set, the default key is "username". + """ + + + passwordKey?: str + + usernameKey?: str + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Retention: + """ + retention describe how long the Backup should be retained. if not set, will be retained forever. + + Attributes + ---------- + ttl : str, default is Undefined, optional + ttl is a time string ending with the 'd'|'D'|'h'|'H' character to describe how long the Backup should be retained. if not set, will be retained forever. + """ + + + ttl?: str + + + check: + regex.match(ttl, r"(^\d+[d|D|h|H]$") if ttl + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Schedule: + """ + schedule policy for backup. + + Attributes + ---------- + datafile : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile, default is Undefined, optional + datafile + logfile : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile, default is Undefined, optional + logfile + snapshot : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot, default is Undefined, optional + snapshot + startingDeadlineMinutes : int, default is Undefined, optional + startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason. + """ + + + datafile?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile + + logfile?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile + + snapshot?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot + + startingDeadlineMinutes?: int + + + check: + startingDeadlineMinutes <= 1440 + startingDeadlineMinutes >= 0 + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleDatafile: + """ + schedule policy for datafile backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleLogfile: + """ + schedule policy for logfile backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0ScheduleSnapshot: + """ + schedule policy for snapshot backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0Snapshot: + """ + the policy for snapshot backup. + + Attributes + ---------- + backupStatusUpdates : [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + hooks : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks, default is Undefined, optional + hooks + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + target : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget, default is Undefined, optional + target + """ + + + backupStatusUpdates?: [AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0] + + backupsHistoryLimit?: int = 7 + + hooks?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks + + onFailAttempted?: int + + target?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotBackupStatusUpdatesItems0: + """ + apps kubeblocks io v1alpha1 backup policy template spec backup policies items0 snapshot backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotHooks: + """ + execute hook commands for backup. + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container can exec command + image : str, default is Undefined, optional + exec command with image + postCommands : [str], default is Undefined, optional + post backup to perform commands + preCommands : [str], default is Undefined, optional + pre backup to perform commands + """ + + + containerName?: str + + image?: str + + postCommands?: [str] + + preCommands?: [str] + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTarget: + """ + target instance for backup. + + Attributes + ---------- + account : str, default is Undefined, optional + refer to spec.componentDef.systemAccounts.accounts[*].name in ClusterDefinition. the secret created by this account will be used to connect the database. if not set, the secret created by spec.ConnectionCredential of the ClusterDefinition will be used. it will be transformed to a secret for BackupPolicy's target secret. + connectionCredentialKey : AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey, default is Undefined, optional + connection credential key + role : str, default is Undefined, optional + select instance of corresponding role for backup, role are: - the name of Leader/Follower/Leaner for Consensus component. - primary or secondary for Replication component. finally, invalid role of the component will be ignored. such as if workload type is Replication and component's replicas is 1, the secondary role is invalid. and it also will be ignored when component is Stateful/Stateless. the role will be transformed to a role LabelSelector for BackupPolicy's target attribute. + """ + + + account?: str + + connectionCredentialKey?: AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey + + role?: str + + +schema AppsKubeblocksIoV1alpha1BackupPolicyTemplateSpecBackupPoliciesItems0SnapshotTargetConnectionCredentialKey: + """ + connectionCredentialKey defines connection credential key in secret which created by spec.ConnectionCredential of the ClusterDefinition. it will be ignored when "account" is set. + + Attributes + ---------- + passwordKey : str, default is Undefined, optional + the key of password in the ConnectionCredential secret. if not set, the default key is "password". + usernameKey : str, default is Undefined, optional + the key of username in the ConnectionCredential secret. if not set, the default key is "username". + """ + + + passwordKey?: str + + usernameKey?: str + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster.k new file mode 100644 index 00000000..282c0cbe --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster.k @@ -0,0 +1,893 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema Cluster: + """ + Cluster is the Schema for the clusters API. + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "Cluster", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ClusterSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1ClusterStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "Cluster" = "Cluster" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ClusterSpec + + status?: AppsKubeblocksIoV1alpha1ClusterStatus + + +schema AppsKubeblocksIoV1alpha1ClusterSpec: + """ + ClusterSpec defines the desired state of Cluster. + + Attributes + ---------- + affinity : AppsKubeblocksIoV1alpha1ClusterSpecAffinity, default is Undefined, optional + affinity + availabilityPolicy : str, default is Undefined, optional + availabilityPolicy describes the availability policy, including zone, node, and none. + backup : AppsKubeblocksIoV1alpha1ClusterSpecBackup, default is Undefined, optional + backup + clusterDefinitionRef : str, default is Undefined, required + Cluster referencing ClusterDefinition name. This is an immutable attribute. + clusterVersionRef : str, default is Undefined, optional + Cluster referencing ClusterVersion name. + componentSpecs : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0], default is Undefined, optional + List of componentSpecs you want to replace in ClusterDefinition and ClusterVersion. It will replace the field in ClusterDefinition's and ClusterVersion's component if type is matching. + monitor : AppsKubeblocksIoV1alpha1ClusterSpecMonitor, default is Undefined, optional + monitor + network : AppsKubeblocksIoV1alpha1ClusterSpecNetwork, default is Undefined, optional + network + replicas : int, default is Undefined, optional + replicas specifies the replicas of the first componentSpec, if the replicas of the first componentSpec is specified, this value will be ignored. + resources : AppsKubeblocksIoV1alpha1ClusterSpecResources, default is Undefined, optional + resources + storage : AppsKubeblocksIoV1alpha1ClusterSpecStorage, default is Undefined, optional + storage + tenancy : str, default is Undefined, optional + tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node. + terminationPolicy : str, default is Undefined, required + Cluster termination policy. Valid values are DoNotTerminate, Halt, Delete, WipeOut. DoNotTerminate will block delete operation. Halt will delete workload resources such as statefulset, deployment workloads but keep PVCs. Delete is based on Halt and deletes PVCs. WipeOut is based on Delete and wipe out all volume snapshots and snapshot data from backup storage location. + tolerations : [AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0], default is Undefined, optional + tolerations are attached to tolerate any taint that matches the triple `key,value,effect` using the matching operator `operator`. + """ + + + affinity?: AppsKubeblocksIoV1alpha1ClusterSpecAffinity + + availabilityPolicy?: "zone" | "node" | "none" + + backup?: AppsKubeblocksIoV1alpha1ClusterSpecBackup + + clusterDefinitionRef: str + + clusterVersionRef?: str + + componentSpecs?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0] + + monitor?: AppsKubeblocksIoV1alpha1ClusterSpecMonitor + + network?: AppsKubeblocksIoV1alpha1ClusterSpecNetwork + + replicas?: int + + resources?: AppsKubeblocksIoV1alpha1ClusterSpecResources + + storage?: AppsKubeblocksIoV1alpha1ClusterSpecStorage + + tenancy?: "SharedNode" | "DedicatedNode" + + terminationPolicy: "DoNotTerminate" | "Halt" | "Delete" | "WipeOut" + + tolerations?: [AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0] + + + check: + len(clusterDefinitionRef) <= 63 + regex.match(clusterDefinitionRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(clusterVersionRef) <= 63 + regex.match(clusterVersionRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if clusterVersionRef + + +schema AppsKubeblocksIoV1alpha1ClusterSpecAffinity: + """ + affinity is a group of affinity scheduling rules. + + Attributes + ---------- + nodeLabels : {str:str}, default is Undefined, optional + nodeLabels describes that pods must be scheduled to the nodes with the specified node labels. + podAntiAffinity : str, default is "Preferred", optional + podAntiAffinity describes the anti-affinity level of pods within a component. Preferred means try spread pods by `TopologyKeys`. Required means must spread pods by `TopologyKeys`. + tenancy : str, default is "SharedNode", optional + tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node. + topologyKeys : [str], default is Undefined, optional + topologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. It's used as the topology domain for pod anti-affinity and pod spread constraint. Some well-known label keys, such as "kubernetes.io/hostname" and "topology.kubernetes.io/zone" are often used as TopologyKey, as well as any other custom label key. + """ + + + nodeLabels?: {str:str} + + podAntiAffinity?: "Preferred" | "Required" = "Preferred" + + tenancy?: "SharedNode" | "DedicatedNode" = "SharedNode" + + topologyKeys?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterSpecBackup: + """ + cluster backup configuration. + + Attributes + ---------- + cronExpression : str, default is Undefined, optional + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enabled : bool, default is Undefined, optional + enabled defines whether to enable automated backup. + method : str, default is "snapshot", required + backup method, support: snapshot, backupTool. + pitrEnabled : bool, default is Undefined, optional + pitrEnabled defines whether to enable point-in-time recovery. + repoName : str, default is Undefined, optional + repoName is the name of the backupRepo, if not set, will use the default backupRepo. + retentionPeriod : str, default is "1d", optional + retentionPeriod is a time string ending with the 'd'|'D'|'h'|'H' character to describe how long the Backup should be retained. if not set, will be retained forever. + startingDeadlineMinutes : int, default is Undefined, optional + startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason. + """ + + + cronExpression?: str + + enabled?: bool = False + + method: str = "snapshot" + + pitrEnabled?: bool = False + + repoName?: str + + retentionPeriod?: str = "1d" + + startingDeadlineMinutes?: int + + + check: + regex.match(retentionPeriod, r"(^\d+[d|D|h|H]$") if retentionPeriod + startingDeadlineMinutes <= 1440 + startingDeadlineMinutes >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0: + """ + ClusterComponentSpec defines the cluster component spec. + + Attributes + ---------- + affinity : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity, default is Undefined, optional + affinity + classDefRef : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef, default is Undefined, optional + class def ref + componentDefRef : str, default is Undefined, required + componentDefRef references componentDef defined in ClusterDefinition spec. Need to comply with IANA Service Naming rule. + enabledLogs : [str], default is Undefined, optional + enabledLogs indicates which log file takes effect in the database cluster. element is the log type which is defined in cluster definition logConfig.name, and will set relative variables about this log type in database kernel. + issuer : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer, default is Undefined, optional + issuer + monitor : bool, default is Undefined, optional + monitor is a switch to enable monitoring and is set as false by default. KubeBlocks provides an extension mechanism to support component level monitoring, which will scrape metrics auto or manually from servers in component and export metrics to Time Series Database. + name : str, default is Undefined, required + name defines cluster's component name, this name is also part of Service DNS name, so this name will comply with IANA Service Naming rule. + noCreatePDB : bool, default is Undefined, optional + noCreatePDB defines the PodDisruptionBudget creation behavior and is set to true if creation of PodDisruptionBudget for this component is not needed. It defaults to false. + replicas : int, default is 1, required + Component replicas. The default value is used in ClusterDefinition spec if not specified. + resources : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources, default is Undefined, optional + resources + serviceAccountName : str, default is Undefined, optional + serviceAccountName is the name of the ServiceAccount that running component depends on. + services : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ServicesItems0], default is Undefined, optional + Services expose endpoints that can be accessed by clients. + switchPolicy : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy, default is Undefined, optional + switch policy + tls : bool, default is Undefined, optional + Enables or disables TLS certs. + tolerations : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0], default is Undefined, optional + Component tolerations will override ClusterSpec.Tolerations if specified. + volumeClaimTemplates : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0], default is Undefined, optional + volumeClaimTemplates information for statefulset.spec.volumeClaimTemplates. + """ + + + affinity?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity + + classDefRef?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef + + componentDefRef: str + + enabledLogs?: [str] + + issuer?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer + + monitor?: bool = False + + name: str + + noCreatePDB?: bool = False + + replicas: int = 1 + + resources?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources + + serviceAccountName?: str + + services?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ServicesItems0] + + switchPolicy?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy + + tls?: bool + + tolerations?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0] + + volumeClaimTemplates?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0] + + + check: + len(componentDefRef) <= 22 + regex.match(componentDefRef, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + len(name) <= 22 + regex.match(name, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + replicas >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Affinity: + """ + affinity describes affinities specified by users. + + Attributes + ---------- + nodeLabels : {str:str}, default is Undefined, optional + nodeLabels describes that pods must be scheduled to the nodes with the specified node labels. + podAntiAffinity : str, default is "Preferred", optional + podAntiAffinity describes the anti-affinity level of pods within a component. Preferred means try spread pods by `TopologyKeys`. Required means must spread pods by `TopologyKeys`. + tenancy : str, default is "SharedNode", optional + tenancy describes how pods are distributed across node. SharedNode means multiple pods may share the same node. DedicatedNode means each pod runs on their own dedicated node. + topologyKeys : [str], default is Undefined, optional + topologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. It's used as the topology domain for pod anti-affinity and pod spread constraint. Some well-known label keys, such as "kubernetes.io/hostname" and "topology.kubernetes.io/zone" are often used as TopologyKey, as well as any other custom label key. + """ + + + nodeLabels?: {str:str} + + podAntiAffinity?: "Preferred" | "Required" = "Preferred" + + tenancy?: "SharedNode" | "DedicatedNode" = "SharedNode" + + topologyKeys?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ClassDefRef: + """ + classDefRef references the class defined in ComponentClassDefinition. + + Attributes + ---------- + class : str, default is Undefined, required + Class refers to the name of the class that is defined in the ComponentClassDefinition. + name : str, default is Undefined, optional + Name refers to the name of the ComponentClassDefinition. + """ + + + class: str + + name?: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if name + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Issuer: + """ + issuer defines provider context for TLS certs. required when TLS enabled + + Attributes + ---------- + name : str, default is "KubeBlocks", required + Name of issuer. Options supported: - KubeBlocks - Certificates signed by KubeBlocks Operator. - UserProvided - User provided own CA-signed certificates. + secretRef : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef, default is Undefined, optional + secret ref + """ + + + name: "KubeBlocks" | "UserProvided" = "KubeBlocks" + + secretRef?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0IssuerSecretRef: + """ + secretRef. TLS certs Secret reference required when from is UserProvided + + Attributes + ---------- + ca : str, default is Undefined, required + CA cert key in Secret + cert : str, default is Undefined, required + Cert key in Secret + key : str, default is Undefined, required + Key of TLS private key in Secret + name : str, default is Undefined, required + Name of the Secret + """ + + + ca: str + + cert: str + + key: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0Resources: + """ + Resources requests and limits of workload. + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0ServicesItems0: + """ + apps kubeblocks io v1alpha1 cluster spec component specs items0 services items0 + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + If ServiceType is LoadBalancer, cloud provider related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer. + name : str, default is Undefined, required + Service name + serviceType : str, default is "ClusterIP", optional + serviceType determines how the Service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, they are determined by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. + """ + + + annotations?: {str:str} + + name: str + + serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer" = "ClusterIP" + + + check: + len(name) <= 15 + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0SwitchPolicy: + """ + switchPolicy defines the strategy for switchover and failover when workloadType is Replication. + + Attributes + ---------- + $type : str, default is "Noop", optional + clusterSwitchPolicy defines type of the switchPolicy when workloadType is Replication. MaximumAvailability: [WIP] when the primary is active, do switch if the synchronization delay = 0 in the user-defined lagProbe data delay detection logic, otherwise do not switch. The primary is down, switch immediately. It will be available in future versions. MaximumDataProtection: [WIP] when the primary is active, do switch if synchronization delay = 0 in the user-defined lagProbe data lag detection logic, otherwise do not switch. If the primary is down, if it can be judged that the primary and secondary data are consistent, then do the switch, otherwise do not switch. It will be available in future versions. Noop: KubeBlocks will not perform high-availability switching on components. Users need to implement HA by themselves or integrate open source HA solution. + """ + + + $type?: "Noop" = "Noop" + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0TolerationsItems0: + """ + The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + + Attributes + ---------- + effect : str, default is Undefined, optional + Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + key : str, default is Undefined, optional + Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + operator : str, default is Undefined, optional + Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + tolerationSeconds : int, default is Undefined, optional + TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + value : str, default is Undefined, optional + Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + """ + + + effect?: str + + key?: str + + operator?: str + + tolerationSeconds?: int + + value?: str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0: + """ + apps kubeblocks io v1alpha1 cluster spec component specs items0 volume claim templates items0 + + Attributes + ---------- + name : str, default is Undefined, required + Reference `ClusterDefinition.spec.componentDefs.containers.volumeMounts.name`. + spec : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec, default is Undefined, optional + spec + """ + + + name: str + + spec?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0Spec: + """ + spec defines the desired characteristics of a volume requested by a pod author. + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. + resources : AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources, default is Undefined, optional + resources + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. + """ + + + accessModes?: [str] + + resources?: AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources + + storageClassName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResources: + """ + resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterSpecComponentSpecsItems0VolumeClaimTemplatesItems0SpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecMonitor: + """ + monitor specifies the configuration of monitor + + Attributes + ---------- + monitoringInterval : int | str, default is Undefined, optional + monitoringInterval specifies interval of monitoring, no monitor if set to 0 + """ + + + monitoringInterval?: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterSpecNetwork: + """ + network specifies the configuration of network + + Attributes + ---------- + hostNetworkAccessible : bool, default is Undefined, optional + hostNetworkAccessible specifies whether host network is accessible. It defaults to false + publiclyAccessible : bool, default is Undefined, optional + publiclyAccessible specifies whether it is publicly accessible. It defaults to false + """ + + + hostNetworkAccessible?: bool = False + + publiclyAccessible?: bool = False + + +schema AppsKubeblocksIoV1alpha1ClusterSpecResources: + """ + resources specifies the resources of the first componentSpec, if the resources of the first componentSpec is specified, this value will be ignored. + + Attributes + ---------- + cpu : int | str, default is Undefined, optional + cpu resource needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + memory : int | str, default is Undefined, optional + memory resource needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + cpu?: int | str + + memory?: int | str + + + check: + regex.match(str(cpu), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if cpu + regex.match(str(memory), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if memory + + +schema AppsKubeblocksIoV1alpha1ClusterSpecStorage: + """ + storage specifies the storage of the first componentSpec, if the storage of the first componentSpec is specified, this value will be ignored. + + Attributes + ---------- + size : int | str, default is Undefined, optional + storage size needed, more info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + size?: int | str + + + check: + regex.match(str(size), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if size + + +schema AppsKubeblocksIoV1alpha1ClusterSpecTolerationsItems0: + """ + The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + + Attributes + ---------- + effect : str, default is Undefined, optional + Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + key : str, default is Undefined, optional + Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + operator : str, default is Undefined, optional + Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + tolerationSeconds : int, default is Undefined, optional + TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + value : str, default is Undefined, optional + Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + """ + + + effect?: str + + key?: str + + operator?: str + + tolerationSeconds?: int + + value?: str + + +schema AppsKubeblocksIoV1alpha1ClusterStatus: + """ + ClusterStatus defines the observed state of Cluster. + + Attributes + ---------- + clusterDefGeneration : int, default is Undefined, optional + clusterDefGeneration represents the generation number of ClusterDefinition referenced. + components : {str:AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon}, default is Undefined, optional + components record the current status information of all components of the cluster. + conditions : [AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0], default is Undefined, optional + Describe current state of cluster API Resource, like warning. + message : str, default is Undefined, optional + message describes cluster details message in current phase. + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this Cluster. It corresponds to the Cluster's generation, which is updated on mutation by the API Server. + phase : str, default is Undefined, optional + phase describes the phase of the Cluster, the detail information of the phases are as following: Running: cluster is running, all its components are available. [terminal state] Stopped: cluster has stopped, all its components are stopped. [terminal state] Failed: cluster is unavailable. [terminal state] Abnormal: Cluster is still running, but part of its components are Abnormal/Failed. [terminal state] Creating: Cluster has entered creating process. Updating: Cluster has entered updating process, triggered by Spec. updated. + """ + + + clusterDefGeneration?: int + + components?: {str:AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon} + + conditions?: [AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0] + + message?: str + + observedGeneration?: int + + phase?: "Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnon: + """ + ClusterComponentStatus records components status. + + Attributes + ---------- + consensusSetStatus : AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus, default is Undefined, optional + consensus set status + message : {str:str}, default is Undefined, optional + message records the component details message in current phase. Keys are podName or deployName or statefulSetName. The format is `ObjectKind/Name`. + phase : str, default is Undefined, optional + phase describes the phase of the component and the detail information of the phases are as following: Running: the component is running. [terminal state] Stopped: the component is stopped, as no running pod. [terminal state] Failed: the component is unavailable, i.e. all pods are not ready for Stateless/Stateful component and Leader/Primary pod is not ready for Consensus/Replication component. [terminal state] Abnormal: the component is running but part of its pods are not ready. Leader/Primary pod is ready for Consensus/Replication component. [terminal state] Creating: the component has entered creating process. Updating: the component has entered updating process, triggered by Spec. updated. + podsReady : bool, default is Undefined, optional + podsReady checks if all pods of the component are ready. + podsReadyTime : str, default is Undefined, optional + podsReadyTime what time point of all component pods are ready, this time is the ready time of the last component pod. + replicationSetStatus : AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus, default is Undefined, optional + replication set status + """ + + + consensusSetStatus?: AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus + + message?: {str:str} + + phase?: "Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating" + + podsReady?: bool + + podsReadyTime?: str + + replicationSetStatus?: AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatus: + """ + consensusSetStatus specifies the mapping of role and pod name. + + Attributes + ---------- + followers : [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0], default is Undefined, optional + Followers status. + leader : AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader, default is Undefined, required + leader + learner : AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner, default is Undefined, optional + learner + """ + + + followers?: [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0] + + leader: AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader + + learner?: AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusFollowersItems0: + """ + apps kubeblocks io v1alpha1 cluster status components anon consensus set status followers items0 + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode defines what service this pod provides. + name : str, default is "leader", required + Defines the role name. + pod : str, default is "Unknown", required + Pod name. + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + pod: str = "Unknown" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLeader: + """ + Leader status. + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode defines what service this pod provides. + name : str, default is "leader", required + Defines the role name. + pod : str, default is "Unknown", required + Pod name. + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + pod: str = "Unknown" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonConsensusSetStatusLearner: + """ + Learner status. + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode defines what service this pod provides. + name : str, default is "leader", required + Defines the role name. + pod : str, default is "Unknown", required + Pod name. + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + pod: str = "Unknown" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatus: + """ + replicationSetStatus specifies the mapping of role and pod name. + + Attributes + ---------- + primary : AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary, default is Undefined, required + primary + secondaries : [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0], default is Undefined, optional + Secondaries status. + """ + + + primary: AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary + + secondaries?: [AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusPrimary: + """ + Primary status. + + Attributes + ---------- + pod : str, default is "Unknown", required + Pod name. + """ + + + pod: str = "Unknown" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusComponentsAnonReplicationSetStatusSecondariesItems0: + """ + apps kubeblocks io v1alpha1 cluster status components anon replication set status secondaries items0 + + Attributes + ---------- + pod : str, default is "Unknown", required + Pod name. + """ + + + pod: str = "Unknown" + + +schema AppsKubeblocksIoV1alpha1ClusterStatusConditionsItems0: + """ + Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` + // other fields } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. This may be an empty string. + observedGeneration : int, default is Undefined, optional + observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + reason : str, default is Undefined, required + reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 + len(reason) <= 1024 + len(reason) >= 1 + regex.match(reason, r"(^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + regex.match($type, r"(^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_definition.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_definition.k new file mode 100644 index 00000000..085d8c3e --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_definition.k @@ -0,0 +1,8396 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ClusterDefinition: + """ + ClusterDefinition is the Schema for the clusterdefinitions API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ClusterDefinition", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1ClusterDefinitionStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "ClusterDefinition" = "ClusterDefinition" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpec + + status?: AppsKubeblocksIoV1alpha1ClusterDefinitionStatus + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpec: + """ + ClusterDefinitionSpec defines the desired state of ClusterDefinition + + Attributes + ---------- + componentDefs : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0], default is Undefined, required + componentDefs provides cluster components definitions. + connectionCredential : {str:str}, default is Undefined, optional + Connection credential template used for creating a connection credential secret for cluster.apps.kubeblocks.io object. + Built-in objects are: - `$(RANDOM_PASSWD)` - random 8 characters. - `$(UUID)` - generate a random UUID v4 string. - `$(UUID_B64)` - generate a random UUID v4 BASE64 encoded string. - `$(UUID_STR_B64)` - generate a random UUID v4 string then BASE64 encoded. - `$(UUID_HEX)` - generate a random UUID v4 HEX representation. - `$(HEADLESS_SVC_FQDN)` - headless service FQDN placeholder, value pattern - $(CLUSTER_NAME)-$(1ST_COMP_NAME)-headless.$(NAMESPACE).svc, where 1ST_COMP_NAME is the 1st component that provide `ClusterDefinition.spec.componentDefs[].service` attribute; - `$(SVC_FQDN)` - service FQDN placeholder, value pattern - $(CLUSTER_NAME)-$(1ST_COMP_NAME).$(NAMESPACE).svc, where 1ST_COMP_NAME is the 1st component that provide `ClusterDefinition.spec.componentDefs[].service` attribute; - `$(SVC_PORT_{PORT-NAME})` - a ServicePort's port value with specified port name, i.e, a servicePort JSON struct: `{"name": "mysql", "targetPort": "mysqlContainerPort", "port": 3306}`, and "$(SVC_PORT_mysql)" in the connection credential value is 3306. + $type : str, default is Undefined, optional + Cluster definition type defines well known application cluster type, e.g. mysql/redis/mongodb + """ + + + componentDefs: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0] + + connectionCredential?: {str:str} + + $type?: str + + + check: + len(componentDefs) >= 1 + len($type) <= 24 + regex.match($type, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if $type + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0: + """ + ClusterComponentDefinition provides a workload component specification template, with attributes that strongly work with stateful workloads and day-2 operations behaviors. + + Attributes + ---------- + characterType : str, default is Undefined, optional + characterType defines well-known database component name, such as mongos(mongodb), proxy(redis), mariadb(mysql) KubeBlocks will generate proper monitor configs for well-known characterType when builtIn is true. + componentDefRef : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0], default is Undefined, optional + componentDefRef is used to inject values from other components into the current component. values will be saved and updated in a configmap and mounted to the current component. + configSpecs : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0], default is Undefined, optional + The configSpec field provided by provider, and finally this configTemplateRefs will be rendered into the user's own configuration file according to the user's cluster. + consensusSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec, default is Undefined, optional + consensus spec + customLabelSpecs : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0], default is Undefined, optional + customLabelSpecs is used for custom label tags which you want to add to the component resources. + description : str, default is Undefined, optional + The description of component definition. + horizontalScalePolicy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy, default is Undefined, optional + horizontal scale policy + logConfigs : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0], default is Undefined, optional + logConfigs is detail log file config which provided by provider. + monitor : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor, default is Undefined, optional + monitor + name : str, default is Undefined, required + A component definition name, this name could be used as default name of `Cluster.spec.componentSpecs.name`, and so this name is need to conform with same validation rules as `Cluster.spec.componentSpecs.name`, that is currently comply with IANA Service Naming rule. This name will apply to "apps.kubeblocks.io/component-name" object label value. + podSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec, default is Undefined, optional + pod spec + probes : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes, default is Undefined, optional + probes + replicationSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec, default is Undefined, optional + replication spec + scriptSpecs : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0], default is Undefined, optional + The scriptSpec field provided by provider, and finally this configTemplateRefs will be rendered into the user's own configuration file according to the user's cluster. + service : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service, default is Undefined, optional + service + statefulSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec, default is Undefined, optional + stateful spec + statelessSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec, default is Undefined, optional + stateless spec + switchoverSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec, default is Undefined, optional + switchover spec + systemAccounts : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts, default is Undefined, optional + system accounts + volumeProtectionSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec, default is Undefined, optional + volume protection spec + volumeTypes : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0], default is Undefined, optional + volumeTypes is used to describe the purpose of the volumes mapping the name of the VolumeMounts in the PodSpec.Container field, such as data volume, log volume, etc. When backing up the volume, the volume can be correctly backed up according to the volumeType. + For example: `name: data, type: data` means that the volume named `data` is used to store `data`. `name: binlog, type: log` means that the volume named `binlog` is used to store `log`. + NOTE: When volumeTypes is not defined, the backup function will not be supported, even if a persistent volume has been specified. + workloadType : str, default is Undefined, required + workloadType defines type of the workload. Stateless is a stateless workload type used to describe stateless applications. Stateful is a stateful workload type used to describe common stateful applications. Consensus is a stateful workload type used to describe applications based on consensus protocols, common consensus protocols such as raft and paxos. Replication is a stateful workload type used to describe applications based on the primary-secondary data replication protocol. + """ + + + characterType?: str + + componentDefRef?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0] + + configSpecs?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0] + + consensusSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec + + customLabelSpecs?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0] + + description?: str + + horizontalScalePolicy?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy + + logConfigs?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0] + + monitor?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor + + name: str + + podSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec + + probes?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes + + replicationSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec + + scriptSpecs?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0] + + service?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service + + statefulSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec + + statelessSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec + + switchoverSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec + + systemAccounts?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts + + volumeProtectionSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec + + volumeTypes?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0] + + workloadType: "Stateless" | "Stateful" | "Consensus" | "Replication" + + + check: + len(name) <= 22 + regex.match(name, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0: + """ + ComponentDefRef is used to select the component and its fields to be referenced. + + Attributes + ---------- + componentDefName : str, default is Undefined, required + componentDefName is the name of the componentDef to select. + componentRefEnv : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0], default is Undefined, optional + componentRefEnv specifies a list of values to be injected as env variables to each component. + failurePolicy : str, default is Undefined, optional + failurePolicy is the failure policy of the component. If failed to find the component, the failure policy will be used. + """ + + + componentDefName: str + + componentRefEnv?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0] + + failurePolicy?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0: + """ + ComponentRefEnv specifies name and value of an env. + + Attributes + ---------- + name : str, default is Undefined, required + name is the name of the env to be injected, and it must be a C identifier. + value : str, default is Undefined, optional + value is the value of the env to be injected. + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom + + + check: + regex.match(name, r"(^[A-Za-z_][A-Za-z0-9_]*$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ComponentDefRefItems0ComponentRefEnvItems0ValueFrom: + """ + valueFrom specifies the source of the env to be injected. + + Attributes + ---------- + fieldPath : str, default is Undefined, optional + fieldRef is the jsonpath of the source to select when type is `FieldRef`. there are two objects registered in the jsonpath: `componentDef` and `components`. componentDef is the component definition object specified in `componentRef.componentDefName`. components is the component list objects referring to the component definition object. + format : str, default is "="$POD_FQDN"", optional + format is the format of each headless service address. there are three builtin variables can be used as placerholder: $POD_ORDINAL, $POD_FQDN, $POD_NAME $POD_ORDINAL is the ordinal of the pod. $POD_FQDN is the fully qualified domain name of the pod. $POD_NAME is the name of the pod + joinWith : str, default is ",", optional + joinWith is the string to join the values of headless service addresses. + $type : str, default is Undefined, required + type is the type of the source to select. There are three types: `FieldRef`, `ServiceRef`, `HeadlessServiceRef`. + """ + + + fieldPath?: str + + format?: str = "="$POD_FQDN"" + + joinWith?: str = "," + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 config specs items0 + + Attributes + ---------- + asEnvFrom : [str], default is Undefined, optional + asEnvFrom is optional: the list of containers will be injected into EnvFrom. + constraintRef : str, default is Undefined, optional + Specify the name of the referenced the configuration constraints object. + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + keys : [str], default is Undefined, optional + Specify a list of keys. If empty, ConfigConstraint takes effect for all keys in configmap. + lazyRenderedConfigSpec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec, default is Undefined, optional + lazy rendered config spec + name : str, default is Undefined, required + Specify the name of configuration template. + namespace : str, default is "default", optional + Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace. + templateRef : str, default is Undefined, required + Specify the name of the referenced the configuration template ConfigMap object. + volumeName : str, default is Undefined, required + volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts. + """ + + + asEnvFrom?: [str] + + constraintRef?: str + + defaultMode?: int + + keys?: [str] + + lazyRenderedConfigSpec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec + + name: str + + namespace?: str = "default" + + templateRef: str + + volumeName: str + + + check: + len(constraintRef) <= 63 + regex.match(constraintRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if constraintRef + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + len(templateRef) <= 63 + regex.match(templateRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(volumeName) <= 63 + regex.match(volumeName, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConfigSpecsItems0LazyRenderedConfigSpec: + """ + lazyRenderedConfigSpec is optional: specify the secondary rendered config spec. + + Attributes + ---------- + namespace : str, default is "default", optional + Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace. + policy : str, default is "patch", optional + policy defines how to merge external imported templates into component templates. + templateRef : str, default is Undefined, required + Specify the name of the referenced the configuration template ConfigMap object. + """ + + + namespace?: str = "default" + + policy?: "patch" | "replace" | "none" = "patch" + + templateRef: str + + + check: + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + len(templateRef) <= 63 + regex.match(templateRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpec: + """ + consensusSpec defines consensus related spec if workloadType is Consensus, required if workloadType is Consensus. + + Attributes + ---------- + followers : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0], default is Undefined, optional + followers, has voting right but not Leader. + leader : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader, default is Undefined, required + leader + learner : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner, default is Undefined, optional + learner + llPodManagementPolicy : str, default is Undefined, optional + llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once. + llUpdateStrategy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy, default is Undefined, optional + ll update strategy + updateStrategy : str, default is "Serial", optional + updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following: + serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel + """ + + + followers?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0] + + leader: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader + + learner?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner + + llPodManagementPolicy?: str + + llUpdateStrategy?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy + + updateStrategy?: "Serial" | "BestEffortParallel" | "Parallel" = "Serial" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecFollowersItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 consensus spec followers items0 + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode, what service this member capable. + name : str, default is "leader", required + name, role name. + replicas : int, default is Undefined, optional + replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + replicas?: int = 0 + + + check: + replicas >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLeader: + """ + leader, one single leader. + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode, what service this member capable. + name : str, default is "leader", required + name, role name. + replicas : int, default is Undefined, optional + replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + replicas?: int = 0 + + + check: + replicas >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLearner: + """ + learner, no voting right. + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + accessMode, what service this member capable. + name : str, default is "leader", required + name, role name. + replicas : int, default is Undefined, optional + replicas, number of Pods of this role. default 1 for Leader default 0 for Learner default Cluster.spec.componentSpec[*].Replicas - Leader.Replicas - Learner.Replicas for Followers + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + name: str = "leader" + + replicas?: int = 0 + + + check: + replicas >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategy: + """ + llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + + Attributes + ---------- + rollingUpdate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate, default is Undefined, optional + rolling update + $type : str, default is Undefined, optional + Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. + """ + + + rollingUpdate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate + + $type?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ConsensusSpecLlUpdateStrategyRollingUpdate: + """ + RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + + Attributes + ---------- + maxUnavailable : int | str, default is Undefined, optional + The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable. + partition : int, default is Undefined, optional + Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0. + """ + + + maxUnavailable?: int | str + + partition?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 custom label specs items0 + + Attributes + ---------- + key : str, default is Undefined, required + key name of label + resources : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0], default is Undefined, optional + resources defines the resources to be labeled. + value : str, default is Undefined, required + value of label + """ + + + key: str + + resources?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0] + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0CustomLabelSpecsItems0ResourcesItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 custom label specs items0 resources items0 + + Attributes + ---------- + gvk : str, default is Undefined, required + gvk is Group/Version/Kind, for example "v1/Pod", "apps/v1/StatefulSet", etc. when the gvk resource filtered by the selector already exists, if there is no corresponding custom label, it will be added, and if label already exists, it will be updated. + selector : {str:str}, default is Undefined, optional + selector is a label query over a set of resources. + """ + + + gvk: str + + selector?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0HorizontalScalePolicy: + """ + horizontalScalePolicy controls the behavior of horizontal scale. + + Attributes + ---------- + backupPolicyTemplateName : str, default is Undefined, optional + BackupPolicyTemplateName reference the backup policy template. + $type : str, default is "None", optional + type controls what kind of data synchronization do when component scale out. Policy is in enum of {None, CloneVolume}. The default policy is `None`. None: Default policy, create empty volume and no data clone. CloneVolume: Do data clone to newly scaled pods. Prefer to use volume snapshot first, and will try backup tool if volume snapshot is not enabled, finally report error if both above cannot work. Snapshot: Deprecated, alias for CloneVolume. + volumeMountsName : str, default is Undefined, optional + volumeMountsName defines which volumeMount of the container to do backup, only work if Type is not None if not specified, the 1st volumeMount will be chosen + """ + + + backupPolicyTemplateName?: str + + $type?: "None" | "CloneVolume" | "Snapshot" = "None" + + volumeMountsName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0LogConfigsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 log configs items0 + + Attributes + ---------- + filePathPattern : str, default is Undefined, required + filePathPattern log file path pattern which indicate how to find this file corresponding to variable (log path) in database kernel. please don't set this casually. + name : str, default is Undefined, required + name log type name, such as slow for MySQL slow log file. + """ + + + filePathPattern: str + + name: str + + + check: + len(filePathPattern) <= 4096 + len(name) <= 128 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Monitor: + """ + monitor is monitoring config which provided by provider. + + Attributes + ---------- + builtIn : bool, default is Undefined, optional + builtIn is a switch to enable KubeBlocks builtIn monitoring. If BuiltIn is set to true, monitor metrics will be scraped automatically. If BuiltIn is set to false, the provider should set ExporterConfig and Sidecar container own. + exporterConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig, default is Undefined, optional + exporter config + """ + + + builtIn?: bool = False + + exporterConfig?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0MonitorExporterConfig: + """ + exporterConfig provided by provider, which specify necessary information to Time Series Database. exporterConfig is valid when builtIn is false. + + Attributes + ---------- + scrapePath : str, default is "/metrics", optional + scrapePath is exporter url path for Time Series Database to scrape metrics. + scrapePort : int | str, default is Undefined, required + scrapePort is exporter port for Time Series Database to scrape metrics. + """ + + + scrapePath?: str = "/metrics" + + scrapePort: int | str + + + check: + len(scrapePath) <= 128 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpec: + """ + podSpec define pod spec template of the cluster component. + + Attributes + ---------- + activeDeadlineSeconds : int, default is Undefined, optional + Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. + affinity : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinity, default is Undefined, optional + affinity + automountServiceAccountToken : bool, default is Undefined, optional + AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. + containers : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0], default is Undefined, required + List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. + dnsConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig, default is Undefined, optional + dns config + dnsPolicy : str, default is Undefined, optional + Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. + enableServiceLinks : bool, default is Undefined, optional + EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. + ephemeralContainers : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0], default is Undefined, optional + List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. + hostAliases : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0], default is Undefined, optional + HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. + hostIPC : bool, default is Undefined, optional + Use the host's ipc namespace. Optional: Default to false. + hostNetwork : bool, default is Undefined, optional + Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. + hostPID : bool, default is Undefined, optional + Use the host's pid namespace. Optional: Default to false. + hostUsers : bool, default is Undefined, optional + Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. + hostname : str, default is Undefined, optional + Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. + imagePullSecrets : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0], default is Undefined, optional + ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod + initContainers : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0], default is Undefined, optional + List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + nodeName : str, default is Undefined, optional + NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. + nodeSelector : {str:str}, default is Undefined, optional + NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + os : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs, default is Undefined, optional + os + overhead : {str:int | str}, default is Undefined, optional + Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md + preemptionPolicy : str, default is Undefined, optional + PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. + priority : int, default is Undefined, optional + The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. + priorityClassName : str, default is Undefined, optional + If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. + readinessGates : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0], default is Undefined, optional + If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates + resourceClaims : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0], default is Undefined, optional + ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + restartPolicy : str, default is Undefined, optional + Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy + runtimeClassName : str, default is Undefined, optional + RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class + schedulerName : str, default is Undefined, optional + If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. + schedulingGates : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0], default is Undefined, optional + SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. + This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. + securityContext : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext, default is Undefined, optional + security context + serviceAccount : str, default is Undefined, optional + DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. + serviceAccountName : str, default is Undefined, optional + ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ + setHostnameAsFQDN : bool, default is Undefined, optional + If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. + shareProcessNamespace : bool, default is Undefined, optional + Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. + subdomain : str, default is Undefined, optional + If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a domainname at all. + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. + tolerations : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0], default is Undefined, optional + If specified, the pod's tolerations. + topologySpreadConstraints : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0], default is Undefined, optional + TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. + volumes : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0], default is Undefined, optional + List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes + """ + + + activeDeadlineSeconds?: int + + affinity?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinity + + automountServiceAccountToken?: bool + + containers: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0] + + dnsConfig?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig + + dnsPolicy?: str + + enableServiceLinks?: bool + + ephemeralContainers?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0] + + hostAliases?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0] + + hostIPC?: bool + + hostNetwork?: bool + + hostPID?: bool + + hostUsers?: bool + + hostname?: str + + imagePullSecrets?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0] + + initContainers?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0] + + nodeName?: str + + nodeSelector?: {str:str} + + os?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs + + overhead?: {str:int | str} + + preemptionPolicy?: str + + priority?: int + + priorityClassName?: str + + readinessGates?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0] + + resourceClaims?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0] + + restartPolicy?: str + + runtimeClassName?: str + + schedulerName?: str + + schedulingGates?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0] + + securityContext?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext + + serviceAccount?: str + + serviceAccountName?: str + + setHostnameAsFQDN?: bool + + shareProcessNamespace?: bool + + subdomain?: str + + terminationGracePeriodSeconds?: int + + tolerations?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0] + + topologySpreadConstraints?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0] + + volumes?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinity: + """ + If specified, the pod's scheduling constraints + + Attributes + ---------- + nodeAffinity : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinity, default is Undefined, optional + node affinity + podAffinity : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinity, default is Undefined, optional + pod affinity + podAntiAffinity : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinity, default is Undefined, optional + pod anti affinity + """ + + + nodeAffinity?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinity + + podAffinity?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinity + + podAntiAffinity?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinity + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinity: + """ + Describes node affinity scheduling rules for the pod. + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution, default is Undefined, optional + required during scheduling ignored during execution + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + + Attributes + ---------- + preference : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference, default is Undefined, required + preference + weight : int, default is Undefined, required + Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + """ + + + preference: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference + + weight: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference: + """ + A node selector term, associated with the corresponding weight. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0], default is Undefined, optional + A list of node selector requirements by node's labels. + matchFields : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0], default is Undefined, optional + A list of node selector requirements by node's fields. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0] + + matchFields?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution: + """ + If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + + Attributes + ---------- + nodeSelectorTerms : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0], default is Undefined, required + Required. A list of node selector terms. The terms are ORed. + """ + + + nodeSelectorTerms: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0: + """ + A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0], default is Undefined, optional + A list of node selector requirements by node's labels. + matchFields : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0], default is Undefined, optional + A list of node selector requirements by node's fields. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0] + + matchFields?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinity: + """ + Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + + Attributes + ---------- + podAffinityTerm : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm, default is Undefined, required + pod affinity term + weight : int, default is Undefined, required + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + """ + + + podAffinityTerm: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + + weight: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm: + """ + Required. A pod affinity term, associated with the corresponding weight. + + Attributes + ---------- + labelSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector, default is Undefined, optional + label selector + namespaceSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + + namespaceSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0: + """ + Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + + Attributes + ---------- + labelSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector, default is Undefined, optional + label selector + namespaceSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + + namespaceSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinity: + """ + Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + + Attributes + ---------- + podAffinityTerm : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm, default is Undefined, required + pod affinity term + weight : int, default is Undefined, required + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + """ + + + podAffinityTerm: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + + weight: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm: + """ + Required. A pod affinity term, associated with the corresponding weight. + + Attributes + ---------- + labelSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector, default is Undefined, optional + label selector + namespaceSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + + namespaceSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0: + """ + Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + + Attributes + ---------- + labelSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector, default is Undefined, optional + label selector + namespaceSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + + namespaceSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources, default is Undefined, optional + resources + securityContext : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0] + + envFrom?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle + + livenessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe + + name: str + + ports?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0] + + readinessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe + + resources?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources + + securityContext?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContext + + startupProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0] + + volumeMounts?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart + + preStop?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeccompProfile + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfig: + """ + Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. + + Attributes + ---------- + nameservers : [str], default is Undefined, optional + A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. + options : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0], default is Undefined, optional + A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy. + searches : [str], default is Undefined, optional + A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed. + """ + + + nameservers?: [str] + + options?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0] + + searches?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecDNSConfigOptionsItems0: + """ + PodDNSConfigOption defines DNS resolver options of a pod. + + Attributes + ---------- + name : str, default is Undefined, optional + Required. + value : str, default is Undefined, optional + value + """ + + + name?: str + + value?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0: + """ + An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation. + To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers. + ports : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0], default is Undefined, optional + Ports are not allowed for ephemeral containers. + readinessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources, default is Undefined, optional + resources + securityContext : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + targetContainerName : str, default is Undefined, optional + If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container uses the namespaces configured in the Pod spec. + The container runtime must implement support for this feature. If the runtime does not support namespace targeting then the result of setting this field is undefined. + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0] + + envFrom?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle + + livenessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe + + name: str + + ports?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0] + + readinessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe + + resources?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources + + securityContext?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContext + + startupProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + targetContainerName?: str + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0] + + volumeMounts?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Lifecycle: + """ + Lifecycle is not allowed for ephemeral containers. + + Attributes + ---------- + postStart : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart + + preStop?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0Resources: + """ + Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod. + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContext: + """ + Optional: SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeccompProfile + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecEphemeralContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecHostAliasesItems0: + """ + HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. + + Attributes + ---------- + hostnames : [str], default is Undefined, optional + Hostnames for the above IP address. + ip : str, default is Undefined, optional + IP address of the host file entry. + """ + + + hostnames?: [str] + + ip?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecImagePullSecretsItems0: + """ + LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources, default is Undefined, optional + resources + securityContext : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0] + + envFrom?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle + + livenessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe + + name: str + + ports?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0] + + readinessProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe + + resources?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources + + securityContext?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContext + + startupProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0] + + volumeMounts?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart + + preStop?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeccompProfile + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecInitContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecOs: + """ + Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set. + If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions + If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup + + Attributes + ---------- + name : str, default is Undefined, required + Name is the name of the operating system. The currently supported values are linux and windows. Additional value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration Clients should expect to handle additional values and treat unrecognized values in this field as os: null + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecReadinessGatesItems0: + """ + PodReadinessGate contains the reference to a pod condition + + Attributes + ---------- + conditionType : str, default is Undefined, required + ConditionType refers to a condition in the pod's condition list with matching type. + """ + + + conditionType: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0: + """ + PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name. + + Attributes + ---------- + name : str, default is Undefined, required + Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL. + source : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source, default is Undefined, optional + source + """ + + + name: str + + source?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecResourceClaimsItems0Source: + """ + Source describes where to find the ResourceClaim. + + Attributes + ---------- + resourceClaimName : str, default is Undefined, optional + ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod. + resourceClaimTemplateName : str, default is Undefined, optional + ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod. + The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be -, where is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long). + An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed. + This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim. + """ + + + resourceClaimName?: str + + resourceClaimTemplateName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSchedulingGatesItems0: + """ + PodSchedulingGate is associated to a Pod to guard its scheduling. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the scheduling gate. Each scheduling gate must have a unique name field. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContext: + """ + SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. + + Attributes + ---------- + fsGroup : int, default is Undefined, optional + A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + fsGroupChangePolicy : str, default is Undefined, optional + fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + supplementalGroups : [int], default is Undefined, optional + A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + sysctls : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0], default is Undefined, optional + Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + windowsOptions : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + fsGroup?: int + + fsGroupChangePolicy?: str + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile + + supplementalGroups?: [int] + + sysctls?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0] + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSeccompProfile: + """ + The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextSysctlsItems0: + """ + Sysctl defines a kernel parameter to be set + + Attributes + ---------- + name : str, default is Undefined, required + Name of a property to set + value : str, default is Undefined, required + Value of a property to set + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecSecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTolerationsItems0: + """ + The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + + Attributes + ---------- + effect : str, default is Undefined, optional + Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + key : str, default is Undefined, optional + Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + operator : str, default is Undefined, optional + Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + tolerationSeconds : int, default is Undefined, optional + TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + value : str, default is Undefined, optional + Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + """ + + + effect?: str + + key?: str + + operator?: str + + tolerationSeconds?: int + + value?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0: + """ + TopologySpreadConstraint specifies how to spread matching pods among the given topology. + + Attributes + ---------- + labelSelector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector, default is Undefined, optional + label selector + matchLabelKeys : [str], default is Undefined, optional + MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. + maxSkew : int, default is Undefined, required + MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. | zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed. + minDomains : int, default is Undefined, optional + MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. + This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). + nodeAffinityPolicy : str, default is Undefined, optional + NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + nodeTaintsPolicy : str, default is Undefined, optional + NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. + If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + topologyKey : str, default is Undefined, required + TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. + whenUnsatisfiable : str, default is Undefined, required + WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field. + """ + + + labelSelector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector + + matchLabelKeys?: [str] + + maxSkew: int + + minDomains?: int + + nodeAffinityPolicy?: str + + nodeTaintsPolicy?: str + + topologyKey: str + + whenUnsatisfiable: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelector: + """ + LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0: + """ + Volume represents a named volume in a pod that may be accessed by any container in the pod. + + Attributes + ---------- + awsElasticBlockStore : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore, default is Undefined, optional + aws elastic block store + azureDisk : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk, default is Undefined, optional + azure disk + azureFile : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile, default is Undefined, optional + azure file + cephfs : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs, default is Undefined, optional + cephfs + cinder : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder, default is Undefined, optional + cinder + configMap : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap, default is Undefined, optional + config map + csi : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi, default is Undefined, optional + csi + downwardAPI : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI, default is Undefined, optional + downward API + emptyDir : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir, default is Undefined, optional + empty dir + ephemeral : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral, default is Undefined, optional + ephemeral + fc : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc, default is Undefined, optional + fc + flexVolume : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume, default is Undefined, optional + flex volume + flocker : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker, default is Undefined, optional + flocker + gcePersistentDisk : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk, default is Undefined, optional + gce persistent disk + gitRepo : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo, default is Undefined, optional + git repo + glusterfs : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs, default is Undefined, optional + glusterfs + hostPath : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath, default is Undefined, optional + host path + iscsi : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi, default is Undefined, optional + iscsi + name : str, default is Undefined, required + name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + nfs : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs, default is Undefined, optional + nfs + persistentVolumeClaim : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim, default is Undefined, optional + persistent volume claim + photonPersistentDisk : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk, default is Undefined, optional + photon persistent disk + portworxVolume : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume, default is Undefined, optional + portworx volume + projected : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected, default is Undefined, optional + projected + quobyte : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte, default is Undefined, optional + quobyte + rbd : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd, default is Undefined, optional + rbd + scaleIO : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO, default is Undefined, optional + scale i o + secret : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret, default is Undefined, optional + secret + storageos : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos, default is Undefined, optional + storageos + vsphereVolume : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume, default is Undefined, optional + vsphere volume + """ + + + awsElasticBlockStore?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore + + azureDisk?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk + + azureFile?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile + + cephfs?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs + + cinder?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder + + configMap?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap + + csi?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi + + downwardAPI?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI + + emptyDir?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir + + ephemeral?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral + + fc?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc + + flexVolume?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume + + flocker?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker + + gcePersistentDisk?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk + + gitRepo?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo + + glusterfs?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs + + hostPath?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath + + iscsi?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi + + name: str + + nfs?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs + + persistentVolumeClaim?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim + + photonPersistentDisk?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk + + portworxVolume?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume + + projected?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected + + quobyte?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte + + rbd?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd + + scaleIO?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO + + secret?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret + + storageos?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos + + vsphereVolume?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AwsElasticBlockStore: + """ + awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + readOnly : bool, default is Undefined, optional + readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + volumeID : str, default is Undefined, required + volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + """ + + + fsType?: str + + partition?: int + + readOnly?: bool + + volumeID: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureDisk: + """ + azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + + Attributes + ---------- + cachingMode : str, default is Undefined, optional + cachingMode is the Host Caching mode: None, Read Only, Read Write. + diskName : str, default is Undefined, required + diskName is the Name of the data disk in the blob storage + diskURI : str, default is Undefined, required + diskURI is the URI of data disk in the blob storage + fsType : str, default is Undefined, optional + fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + kind : str, default is Undefined, optional + kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + """ + + + cachingMode?: str + + diskName: str + + diskURI: str + + fsType?: str + + kind?: str + + readOnly?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0AzureFile: + """ + azureFile represents an Azure File Service mount on the host and bind mount to the pod. + + Attributes + ---------- + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretName : str, default is Undefined, required + secretName is the name of secret that contains Azure Storage Account Name and Key + shareName : str, default is Undefined, required + shareName is the azure share Name + """ + + + readOnly?: bool + + secretName: str + + shareName: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cephfs: + """ + cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + + Attributes + ---------- + monitors : [str], default is Undefined, required + monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + path : str, default is Undefined, optional + path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretFile : str, default is Undefined, optional + secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + """ + + + monitors: [str] + + path?: str + + readOnly?: bool + + secretFile?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CephfsSecretRef: + """ + secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Cinder: + """ + cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef, default is Undefined, optional + secret ref + volumeID : str, default is Undefined, required + volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef + + volumeID: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CinderSecretRef: + """ + secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMap: + """ + configMap represents a configMap that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + defaultMode?: int + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Csi: + """ + csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. + fsType : str, default is Undefined, optional + fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. + nodePublishSecretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef, default is Undefined, optional + node publish secret ref + readOnly : bool, default is Undefined, optional + readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). + volumeAttributes : {str:str}, default is Undefined, optional + volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. + """ + + + driver: str + + fsType?: str + + nodePublishSecretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef + + readOnly?: bool + + volumeAttributes?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0CsiNodePublishSecretRef: + """ + nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPI: + """ + downwardAPI represents downward API about the pod that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of downward API volume file + """ + + + defaultMode?: int + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EmptyDir: + """ + emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + + Attributes + ---------- + medium : str, default is Undefined, optional + medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + sizeLimit : int | str, default is Undefined, optional + sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir + """ + + + medium?: str + + sizeLimit?: int | str + + + check: + regex.match(str(sizeLimit), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if sizeLimit + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Ephemeral: + """ + ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. + Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). + Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. + Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. + A pod can use both types of ephemeral volumes and persistent volumes at the same time. + + Attributes + ---------- + volumeClaimTemplate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate, default is Undefined, optional + volume claim template + """ + + + volumeClaimTemplate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplate: + """ + Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). + An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. + This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. + Required, must not be nil. + + Attributes + ---------- + metadata : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec, default is Undefined, required + spec + """ + + + metadata?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata + + spec: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata: + """ + May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + annotations + finalizers : [str], default is Undefined, optional + finalizers + labels : {str:str}, default is Undefined, optional + labels + name : str, default is Undefined, optional + name + namespace : str, default is Undefined, optional + namespace + """ + + + annotations?: {str:str} + + finalizers?: [str] + + labels?: {str:str} + + name?: str + + namespace?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpec: + """ + The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + dataSource : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource, default is Undefined, optional + data source + dataSourceRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef, default is Undefined, optional + data source ref + resources : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources, default is Undefined, optional + resources + selector : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector, default is Undefined, optional + selector + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + volumeMode : str, default is Undefined, optional + volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + volumeName : str, default is Undefined, optional + volumeName is the binding reference to the PersistentVolume backing this claim. + """ + + + accessModes?: [str] + + dataSource?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + + dataSourceRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + + resources?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources + + selector?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector + + storageClassName?: str + + volumeMode?: str + + volumeName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource: + """ + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + """ + + + apiGroup?: str + + kind: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef: + """ + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + namespace : str, default is Undefined, optional + Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + """ + + + apiGroup?: str + + kind: str + + name: str + + namespace?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources: + """ + resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector: + """ + selector is a label query over volumes to consider for binding. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Fc: + """ + fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine + lun : int, default is Undefined, optional + lun is Optional: FC target lun number + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + targetWWNs : [str], default is Undefined, optional + targetWWNs is Optional: FC target worldwide names (WWNs) + wwids : [str], default is Undefined, optional + wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + """ + + + fsType?: str + + lun?: int + + readOnly?: bool + + targetWWNs?: [str] + + wwids?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolume: + """ + flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the driver to use for this volume. + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + options : {str:str}, default is Undefined, optional + options is Optional: this field holds extra command options if any. + readOnly : bool, default is Undefined, optional + readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef, default is Undefined, optional + secret ref + """ + + + driver: str + + fsType?: str + + options?: {str:str} + + readOnly?: bool + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0FlexVolumeSecretRef: + """ + secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Flocker: + """ + flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + + Attributes + ---------- + datasetName : str, default is Undefined, optional + datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated + datasetUUID : str, default is Undefined, optional + datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + """ + + + datasetName?: str + + datasetUUID?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GcePersistentDisk: + """ + gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + pdName : str, default is Undefined, required + pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + """ + + + fsType?: str + + partition?: int + + pdName: str + + readOnly?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0GitRepo: + """ + gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + + Attributes + ---------- + directory : str, default is Undefined, optional + directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + repository : str, default is Undefined, required + repository is the URL + revision : str, default is Undefined, optional + revision is the commit hash for the specified revision. + """ + + + directory?: str + + repository: str + + revision?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Glusterfs: + """ + glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + + Attributes + ---------- + endpoints : str, default is Undefined, required + endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + path : str, default is Undefined, required + path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + readOnly : bool, default is Undefined, optional + readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + """ + + + endpoints: str + + path: str + + readOnly?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0HostPath: + """ + hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + + Attributes + ---------- + path : str, default is Undefined, required + path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + $type : str, default is Undefined, optional + type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + """ + + + path: str + + $type?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Iscsi: + """ + iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + + Attributes + ---------- + chapAuthDiscovery : bool, default is Undefined, optional + chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + chapAuthSession : bool, default is Undefined, optional + chapAuthSession defines whether support iSCSI Session CHAP authentication + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine + initiatorName : str, default is Undefined, optional + initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection. + iqn : str, default is Undefined, required + iqn is the target iSCSI Qualified Name. + iscsiInterface : str, default is Undefined, optional + iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). + lun : int, default is Undefined, required + lun represents iSCSI Target Lun number. + portals : [str], default is Undefined, optional + portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef, default is Undefined, optional + secret ref + targetPortal : str, default is Undefined, required + targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + """ + + + chapAuthDiscovery?: bool + + chapAuthSession?: bool + + fsType?: str + + initiatorName?: str + + iqn: str + + iscsiInterface?: str + + lun: int + + portals?: [str] + + readOnly?: bool + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef + + targetPortal: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0IscsiSecretRef: + """ + secretRef is the CHAP Secret for iSCSI target and initiator authentication + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Nfs: + """ + nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + + Attributes + ---------- + path : str, default is Undefined, required + path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + readOnly : bool, default is Undefined, optional + readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + server : str, default is Undefined, required + server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + """ + + + path: str + + readOnly?: bool + + server: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PersistentVolumeClaim: + """ + persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + + Attributes + ---------- + claimName : str, default is Undefined, required + claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + readOnly : bool, default is Undefined, optional + readOnly Will force the ReadOnly setting in VolumeMounts. Default false. + """ + + + claimName: str + + readOnly?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PhotonPersistentDisk: + """ + photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + pdID : str, default is Undefined, required + pdID is the ID that identifies Photon Controller persistent disk + """ + + + fsType?: str + + pdID: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0PortworxVolume: + """ + portworxVolume represents a portworx volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + volumeID : str, default is Undefined, required + volumeID uniquely identifies a Portworx volume + """ + + + fsType?: str + + readOnly?: bool + + volumeID: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Projected: + """ + projected items for all in one resources secrets, configmaps, and downward API + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + sources : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0], default is Undefined, optional + sources is the list of volume projections + """ + + + defaultMode?: int + + sources?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0: + """ + Projection that may be projected along with other supported volume types + + Attributes + ---------- + configMap : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap, default is Undefined, optional + config map + downwardAPI : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI, default is Undefined, optional + downward API + secret : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret, default is Undefined, optional + secret + serviceAccountToken : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken, default is Undefined, optional + service account token + """ + + + configMap?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap + + downwardAPI?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI + + secret?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret + + serviceAccountToken?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMap: + """ + configMap information about the configMap data to project + + Attributes + ---------- + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPI: + """ + downwardAPI information about the downwardAPI data to project + + Attributes + ---------- + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of DownwardAPIVolume file + """ + + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0Secret: + """ + secret information about the secret data to project + + Attributes + ---------- + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its key must be defined + """ + + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0] + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken: + """ + serviceAccountToken is information about the serviceAccountToken data to project + + Attributes + ---------- + audience : str, default is Undefined, optional + audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. + expirationSeconds : int, default is Undefined, optional + expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. + path : str, default is Undefined, required + path is the path relative to the mount point of the file to project the token into. + """ + + + audience?: str + + expirationSeconds?: int + + path: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Quobyte: + """ + quobyte represents a Quobyte mount on the host that shares a pod's lifetime + + Attributes + ---------- + group : str, default is Undefined, optional + group to map volume access to Default is no group + readOnly : bool, default is Undefined, optional + readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. + registry : str, default is Undefined, required + registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes + tenant : str, default is Undefined, optional + tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin + user : str, default is Undefined, optional + user to map volume access to Defaults to serivceaccount user + volume : str, default is Undefined, required + volume is a string that references an already created Quobyte volume by name. + """ + + + group?: str + + readOnly?: bool + + registry: str + + tenant?: str + + user?: str + + volume: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Rbd: + """ + rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine + image : str, default is Undefined, required + image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + keyring : str, default is Undefined, optional + keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + monitors : [str], default is Undefined, required + monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + pool : str, default is Undefined, optional + pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + """ + + + fsType?: str + + image: str + + keyring?: str + + monitors: [str] + + pool?: str + + readOnly?: bool + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0RbdSecretRef: + """ + secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIO: + """ + scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". + gateway : str, default is Undefined, required + gateway is the host address of the ScaleIO API Gateway. + protectionDomain : str, default is Undefined, optional + protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef, default is Undefined, required + secret ref + sslEnabled : bool, default is Undefined, optional + sslEnabled Flag enable/disable SSL communication with Gateway, default false + storageMode : str, default is Undefined, optional + storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. + storagePool : str, default is Undefined, optional + storagePool is the ScaleIO Storage Pool associated with the protection domain. + system : str, default is Undefined, required + system is the name of the storage system as configured in ScaleIO. + volumeName : str, default is Undefined, optional + volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. + """ + + + fsType?: str + + gateway: str + + protectionDomain?: str + + readOnly?: bool + + secretRef: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef + + sslEnabled?: bool + + storageMode?: str + + storagePool?: str + + system: str + + volumeName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0ScaleIOSecretRef: + """ + secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Secret: + """ + secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0], default is Undefined, optional + items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its keys must be defined + secretName : str, default is Undefined, optional + secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + """ + + + defaultMode?: int + + items?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0] + + optional?: bool + + secretName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0Storageos: + """ + storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef, default is Undefined, optional + secret ref + volumeName : str, default is Undefined, optional + volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. + volumeNamespace : str, default is Undefined, optional + volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef + + volumeName?: str + + volumeNamespace?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0StorageosSecretRef: + """ + secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0PodSpecVolumesItems0VsphereVolume: + """ + vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + storagePolicyID : str, default is Undefined, optional + storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + storagePolicyName : str, default is Undefined, optional + storagePolicyName is the storage Policy Based Management (SPBM) profile name. + volumePath : str, default is Undefined, required + volumePath is the path that identifies vSphere volume vmdk + """ + + + fsType?: str + + storagePolicyID?: str + + storagePolicyName?: str + + volumePath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Probes: + """ + probes setting for healthy checks. + + Attributes + ---------- + roleProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe, default is Undefined, optional + role probe + roleProbeTimeoutAfterPodsReady : int, default is Undefined, optional + roleProbeTimeoutAfterPodsReady(in seconds), when all pods of the component are ready, it will detect whether the application is available in the pod. if pods exceed the InitializationTimeoutSeconds time without a role label, this component will enter the Failed/Abnormal phase. Note that this configuration will only take effect if the component supports RoleProbe and will not affect the life cycle of the pod. default values are 60 seconds. + runningProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe, default is Undefined, optional + running probe + statusProbe : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe, default is Undefined, optional + status probe + """ + + + roleProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe + + roleProbeTimeoutAfterPodsReady?: int + + runningProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe + + statusProbe?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe + + + check: + roleProbeTimeoutAfterPodsReady >= 30 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbe: + """ + Probe for DB role changed check. + + Attributes + ---------- + commands : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands, default is Undefined, optional + commands + failureThreshold : int, default is 3, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. + periodSeconds : int, default is 1, optional + How often (in seconds) to perform the probe. + timeoutSeconds : int, default is 1, optional + Number of seconds after which the probe times out. Defaults to 1 second. + """ + + + commands?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands + + failureThreshold?: int = 3 + + periodSeconds?: int = 1 + + timeoutSeconds?: int = 1 + + + check: + failureThreshold >= 2 + periodSeconds >= 1 + timeoutSeconds >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRoleProbeCommands: + """ + commands used to execute for probe. + + Attributes + ---------- + queries : [str], default is Undefined, optional + Read check executed on probe sidecar, used to check workload's readonly access. + writes : [str], default is Undefined, optional + Write check executed on probe sidecar, used to check workload's allow write access. + """ + + + queries?: [str] + + writes?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbe: + """ + Probe for DB running check. + + Attributes + ---------- + commands : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands, default is Undefined, optional + commands + failureThreshold : int, default is 3, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. + periodSeconds : int, default is 1, optional + How often (in seconds) to perform the probe. + timeoutSeconds : int, default is 1, optional + Number of seconds after which the probe times out. Defaults to 1 second. + """ + + + commands?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands + + failureThreshold?: int = 3 + + periodSeconds?: int = 1 + + timeoutSeconds?: int = 1 + + + check: + failureThreshold >= 2 + periodSeconds >= 1 + timeoutSeconds >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesRunningProbeCommands: + """ + commands used to execute for probe. + + Attributes + ---------- + queries : [str], default is Undefined, optional + Read check executed on probe sidecar, used to check workload's readonly access. + writes : [str], default is Undefined, optional + Write check executed on probe sidecar, used to check workload's allow write access. + """ + + + queries?: [str] + + writes?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbe: + """ + Probe for DB status check. + + Attributes + ---------- + commands : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands, default is Undefined, optional + commands + failureThreshold : int, default is 3, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. + periodSeconds : int, default is 1, optional + How often (in seconds) to perform the probe. + timeoutSeconds : int, default is 1, optional + Number of seconds after which the probe times out. Defaults to 1 second. + """ + + + commands?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands + + failureThreshold?: int = 3 + + periodSeconds?: int = 1 + + timeoutSeconds?: int = 1 + + + check: + failureThreshold >= 2 + periodSeconds >= 1 + timeoutSeconds >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ProbesStatusProbeCommands: + """ + commands used to execute for probe. + + Attributes + ---------- + queries : [str], default is Undefined, optional + Read check executed on probe sidecar, used to check workload's readonly access. + writes : [str], default is Undefined, optional + Write check executed on probe sidecar, used to check workload's allow write access. + """ + + + queries?: [str] + + writes?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpec: + """ + replicationSpec defines replication related spec if workloadType is Replication. + + Attributes + ---------- + llPodManagementPolicy : str, default is Undefined, optional + llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once. + llUpdateStrategy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy, default is Undefined, optional + ll update strategy + updateStrategy : str, default is "Serial", optional + updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following: + serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel + """ + + + llPodManagementPolicy?: str + + llUpdateStrategy?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy + + updateStrategy?: "Serial" | "BestEffortParallel" | "Parallel" = "Serial" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategy: + """ + llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + + Attributes + ---------- + rollingUpdate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate, default is Undefined, optional + rolling update + $type : str, default is Undefined, optional + Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. + """ + + + rollingUpdate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate + + $type?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ReplicationSpecLlUpdateStrategyRollingUpdate: + """ + RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + + Attributes + ---------- + maxUnavailable : int | str, default is Undefined, optional + The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable. + partition : int, default is Undefined, optional + Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0. + """ + + + maxUnavailable?: int | str + + partition?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ScriptSpecsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 script specs items0 + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + name : str, default is Undefined, required + Specify the name of configuration template. + namespace : str, default is "default", optional + Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace. + templateRef : str, default is Undefined, required + Specify the name of the referenced the configuration template ConfigMap object. + volumeName : str, default is Undefined, required + volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts. + """ + + + defaultMode?: int + + name: str + + namespace?: str = "default" + + templateRef: str + + volumeName: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + len(templateRef) <= 63 + regex.match(templateRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(volumeName) <= 63 + regex.match(volumeName, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0Service: + """ + service defines the behavior of a service spec. provide read-write service when WorkloadType is Consensus. + + Attributes + ---------- + ports : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0], default is Undefined, optional + The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + """ + + + ports?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0ServicePortsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 service ports items0 + + Attributes + ---------- + appProtocol : str, default is Undefined, optional + The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. + name : str, default is Undefined, optional + The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. + port : int, default is Undefined, required + The port that will be exposed by this service. + $protocol : str, default is "TCP", optional + The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". Default is TCP. + targetPort : int | str, default is Undefined, optional + Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service + """ + + + appProtocol?: str + + name?: str + + port: int + + $protocol?: "TCP" | "UDP" | "SCTP" = "TCP" + + targetPort?: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpec: + """ + statefulSpec defines stateful related spec if workloadType is Stateful. + + Attributes + ---------- + llPodManagementPolicy : str, default is Undefined, optional + llPodManagementPolicy is the low-level controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. `OrderedReady` policy specify where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. `Parallel` policy specify create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once. + llUpdateStrategy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy, default is Undefined, optional + ll update strategy + updateStrategy : str, default is "Serial", optional + updateStrategy, Pods update strategy. In case of workloadType=Consensus the update strategy will be following: + serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel + """ + + + llPodManagementPolicy?: str + + llUpdateStrategy?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy + + updateStrategy?: "Serial" | "BestEffortParallel" | "Parallel" = "Serial" + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategy: + """ + llUpdateStrategy indicates the low-level StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template. Will ignore `updateStrategy` attribute if provided. + + Attributes + ---------- + rollingUpdate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate, default is Undefined, optional + rolling update + $type : str, default is Undefined, optional + Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. + """ + + + rollingUpdate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate + + $type?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatefulSpecLlUpdateStrategyRollingUpdate: + """ + RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType. + + Attributes + ---------- + maxUnavailable : int | str, default is Undefined, optional + The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. This can not be 0. Defaults to 1. This field is alpha-level and is only honored by servers that enable the MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it will be counted towards MaxUnavailable. + partition : int, default is Undefined, optional + Partition indicates the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary based deployment. The default value is 0. + """ + + + maxUnavailable?: int | str + + partition?: int + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpec: + """ + statelessSpec defines stateless related spec if workloadType is Stateless. + + Attributes + ---------- + updateStrategy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy, default is Undefined, optional + update strategy + """ + + + updateStrategy?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategy: + """ + updateStrategy defines the underlying deployment strategy to use to replace existing pods with new ones. + + Attributes + ---------- + rollingUpdate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate, default is Undefined, optional + rolling update + $type : str, default is Undefined, optional + Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. + """ + + + rollingUpdate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate + + $type?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0StatelessSpecUpdateStrategyRollingUpdate: + """ + Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. + + Attributes + ---------- + maxSurge : int | str, default is Undefined, optional + The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods. + maxUnavailable : int | str, default is Undefined, optional + The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods. + """ + + + maxSurge?: int | str + + maxUnavailable?: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpec: + """ + switchoverSpec defines command to do switchover. in particular, when workloadType=Replication, the command defined in switchoverSpec will only be executed under the condition of cluster.componentSpecs[x].SwitchPolicy.type=Noop. + + Attributes + ---------- + withCandidate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate, default is Undefined, optional + with candidate + withoutCandidate : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate, default is Undefined, optional + without candidate + """ + + + withCandidate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate + + withoutCandidate?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidate: + """ + withCandidate corresponds to the switchover of the specified candidate primary or leader instance. + + Attributes + ---------- + cmdExecutorConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig, default is Undefined, required + cmd executor config + scriptSpecSelectors : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0], default is Undefined, optional + scriptSpecSelectors defines the selector of the scriptSpecs that need to be referenced. Once ScriptSpecSelectors is defined, the scripts defined in scriptSpecs can be referenced in the SwitchoverAction.CmdExecutorConfig. + """ + + + cmdExecutorConfig: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig + + scriptSpecSelectors?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfig: + """ + cmdExecutorConfig is the executor configuration of the switchover command. + + Attributes + ---------- + args : [str], default is Undefined, optional + args is used to perform statements. + command : [str], default is Undefined, required + command to perform statements. + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0], default is Undefined, optional + envs is a list of environment variables. + image : str, default is Undefined, required + image for Connector when executing the command. + """ + + + args?: [str] + + command: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0] + + image: str + + + check: + len(command) >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithCandidateScriptSpecSelectorsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 switchover spec with candidate script spec selectors items0 + + Attributes + ---------- + name : str, default is Undefined, required + ScriptSpec name of the referent, refer to componentDefs[x].scriptSpecs[y].Name. + """ + + + name: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidate: + """ + withoutCandidate corresponds to a switchover that does not specify a candidate primary or leader instance. + + Attributes + ---------- + cmdExecutorConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig, default is Undefined, required + cmd executor config + scriptSpecSelectors : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0], default is Undefined, optional + scriptSpecSelectors defines the selector of the scriptSpecs that need to be referenced. Once ScriptSpecSelectors is defined, the scripts defined in scriptSpecs can be referenced in the SwitchoverAction.CmdExecutorConfig. + """ + + + cmdExecutorConfig: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig + + scriptSpecSelectors?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfig: + """ + cmdExecutorConfig is the executor configuration of the switchover command. + + Attributes + ---------- + args : [str], default is Undefined, optional + args is used to perform statements. + command : [str], default is Undefined, required + command to perform statements. + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0], default is Undefined, optional + envs is a list of environment variables. + image : str, default is Undefined, required + image for Connector when executing the command. + """ + + + args?: [str] + + command: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0] + + image: str + + + check: + len(command) >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateCmdExecutorConfigEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SwitchoverSpecWithoutCandidateScriptSpecSelectorsItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 switchover spec without candidate script spec selectors items0 + + Attributes + ---------- + name : str, default is Undefined, required + ScriptSpec name of the referent, refer to componentDefs[x].scriptSpecs[y].Name. + """ + + + name: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccounts: + """ + Statement to create system account. + + Attributes + ---------- + accounts : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0], default is Undefined, required + accounts defines system account config settings. + cmdExecutorConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig, default is Undefined, required + cmd executor config + passwordConfig : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig, default is Undefined, required + password config + """ + + + accounts: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0] + + cmdExecutorConfig: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig + + passwordConfig: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig + + + check: + len(accounts) >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0: + """ + SystemAccountConfig specifies how to create and delete system accounts. + + Attributes + ---------- + name : str, default is Undefined, required + name is the name of a system account. + provisionPolicy : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy, default is Undefined, required + provision policy + """ + + + name: "kbadmin" | "kbdataprotection" | "kbprobe" | "kbmonitoring" | "kbreplicator" + + provisionPolicy: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicy: + """ + provisionPolicy defines how to create account. + + Attributes + ---------- + scope : str, default is "AnyPods", required + scope is the scope to provision account, and the scope could be `AnyPods` or `AllPods`. + secretRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef, default is Undefined, optional + secret ref + statements : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements, default is Undefined, optional + statements + $type : str, default is Undefined, required + type defines the way to provision an account, either `CreateByStmt` or `ReferToExisting`. + """ + + + scope: str = "AnyPods" + + secretRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef + + statements?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicySecretRef: + """ + secretRef will be used when Type is ReferToExisting. + + Attributes + ---------- + name : str, default is Undefined, required + name refers to the name of the secret. + namespace : str, default is Undefined, required + namespace refers to the namespace of the secret. + """ + + + name: str + + namespace: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsAccountsItems0ProvisionPolicyStatements: + """ + statements will be used when Type is CreateByStmt. + + Attributes + ---------- + creation : str, default is Undefined, required + creation specifies statement how to create this account with required privileges. + deletion : str, default is Undefined, optional + deletion specifies statement how to delete this account. Used in combination with `CreateionStatement` to delete the account before create it. For instance, one usually uses `drop user if exists` statement followed by `create user` statement to create an account. Deprecated: this field is deprecated, use `update` instead. + update : str, default is Undefined, optional + update specifies statement how to update account's password. + """ + + + creation: str + + deletion?: str + + update?: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfig: + """ + cmdExecutorConfig configs how to get client SDK and perform statements. + + Attributes + ---------- + args : [str], default is Undefined, optional + args is used to perform statements. + command : [str], default is Undefined, required + command to perform statements. + env : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0], default is Undefined, optional + envs is a list of environment variables. + image : str, default is Undefined, required + image for Connector when executing the command. + """ + + + args?: [str] + + command: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0] + + image: str + + + check: + len(command) >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsCmdExecutorConfigEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0SystemAccountsPasswordConfig: + """ + passwordConfig defines the pattern to generate password. + + Attributes + ---------- + length : int, default is 10, optional + length defines the length of password. + letterCase : str, default is "MixedCases", optional + letterCase defines to use lower-cases, upper-cases or mixed-cases of letters. + numDigits : int, default is 2, optional + numDigits defines number of digits. + numSymbols : int, default is Undefined, optional + numSymbols defines number of symbols. + """ + + + length?: int = 10 + + letterCase?: str = "MixedCases" + + numDigits?: int = 2 + + numSymbols?: int = 0 + + + check: + length <= 32 + length >= 8 + numDigits <= 20 + numDigits >= 0 + numSymbols <= 20 + numSymbols >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpec: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume protection spec + + Attributes + ---------- + highWatermark : int, default is 90, optional + The high watermark threshold for volume space usage. If there is any specified volumes who's space usage is over the threshold, the pre-defined "LOCK" action will be triggered to degrade the service to protect volume from space exhaustion, such as to set the instance as read-only. And after that, if all volumes' space usage drops under the threshold later, the pre-defined "UNLOCK" action will be performed to recover the service normally. + volumes : [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0], default is Undefined, optional + Volumes to protect. + """ + + + highWatermark?: int = 90 + + volumes?: [AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0] + + + check: + highWatermark <= 100 + highWatermark >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeProtectionSpecVolumesItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume protection spec volumes items0 + + Attributes + ---------- + highWatermark : int, default is Undefined, optional + Volume specified high watermark threshold, it will override the component level threshold. If the value is invalid, it will be ignored and the component level threshold will be used. + name : str, default is Undefined, optional + Name of volume to protect. + """ + + + highWatermark?: int + + name?: str + + + check: + highWatermark <= 100 + highWatermark >= 0 + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionSpecComponentDefsItems0VolumeTypesItems0: + """ + apps kubeblocks io v1alpha1 cluster definition spec component defs items0 volume types items0 + + Attributes + ---------- + name : str, default is Undefined, required + name definition is the same as the name of the VolumeMounts field in PodSpec.Container, similar to the relations of Volumes[*].name and VolumesMounts[*].name in Pod.Spec. + $type : str, default is Undefined, optional + type is in enum of {data, log}. VolumeTypeData: the volume is for the persistent data storage. VolumeTypeLog: the volume is for the persistent log storage. + """ + + + name: str + + $type?: "data" | "log" + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterDefinitionStatus: + """ + ClusterDefinitionStatus defines the observed state of ClusterDefinition + + Attributes + ---------- + message : str, default is Undefined, optional + Extra message in current phase + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this ClusterDefinition. It corresponds to the ClusterDefinition's generation, which is updated on mutation by the API Server. + phase : str, default is Undefined, optional + ClusterDefinition phase, valid values are `empty`, `Available`, 'Unavailable`. Available is ClusterDefinition become available, and can be referenced for co-related objects. + """ + + + message?: str + + observedGeneration?: int + + phase?: "Available" | "Unavailable" + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_version.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_version.k new file mode 100644 index 00000000..620bba72 --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_cluster_version.k @@ -0,0 +1,3012 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ClusterVersion: + """ + ClusterVersion is the Schema for the ClusterVersions API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ClusterVersion", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ClusterVersionSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1ClusterVersionStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "ClusterVersion" = "ClusterVersion" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ClusterVersionSpec + + status?: AppsKubeblocksIoV1alpha1ClusterVersionStatus + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpec: + """ + ClusterVersionSpec defines the desired state of ClusterVersion + + Attributes + ---------- + clusterDefinitionRef : str, default is Undefined, required + ref ClusterDefinition. + componentVersions : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0], default is Undefined, required + List of components' containers versioning context, i.e., container image ID, container commands, args., and environments. + """ + + + clusterDefinitionRef: str + + componentVersions: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0] + + + check: + regex.match(clusterDefinitionRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(componentVersions) >= 1 + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0: + """ + ClusterComponentVersion is an application version component spec. + + Attributes + ---------- + componentDefRef : str, default is Undefined, required + componentDefRef reference one of the cluster component definition names in ClusterDefinition API (spec.componentDefs.name). + configSpecs : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0], default is Undefined, optional + configSpecs defines a configuration extension mechanism to handle configuration differences between versions, the configTemplateRefs field, together with configTemplateRefs in the ClusterDefinition, determines the final configuration file. + switchoverSpec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec, default is Undefined, optional + switchover spec + systemAccountSpec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec, default is Undefined, optional + system account spec + versionsContext : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext, default is Undefined, required + versions context + """ + + + componentDefRef: str + + configSpecs?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0] + + switchoverSpec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec + + systemAccountSpec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec + + versionsContext: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext + + + check: + len(componentDefRef) <= 63 + regex.match(componentDefRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0: + """ + apps kubeblocks io v1alpha1 cluster version spec component versions items0 config specs items0 + + Attributes + ---------- + asEnvFrom : [str], default is Undefined, optional + asEnvFrom is optional: the list of containers will be injected into EnvFrom. + constraintRef : str, default is Undefined, optional + Specify the name of the referenced the configuration constraints object. + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + keys : [str], default is Undefined, optional + Specify a list of keys. If empty, ConfigConstraint takes effect for all keys in configmap. + lazyRenderedConfigSpec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec, default is Undefined, optional + lazy rendered config spec + name : str, default is Undefined, required + Specify the name of configuration template. + namespace : str, default is "default", optional + Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace. + templateRef : str, default is Undefined, required + Specify the name of the referenced the configuration template ConfigMap object. + volumeName : str, default is Undefined, required + volumeName is the volume name of PodTemplate, which the configuration file produced through the configuration template will be mounted to the corresponding volume. Must be a DNS_LABEL name. The volume name must be defined in podSpec.containers[*].volumeMounts. + """ + + + asEnvFrom?: [str] + + constraintRef?: str + + defaultMode?: int + + keys?: [str] + + lazyRenderedConfigSpec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec + + name: str + + namespace?: str = "default" + + templateRef: str + + volumeName: str + + + check: + len(constraintRef) <= 63 + regex.match(constraintRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if constraintRef + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + len(templateRef) <= 63 + regex.match(templateRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + len(volumeName) <= 63 + regex.match(volumeName, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0ConfigSpecsItems0LazyRenderedConfigSpec: + """ + lazyRenderedConfigSpec is optional: specify the secondary rendered config spec. + + Attributes + ---------- + namespace : str, default is "default", optional + Specify the namespace of the referenced the configuration template ConfigMap object. An empty namespace is equivalent to the "default" namespace. + policy : str, default is "patch", optional + policy defines how to merge external imported templates into component templates. + templateRef : str, default is Undefined, required + Specify the name of the referenced the configuration template ConfigMap object. + """ + + + namespace?: str = "default" + + policy?: "patch" | "replace" | "none" = "patch" + + templateRef: str + + + check: + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + len(templateRef) <= 63 + regex.match(templateRef, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpec: + """ + switchoverSpec defines images for the component to do switchover. It overrides `image` and `env` attributes defined in ClusterDefinition.spec.componentDefs.SwitchoverSpec.CommandExecutorEnvItem. + + Attributes + ---------- + cmdExecutorConfig : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig, default is Undefined, required + cmd executor config + """ + + + cmdExecutorConfig: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfig: + """ + CmdExecutorConfig is the command executor config. + + Attributes + ---------- + env : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0], default is Undefined, optional + envs is a list of environment variables. + image : str, default is Undefined, required + image for Connector when executing the command. + """ + + + env?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0] + + image: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SwitchoverSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpec: + """ + systemAccountSpec define image for the component to connect database or engines. It overrides `image` and `env` attributes defined in ClusterDefinition.spec.componentDefs.systemAccountSpec.cmdExecutorConfig. To clean default envs settings, set `SystemAccountSpec.CmdExecutorConfig.Env` to empty list. + + Attributes + ---------- + cmdExecutorConfig : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig, default is Undefined, required + cmd executor config + """ + + + cmdExecutorConfig: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfig: + """ + cmdExecutorConfig configs how to get client SDK and perform statements. + + Attributes + ---------- + env : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0], default is Undefined, optional + envs is a list of environment variables. + image : str, default is Undefined, required + image for Connector when executing the command. + """ + + + env?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0] + + image: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0SystemAccountSpecCmdExecutorConfigEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContext: + """ + versionContext defines containers images' context for component versions, this value replaces ClusterDefinition.spec.componentDefs.podSpec.[initContainers | containers] + + Attributes + ---------- + containers : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0], default is Undefined, optional + Provide ClusterDefinition.spec.componentDefs.podSpec.containers override values, typical scenarios are application container image updates. + initContainers : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0], default is Undefined, optional + Provide ClusterDefinition.spec.componentDefs.podSpec.initContainers override values, typical scenarios are application container image updates. + """ + + + containers?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0] + + initContainers?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources, default is Undefined, optional + resources + securityContext : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0] + + envFrom?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle + + livenessProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe + + name: str + + ports?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0] + + readinessProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe + + resources?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources + + securityContext?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContext + + startupProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0] + + volumeMounts?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart + + preStop?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeccompProfile + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources, default is Undefined, optional + resources + securityContext : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0] + + envFrom?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle + + livenessProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe + + name: str + + ports?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0] + + readinessProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe + + resources?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources + + securityContext?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContext + + startupProbe?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0] + + volumeMounts?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart + + preStop?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeccompProfile + + windowsOptions?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextWindowsOptions + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc + + httpGet?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionSpecComponentVersionsItems0VersionsContextInitContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema AppsKubeblocksIoV1alpha1ClusterVersionStatus: + """ + ClusterVersionStatus defines the observed state of ClusterVersion + + Attributes + ---------- + clusterDefGeneration : int, default is Undefined, optional + clusterDefGeneration represents the generation number of ClusterDefinition referenced. + message : str, default is Undefined, optional + A human readable message indicating details about why the ClusterVersion is in this phase. + observedGeneration : int, default is Undefined, optional + generation number + phase : str, default is Undefined, optional + phase - in list of [Available,Unavailable] + """ + + + clusterDefGeneration?: int + + message?: str + + observedGeneration?: int + + phase?: "Available" | "Unavailable" + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_class_definition.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_class_definition.k new file mode 100644 index 00000000..12093460 --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_class_definition.k @@ -0,0 +1,173 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ComponentClassDefinition: + """ + ComponentClassDefinition is the Schema for the componentclassdefinitions API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ComponentClassDefinition", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "ComponentClassDefinition" = "ComponentClassDefinition" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec + + status?: AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpec: + """ + ComponentClassDefinitionSpec defines the desired state of ComponentClassDefinition + + Attributes + ---------- + groups : [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0], default is Undefined, optional + group defines a list of class series that conform to the same constraint. + """ + + + groups?: [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0] + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0: + """ + apps kubeblocks io v1alpha1 component class definition spec groups items0 + + Attributes + ---------- + series : [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0], default is Undefined, optional + series is a series of class definitions. + template : str, default is Undefined, optional + template is a class definition template that uses the Go template syntax and allows for variable declaration. When defining a class in Series, specifying the variable's value is sufficient, as the complete class definition will be generated through rendering the template. + For example: template: | cpu: "{{ or .cpu 1 }}" memory: "{{ or .memory 4 }}Gi" + vars : [str], default is Undefined, optional + vars defines the variables declared in the template and will be used to generating the complete class definition by render the template. + """ + + + series?: [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0] + + template?: str + + vars?: [str] + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0: + """ + apps kubeblocks io v1alpha1 component class definition spec groups items0 series items0 + + Attributes + ---------- + classes : [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0], default is Undefined, optional + classes are definitions of classes that come in two forms. In the first form, only ComponentClass.Args need to be defined, and the complete class definition is generated by rendering the ComponentClassGroup.Template and Name. In the second form, the Name, CPU and Memory must be defined. + namingTemplate : str, default is Undefined, optional + namingTemplate is a template that uses the Go template syntax and allows for referencing variables defined in ComponentClassGroup.Template. This enables dynamic generation of class names. For example: name: "general-{{ .cpu }}c{{ .memory }}g" + """ + + + classes?: [AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0] + + namingTemplate?: str + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionSpecGroupsItems0SeriesItems0ClassesItems0: + """ + apps kubeblocks io v1alpha1 component class definition spec groups items0 series items0 classes items0 + + Attributes + ---------- + args : [str], default is Undefined, optional + args are variable's value + cpu : int | str, default is Undefined, optional + the CPU of the class + memory : int | str, default is Undefined, optional + the memory of the class + name : str, default is Undefined, optional + name is the class name + """ + + + args?: [str] + + cpu?: int | str + + memory?: int | str + + name?: str + + + check: + regex.match(str(cpu), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if cpu + regex.match(str(memory), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if memory + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatus: + """ + ComponentClassDefinitionStatus defines the observed state of ComponentClassDefinition + + Attributes + ---------- + classes : [AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0], default is Undefined, optional + classes is the list of classes that have been observed for this ComponentClassDefinition + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this ComponentClassDefinition. It corresponds to the ComponentClassDefinition's generation, which is updated on mutation by the API Server. + """ + + + classes?: [AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0] + + observedGeneration?: int + + +schema AppsKubeblocksIoV1alpha1ComponentClassDefinitionStatusClassesItems0: + """ + apps kubeblocks io v1alpha1 component class definition status classes items0 + + Attributes + ---------- + args : [str], default is Undefined, optional + args are variable's value + cpu : int | str, default is Undefined, optional + the CPU of the class + memory : int | str, default is Undefined, optional + the memory of the class + name : str, default is Undefined, optional + name is the class name + """ + + + args?: [str] + + cpu?: int | str + + memory?: int | str + + name?: str + + + check: + regex.match(str(cpu), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if cpu + regex.match(str(memory), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if memory + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_resource_constraint.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_resource_constraint.k new file mode 100644 index 00000000..83317ee8 --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_component_resource_constraint.k @@ -0,0 +1,197 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ComponentResourceConstraint: + """ + ComponentResourceConstraint is the Schema for the componentresourceconstraints API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ComponentResourceConstraint", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec, default is Undefined, optional + spec + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "ComponentResourceConstraint" = "ComponentResourceConstraint" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpec: + """ + ComponentResourceConstraintSpec defines the desired state of ComponentResourceConstraint + + Attributes + ---------- + rules : [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0], default is Undefined, required + Component resource constraint rules. + selector : [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0], default is Undefined, optional + selector is used to bind the resource constraint to cluster definitions. + """ + + + rules: [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0] + + selector?: [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0] + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0: + """ + apps kubeblocks io v1alpha1 component resource constraint spec rules items0 + + Attributes + ---------- + cpu : AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU, default is Undefined, required + cpu + memory : AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory, default is Undefined, required + memory + name : str, default is Undefined, required + The name of the constraint. + storage : AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage, default is Undefined, optional + storage + """ + + + cpu: AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU + + memory: AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory + + name: str + + storage?: AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0CPU: + """ + The constraint for vcpu cores. + + Attributes + ---------- + max : int | str, default is Undefined, optional + The maximum count of vcpu cores, [Min, Max] defines a range for valid vcpu cores, and the value in this range must be multiple times of Step. It's useful to define a large number of valid values without defining them one by one. Please see the documentation for Step for some examples. If Slots is specified, Max, Min, and Step are ignored + min : int | str, default is Undefined, optional + The minimum count of vcpu cores, [Min, Max] defines a range for valid vcpu cores, and the value in this range must be multiple times of Step. It's useful to define a large number of valid values without defining them one by one. Please see the documentation for Step for some examples. If Slots is specified, Max, Min, and Step are ignored + slots : [int | str], default is Undefined, optional + The valid vcpu cores, it's useful if you want to define valid vcpu cores explicitly. If Slots is specified, Max, Min, and Step are ignored + step : int | str, default is Undefined, optional + The minimum granularity of vcpu cores, [Min, Max] defines a range for valid vcpu cores and the value in this range must be multiple times of Step. For example: 1. Min is 2, Max is 8, Step is 2, and the valid vcpu core is {2, 4, 6, 8}. 2. Min is 0.5, Max is 2, Step is 0.5, and the valid vcpu core is {0.5, 1, 1.5, 2}. + """ + + + max?: int | str + + min?: int | str + + slots?: [int | str] + + step?: int | str + + + check: + regex.match(str(max), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if max + regex.match(str(min), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if min + regex.match(str(step), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if step + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Memory: + """ + The constraint for memory size. + + Attributes + ---------- + maxPerCPU : int | str, default is Undefined, optional + The maximum size of memory per vcpu core, [MinPerCPU, MaxPerCPU] defines a range for valid memory size per vcpu core. It is useful on GCP as the ratio between the CPU and memory may be a range. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignored. Reference: https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types + minPerCPU : int | str, default is Undefined, optional + The minimum size of memory per vcpu core, [MinPerCPU, MaxPerCPU] defines a range for valid memory size per vcpu core. It is useful on GCP as the ratio between the CPU and memory may be a range. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignored. Reference: https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types + sizePerCPU : int | str, default is Undefined, optional + The size of memory per vcpu core. For example: 1Gi, 200Mi. If SizePerCPU is specified, MinPerCPU and MaxPerCPU are ignore. + """ + + + maxPerCPU?: int | str + + minPerCPU?: int | str + + sizePerCPU?: int | str + + + check: + regex.match(str(maxPerCPU), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if maxPerCPU + regex.match(str(minPerCPU), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if minPerCPU + regex.match(str(sizePerCPU), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if sizePerCPU + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecRulesItems0Storage: + """ + The constraint for storage size. + + Attributes + ---------- + max : int | str, default is "10Ti", optional + The maximum size of storage. + min : int | str, default is "20Gi", optional + The minimum size of storage. + """ + + + max?: int | str = "10Ti" + + min?: int | str = "20Gi" + + + check: + regex.match(str(max), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if max + regex.match(str(min), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if min + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0: + """ + apps kubeblocks io v1alpha1 component resource constraint spec selector items0 + + Attributes + ---------- + clusterDefRef : str, default is Undefined, required + clusterDefRef is the name of the cluster definition. + components : [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0], default is Undefined, required + selector is used to bind the resource constraint to components. + """ + + + clusterDefRef: str + + components: [AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0] + + +schema AppsKubeblocksIoV1alpha1ComponentResourceConstraintSpecSelectorItems0ComponentsItems0: + """ + apps kubeblocks io v1alpha1 component resource constraint spec selector items0 components items0 + + Attributes + ---------- + componentDefRef : str, default is Undefined, required + componentDefRef is the name of the component definition in the cluster definition. + rules : [str], default is Undefined, required + rules are the constraint rules that will be applied to the component. + """ + + + componentDefRef: str + + rules: [str] + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_config_constraint.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_config_constraint.k new file mode 100644 index 00000000..2fec430a --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_config_constraint.k @@ -0,0 +1,464 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ConfigConstraint: + """ + ConfigConstraint is the Schema for the configconstraint API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ConfigConstraint", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1ConfigConstraintSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1ConfigConstraintStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "ConfigConstraint" = "ConfigConstraint" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1ConfigConstraintSpec + + status?: AppsKubeblocksIoV1alpha1ConfigConstraintStatus + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpec: + """ + ConfigConstraintSpec defines the desired state of ConfigConstraint + + Attributes + ---------- + cfgSchemaTopLevelName : str, default is Undefined, optional + cfgSchemaTopLevelName is cue type name, which generates openapi schema. + configurationSchema : AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema, default is Undefined, optional + configuration schema + downwardAPIOptions : [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0], default is Undefined, optional + downwardAPIOptions is used to watch pod fields. + dynamicParameters : [str], default is Undefined, optional + dynamicParameters, list of DynamicParameter, modifications of them trigger a config dynamic reload without process restart. + formatterConfig : AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig, default is Undefined, required + formatter config + immutableParameters : [str], default is Undefined, optional + immutableParameters describes parameters that prohibit user from modification. + reloadOptions : AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions, default is Undefined, optional + reload options + scriptConfigs : [AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0], default is Undefined, optional + scriptConfigs, list of ScriptConfig, witch these scripts can be used by volume trigger,downward trigger, or tool image + selector : AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector, default is Undefined, optional + selector + staticParameters : [str], default is Undefined, optional + staticParameters, list of StaticParameter, modifications of them trigger a process restart. + toolsImageSpec : AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec, default is Undefined, optional + tools image spec + """ + + + cfgSchemaTopLevelName?: str + + configurationSchema?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema + + downwardAPIOptions?: [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0] + + dynamicParameters?: [str] + + formatterConfig: AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig + + immutableParameters?: [str] + + reloadOptions?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions + + scriptConfigs?: [AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0] + + selector?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector + + staticParameters?: [str] + + toolsImageSpec?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecConfigurationSchema: + """ + configurationSchema imposes restrictions on database parameter's rule. + + Attributes + ---------- + cue : str, default is Undefined, optional + cue that to let provider verify user configuration through cue language. + $schema : any, default is Undefined, optional + schema provides a way for providers to validate the changed parameters through json. + """ + + + cue?: str + + $schema?: any + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0: + """ + apps kubeblocks io v1alpha1 config constraint spec downward API options items0 + + Attributes + ---------- + command : [str], default is Undefined, optional + command used to execute for downwrad api. + items : [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0], default is Undefined, required + Items is a list of downward API volume file + mountPoint : str, default is Undefined, required + mountPoint is the mount point of the scripts file. + name : str, default is Undefined, required + Specify the name of the field. + """ + + + command?: [str] + + items: [AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0] + + mountPoint: str + + name: str + + + check: + len(mountPoint) <= 128 + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecDownwardAPIOptionsItems0ItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfig: + """ + formatterConfig describes the format of the configuration file, the controller 1. parses configuration file 2. analyzes the modified parameters 3. applies corresponding policies. + + Attributes + ---------- + format : str, default is Undefined, required + The configuration file format. Valid values are ini, xml, yaml, json, hcl, dotenv, properties and toml. + ini: a configuration file that consists of a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file xml: reference wiki: https://en.wikipedia.org/wiki/XML yaml: a configuration file support for complex data types and structures. json: reference wiki: https://en.wikipedia.org/wiki/JSON hcl: : The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ dotenv: this was a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties toml: reference wiki: https://en.wikipedia.org/wiki/TOML props-plus: a file extension mainly used in Java, support CamelCase(e.g: brokerMaxConnectionsPerIp) + iniConfig : AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig, default is Undefined, optional + ini config + """ + + + format: "xml" | "ini" | "yaml" | "json" | "hcl" | "dotenv" | "toml" | "properties" | "redis" | "props-plus" + + iniConfig?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecFormatterConfigIniConfig: + """ + iniConfig represents the ini options. + + Attributes + ---------- + sectionName : str, default is Undefined, optional + sectionName describes ini section. + """ + + + sectionName?: str + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptions: + """ + reloadOptions indicates whether the process supports reload. if set, the controller will determine the behavior of the engine instance based on the configuration templates, restart or reload depending on whether any parameters in the StaticParameters have been modified. + + Attributes + ---------- + shellTrigger : AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger, default is Undefined, optional + shell trigger + tplScriptTrigger : AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger, default is Undefined, optional + tpl script trigger + unixSignalTrigger : AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger, default is Undefined, optional + unix signal trigger + """ + + + shellTrigger?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger + + tplScriptTrigger?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger + + unixSignalTrigger?: AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsShellTrigger: + """ + shellTrigger performs the reload command. + + Attributes + ---------- + command : [str], default is Undefined, required + command used to execute for reload. + sync : bool, default is Undefined, optional + Specify synchronize updates parameters to the config manager. + """ + + + command: [str] + + sync?: bool + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsTplScriptTrigger: + """ + goTplTrigger performs the reload command. + + Attributes + ---------- + namespace : str, default is "default", optional + Specify the namespace of the referenced the tpl script ConfigMap object. An empty namespace is equivalent to the "default" namespace. + scriptConfigMapRef : str, default is Undefined, required + scriptConfigMapRef used to execute for reload. + sync : bool, default is Undefined, optional + Specify synchronize updates parameters to the config manager. + """ + + + namespace?: str = "default" + + scriptConfigMapRef: str + + sync?: bool + + + check: + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecReloadOptionsUnixSignalTrigger: + """ + unixSignalTrigger used to reload by sending a signal. + + Attributes + ---------- + processName : str, default is Undefined, required + processName is process name, sends unix signal to proc. + signal : str, default is Undefined, required + signal is valid for unix signal. e.g: SIGHUP url: ../../internal/configuration/configmap/handler.go:allUnixSignals + """ + + + processName: str + + signal: "SIGHUP" | "SIGINT" | "SIGQUIT" | "SIGILL" | "SIGTRAP" | "SIGABRT" | "SIGBUS" | "SIGFPE" | "SIGKILL" | "SIGUSR1" | "SIGSEGV" | "SIGUSR2" | "SIGPIPE" | "SIGALRM" | "SIGTERM" | "SIGSTKFLT" | "SIGCHLD" | "SIGCONT" | "SIGSTOP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGURG" | "SIGXCPU" | "SIGXFSZ" | "SIGVTALRM" | "SIGPROF" | "SIGWINCH" | "SIGIO" | "SIGPWR" | "SIGSYS" + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecScriptConfigsItems0: + """ + apps kubeblocks io v1alpha1 config constraint spec script configs items0 + + Attributes + ---------- + namespace : str, default is "default", optional + Specify the namespace of the referenced the tpl script ConfigMap object. An empty namespace is equivalent to the "default" namespace. + scriptConfigMapRef : str, default is Undefined, required + scriptConfigMapRef used to execute for reload. + """ + + + namespace?: str = "default" + + scriptConfigMapRef: str + + + check: + len(namespace) <= 63 + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") if namespace + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelector: + """ + selector is used to match the label on the pod, for example, a pod of the primary is match on the patroni cluster. + + Attributes + ---------- + matchExpressions : [AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpec: + """ + toolConfig used to config init container. + + Attributes + ---------- + mountPoint : str, default is Undefined, required + mountPoint is the mount point of the scripts file. + toolConfigs : [AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0], default is Undefined, optional + toolConfig used to config init container. + """ + + + mountPoint: str + + toolConfigs?: [AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0] + + + check: + len(mountPoint) <= 128 + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintSpecToolsImageSpecToolConfigsItems0: + """ + apps kubeblocks io v1alpha1 config constraint spec tools image spec tool configs items0 + + Attributes + ---------- + command : [str], default is Undefined, required + exec used to execute for init containers. + image : str, default is Undefined, optional + tools Container image name. + name : str, default is Undefined, optional + Specify the name of initContainer. Must be a DNS_LABEL name. + """ + + + command: [str] + + image?: str + + name?: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z]([a-z0-9\-]*[a-z0-9])?$") if name + + +schema AppsKubeblocksIoV1alpha1ConfigConstraintStatus: + """ + ConfigConstraintStatus defines the observed state of ConfigConstraint. + + Attributes + ---------- + message : str, default is Undefined, optional + message field describes the reasons of abnormal status. + observedGeneration : int, default is Undefined, optional + observedGeneration is the latest generation observed for this ClusterDefinition. It refers to the ConfigConstraint's generation, which is updated by the API Server. + phase : str, default is Undefined, optional + phase is status of configuration template, when set to CCAvailablePhase, it can be referenced by ClusterDefinition or ClusterVersion. + """ + + + message?: str + + observedGeneration?: int + + phase?: "Available" | "Unavailable" | "Deleting" + + diff --git a/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_ops_request.k b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_ops_request.k new file mode 100644 index 00000000..e49ec299 --- /dev/null +++ b/kubeblocks/v1alpha1/apps_kubeblocks_io_v1alpha1_ops_request.k @@ -0,0 +1,1027 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema OpsRequest: + """ + OpsRequest is the Schema for the opsrequests API + + Attributes + ---------- + apiVersion : str, default is "apps.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "OpsRequest", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : AppsKubeblocksIoV1alpha1OpsRequestSpec, default is Undefined, optional + spec + status : AppsKubeblocksIoV1alpha1OpsRequestStatus, default is Undefined, optional + status + """ + + + apiVersion: "apps.kubeblocks.io/v1alpha1" = "apps.kubeblocks.io/v1alpha1" + + kind: "OpsRequest" = "OpsRequest" + + metadata?: v1.ObjectMeta + + spec?: AppsKubeblocksIoV1alpha1OpsRequestSpec + + status?: AppsKubeblocksIoV1alpha1OpsRequestStatus + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpec: + """ + OpsRequestSpec defines the desired state of OpsRequest + + Attributes + ---------- + cancel : bool, default is Undefined, optional + cancel defines the action to cancel the Pending/Creating/Running opsRequest, supported types: [VerticalScaling, HorizontalScaling]. once cancel is set to true, this opsRequest will be canceled and modifying this property again will not take effect. + clusterRef : str, default is Undefined, required + clusterRef references clusterDefinition. + expose : [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0], default is Undefined, optional + expose defines services the component needs to expose. + horizontalScaling : [AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0], default is Undefined, optional + horizontalScaling defines what component need to horizontal scale the specified replicas. + reconfigure : AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure, default is Undefined, optional + reconfigure + restart : [AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0], default is Undefined, optional + restart the specified components. + restoreFrom : AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom, default is Undefined, optional + restore from + scriptSpec : AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec, default is Undefined, optional + script spec + switchover : [AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0], default is Undefined, optional + switchover the specified components. + ttlSecondsAfterSucceed : int, default is Undefined, optional + ttlSecondsAfterSucceed OpsRequest will be deleted after TTLSecondsAfterSucceed second when OpsRequest.status.phase is Succeed. + ttlSecondsBeforeAbort : int, default is Undefined, optional + ttlSecondsBeforeAbort OpsRequest will wait at most TTLSecondsBeforeAbort seconds for start-conditions to be met. If not specified, the default value is 0, which means that the start-conditions must be met immediately. + $type : str, default is Undefined, required + type defines the operation type. + upgrade : AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade, default is Undefined, optional + upgrade + verticalScaling : [AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0], default is Undefined, optional + verticalScaling defines what component need to vertical scale the specified compute resources. + volumeExpansion : [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0], default is Undefined, optional + volumeExpansion defines what component and volumeClaimTemplate need to expand the specified storage. + """ + + + cancel?: bool + + clusterRef: str + + expose?: [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0] + + horizontalScaling?: [AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0] + + reconfigure?: AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure + + restart?: [AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0] + + restoreFrom?: AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom + + scriptSpec?: AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec + + switchover?: [AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0] + + ttlSecondsAfterSucceed?: int + + ttlSecondsBeforeAbort?: int = 0 + + $type: "Upgrade" | "VerticalScaling" | "VolumeExpansion" | "HorizontalScaling" | "Restart" | "Reconfiguring" | "Start" | "Stop" | "Expose" | "Switchover" | "DataScript" + + upgrade?: AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade + + verticalScaling?: [AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0] + + volumeExpansion?: [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0] + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0: + """ + apps kubeblocks io v1alpha1 ops request spec expose items0 + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + services : [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0], default is Undefined, required + Setting the list of services to be exposed. + """ + + + componentName: str + + services: [AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0] + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecExposeItems0ServicesItems0: + """ + apps kubeblocks io v1alpha1 ops request spec expose items0 services items0 + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + If ServiceType is LoadBalancer, cloud provider related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer. + name : str, default is Undefined, required + Service name + serviceType : str, default is "ClusterIP", optional + serviceType determines how the Service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, they are determined by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. + """ + + + annotations?: {str:str} + + name: str + + serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer" = "ClusterIP" + + + check: + len(name) <= 15 + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecHorizontalScalingItems0: + """ + HorizontalScaling defines the variables of horizontal scaling operation + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + replicas : int, default is Undefined, required + replicas for the workloads. + """ + + + componentName: str + + replicas: int + + + check: + replicas >= 0 + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigure: + """ + reconfigure defines the variables that need to input when updating configuration. + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + configurations : [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0], default is Undefined, required + configurations defines which components perform the operation. + """ + + + componentName: str + + configurations: [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0] + + + check: + len(configurations) >= 1 + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0: + """ + apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 + + Attributes + ---------- + keys : [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0], default is Undefined, required + keys is used to set the parameters to be updated. + name : str, default is Undefined, required + name is a config template name. + """ + + + keys: [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0] + + name: str + + + check: + len(keys) >= 1 + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0: + """ + apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 keys items0 + + Attributes + ---------- + key : str, default is Undefined, required + key indicates the key name of ConfigMap. + parameters : [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0], default is Undefined, required + Setting the list of parameters for a single configuration file. + """ + + + key: str + + parameters: [AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0] + + + check: + len(parameters) >= 1 + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecReconfigureConfigurationsItems0KeysItems0ParametersItems0: + """ + apps kubeblocks io v1alpha1 ops request spec reconfigure configurations items0 keys items0 parameters items0 + + Attributes + ---------- + key : str, default is Undefined, required + key is name of the parameter to be updated. + value : str, default is Undefined, required + parameter values to be updated. if set nil, the parameter defined by the key field will be deleted from the configuration file. + """ + + + key: str + + value: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestartItems0: + """ + ComponentOps defines the common variables of component scope operations. + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + """ + + + componentName: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFrom: + """ + cluster RestoreFrom backup or point in time + + Attributes + ---------- + backup : [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0], default is Undefined, optional + use the backup name and component name for restore, support for multiple components' recovery. + pointInTime : AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime, default is Undefined, optional + point in time + """ + + + backup?: [AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0] + + pointInTime?: AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0: + """ + apps kubeblocks io v1alpha1 ops request spec restore from backup items0 + + Attributes + ---------- + ref : AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref, default is Undefined, optional + ref + """ + + + ref?: AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromBackupItems0Ref: + """ + specify a reference backup to restore + + Attributes + ---------- + name : str, default is Undefined, optional + specified the name + namespace : str, default is Undefined, optional + specified the namespace + """ + + + name?: str + + namespace?: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTime: + """ + specified the point in time to recovery + + Attributes + ---------- + ref : AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef, default is Undefined, optional + ref + time : str, default is Undefined, optional + specify the time point to restore, with UTC as the time zone. + """ + + + ref?: AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef + + time?: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecRestoreFromPointInTimeRef: + """ + specify a reference source cluster to restore + + Attributes + ---------- + name : str, default is Undefined, optional + specified the name + namespace : str, default is Undefined, optional + specified the namespace + """ + + + name?: str + + namespace?: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpec: + """ + scriptSpec defines the script to be executed. + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + image : str, default is Undefined, optional + exec command with image, by default use the image of kubeblocks-datascript. + script : [str], default is Undefined, optional + script defines the script to be executed. + scriptFrom : AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom, default is Undefined, optional + script from + secret : AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret, default is Undefined, optional + secret + """ + + + componentName: str + + image?: str + + script?: [str] + + scriptFrom?: AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom + + secret?: AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFrom: + """ + scriptFrom defines the script to be executed from configMap or secret. + + Attributes + ---------- + configMapRef : [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0], default is Undefined, optional + configMapRef defines the configMap to be executed. + secretRef : [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0], default is Undefined, optional + secretRef defines the secret to be executed. + """ + + + configMapRef?: [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0] + + secretRef?: [AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0] + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromConfigMapRefItems0: + """ + Selects a key from a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecScriptFromSecretRefItems0: + """ + SecretKeySelector selects a key of a Secret. + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecScriptSpecSecret: + """ + secret defines the secret to be used to execute the script. If not specified, the default cluster root credential secret will be used. + + Attributes + ---------- + name : str, default is Undefined, required + name is the name of the secret. + passwordKey : str, default is "password", optional + passwordKey field is used to specify the password of the secret. + usernameKey : str, default is "username", optional + usernameKey field is used to specify the username of the secret. + """ + + + name: str + + passwordKey?: str = "password" + + usernameKey?: str = "username" + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecSwitchoverItems0: + """ + apps kubeblocks io v1alpha1 ops request spec switchover items0 + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + instanceName : str, default is Undefined, required + instanceName is used to specify the candidate primary or leader instanceName for switchover. If instanceName is set to "*", it means that no specific primary or leader is specified for the switchover, and the switchoverAction defined in clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate will be executed, It is required that clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate is not empty. If instanceName is set to a valid instanceName other than "*", it means that a specific candidate primary or leader is specified for the switchover. the value of instanceName can be obtained using `kbcli cluster list-instances`, any other value is invalid. In this case, the `switchoverAction` defined in clusterDefinition.componentDefs[x].switchoverSpec.withCandidate will be executed, and it is required that clusterDefinition.componentDefs[x].switchoverSpec.withCandidate is not empty. + """ + + + componentName: str + + instanceName: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecUpgrade: + """ + upgrade specifies the cluster version by specifying clusterVersionRef. + + Attributes + ---------- + clusterVersionRef : str, default is Undefined, required + clusterVersionRef references ClusterVersion name. + """ + + + clusterVersionRef: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0: + """ + VerticalScaling defines the variables that need to input when scaling compute resources. + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + classDefRef : AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClassDefRef, default is Undefined, optional + class def ref + componentName : str, default is Undefined, required + componentName cluster component name. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClaimsItems0] + + classDefRef?: AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClassDefRef + + componentName: str + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecVerticalScalingItems0ClassDefRef: + """ + classDefRef reference class defined in ComponentClassDefinition. + + Attributes + ---------- + class : str, default is Undefined, required + Class refers to the name of the class that is defined in the ComponentClassDefinition. + name : str, default is Undefined, optional + Name refers to the name of the ComponentClassDefinition. + """ + + + class: str + + name?: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if name + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0: + """ + VolumeExpansion defines the variables of volume expansion operation. + + Attributes + ---------- + componentName : str, default is Undefined, required + componentName cluster component name. + volumeClaimTemplates : [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0], default is Undefined, required + volumeClaimTemplates specifies the storage size and volumeClaimTemplate name. + """ + + + componentName: str + + volumeClaimTemplates: [AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0] + + +schema AppsKubeblocksIoV1alpha1OpsRequestSpecVolumeExpansionItems0VolumeClaimTemplatesItems0: + """ + apps kubeblocks io v1alpha1 ops request spec volume expansion items0 volume claim templates items0 + + Attributes + ---------- + name : str, default is Undefined, required + name references volumeClaimTemplate name from cluster components. + storage : int | str, default is Undefined, required + Request storage size. + """ + + + name: str + + storage: int | str + + + check: + regex.match(str(storage), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatus: + """ + OpsRequestStatus defines the observed state of OpsRequest + + Attributes + ---------- + cancelTimestamp : str, default is Undefined, optional + CancelTimestamp defines cancel time. + clusterGeneration : int, default is Undefined, optional + ClusterGeneration records the cluster generation after handling the opsRequest action. + completionTimestamp : str, default is Undefined, optional + completionTimestamp defines the OpsRequest completion time. + components : {str:AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon}, default is Undefined, optional + components defines the recorded the status information of changed components for operation request. + conditions : [AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0], default is Undefined, optional + conditions describes opsRequest detail status. + lastConfiguration : AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration, default is Undefined, optional + last configuration + phase : str, default is Undefined, optional + phase describes OpsRequest phase. + progress : str, default is "-/-", required + progress + reconfiguringStatus : AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus, default is Undefined, optional + reconfiguring status + startTimestamp : str, default is Undefined, optional + startTimestamp The time when the OpsRequest started processing. + """ + + + cancelTimestamp?: str + + clusterGeneration?: int + + completionTimestamp?: str + + components?: {str:AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon} + + conditions?: [AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0] + + lastConfiguration?: AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration + + phase?: "Pending" | "Creating" | "Running" | "Cancelling" | "Cancelled" | "Failed" | "Succeed" + + progress: str = "-/-" + + reconfiguringStatus?: AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus + + startTimestamp?: str + + + check: + regex.match(progress, r"(^(\d+|\-)/(\d+|\-)$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnon: + """ + apps kubeblocks io v1alpha1 ops request status components anon + + Attributes + ---------- + lastFailedTime : str, default is Undefined, optional + lastFailedTime is the last time the component phase transitioned to Failed or Abnormal. + message : str, default is Undefined, optional + message is a human-readable message indicating details about this operation. + phase : str, default is Undefined, optional + phase describes the component phase, reference Cluster.status.component.phase. + progressDetails : [AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0], default is Undefined, optional + progressDetails describes the progress details of the component for this operation. + reason : str, default is Undefined, optional + reason describes the reason for the component phase. + workloadType : str, default is Undefined, optional + workloadType references workload type of component in ClusterDefinition. + """ + + + lastFailedTime?: str + + message?: str + + phase?: "Running" | "Stopped" | "Failed" | "Abnormal" | "Creating" | "Updating" + + progressDetails?: [AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0] + + reason?: str + + workloadType?: "Stateless" | "Stateful" | "Consensus" | "Replication" + + + check: + len(message) <= 32768 + len(reason) <= 1024 + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusComponentsAnonProgressDetailsItems0: + """ + apps kubeblocks io v1alpha1 ops request status components anon progress details items0 + + Attributes + ---------- + endTime : str, default is Undefined, optional + endTime is the completion time of object processing. + group : str, default is Undefined, optional + group describes which group the current object belongs to. if the objects of a component belong to the same group, we can ignore it. + message : str, default is Undefined, optional + message is a human readable message indicating details about the object condition. + objectKey : str, default is Undefined, required + objectKey is the unique key of the object. + startTime : str, default is Undefined, optional + startTime is the start time of object processing. + status : str, default is Undefined, required + status describes the state of processing the object. + """ + + + endTime?: str + + group?: str + + message?: str + + objectKey: str + + startTime?: str + + status: "Processing" | "Pending" | "Failed" | "Succeed" + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusConditionsItems0: + """ + Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` + // other fields } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. This may be an empty string. + observedGeneration : int, default is Undefined, optional + observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + reason : str, default is Undefined, required + reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 + len(reason) <= 1024 + len(reason) >= 1 + regex.match(reason, r"(^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + regex.match($type, r"(^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfiguration: + """ + lastConfiguration records the last configuration before this operation take effected. + + Attributes + ---------- + clusterVersionRef : str, default is Undefined, optional + clusterVersionRef references ClusterVersion name. + components : {str:AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnon}, default is Undefined, optional + components records last configuration of the component. + """ + + + clusterVersionRef?: str + + components?: {str:AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnon} + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnon: + """ + apps kubeblocks io v1alpha1 ops request status last configuration components anon + + Attributes + ---------- + claims : [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + classDefRef : AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClassDefRef, default is Undefined, optional + class def ref + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + replicas : int, default is Undefined, optional + replicas are the last replicas of the component. + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + services : [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonServicesItems0], default is Undefined, optional + services records the last services of the component. + targetResources : {str:[str]}, default is Undefined, optional + targetResources records the affecting target resources information for the component. resource key is in list of [pods]. + volumeClaimTemplates : [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonVolumeClaimTemplatesItems0], default is Undefined, optional + volumeClaimTemplates records the last volumeClaimTemplates of the component. + """ + + + claims?: [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClaimsItems0] + + classDefRef?: AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClassDefRef + + limits?: {str:int | str} + + replicas?: int + + requests?: {str:int | str} + + services?: [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonServicesItems0] + + targetResources?: {str:[str]} + + volumeClaimTemplates?: [AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonVolumeClaimTemplatesItems0] + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonClassDefRef: + """ + classDefRef reference class defined in ComponentClassDefinition. + + Attributes + ---------- + class : str, default is Undefined, required + Class refers to the name of the class that is defined in the ComponentClassDefinition. + name : str, default is Undefined, optional + Name refers to the name of the ComponentClassDefinition. + """ + + + class: str + + name?: str + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if name + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonServicesItems0: + """ + apps kubeblocks io v1alpha1 ops request status last configuration components anon services items0 + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + If ServiceType is LoadBalancer, cloud provider related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer. + name : str, default is Undefined, required + Service name + serviceType : str, default is "ClusterIP", optional + serviceType determines how the Service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, they are determined by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. + """ + + + annotations?: {str:str} + + name: str + + serviceType?: "ClusterIP" | "NodePort" | "LoadBalancer" = "ClusterIP" + + + check: + len(name) <= 15 + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusLastConfigurationComponentsAnonVolumeClaimTemplatesItems0: + """ + apps kubeblocks io v1alpha1 ops request status last configuration components anon volume claim templates items0 + + Attributes + ---------- + name : str, default is Undefined, required + name references volumeClaimTemplate name from cluster components. + storage : int | str, default is Undefined, required + Request storage size. + """ + + + name: str + + storage: int | str + + + check: + regex.match(str(storage), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatus: + """ + reconfiguringStatus defines the status information of reconfiguring. + + Attributes + ---------- + configurationStatus : [AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0], default is Undefined, required + configurationStatus describes the status of the component reconfiguring. + """ + + + configurationStatus: [AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0] + + + check: + len(configurationStatus) >= 1 + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0: + """ + apps kubeblocks io v1alpha1 ops request status reconfiguring status configuration status items0 + + Attributes + ---------- + expectedCount : int, default is -1, optional + expectedCount describes the number of expected reconfiguring. + lastAppliedConfiguration : {str:str}, default is Undefined, optional + LastAppliedConfiguration describes the last configuration. + lastStatus : str, default is Undefined, optional + lastStatus describes the last status for the reconfiguring controller. + name : str, default is Undefined, required + name is a config template name. + status : str, default is Undefined, optional + status describes the current state of the reconfiguring state machine. + succeedCount : int, default is Undefined, optional + succeedCount describes the number of successful reconfiguring. + updatePolicy : str, default is Undefined, optional + updatePolicy describes the policy of reconfiguring. + updatedParameters : AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters, default is Undefined, optional + updated parameters + """ + + + expectedCount?: int = -1 + + lastAppliedConfiguration?: {str:str} + + lastStatus?: str + + name: str + + status?: str + + succeedCount?: int = 0 + + updatePolicy?: "simple" | "parallel" | "rolling" | "autoReload" | "operatorSyncUpdate" + + updatedParameters?: AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters + + + check: + len(name) <= 63 + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema AppsKubeblocksIoV1alpha1OpsRequestStatusReconfiguringStatusConfigurationStatusItems0UpdatedParameters: + """ + updatedParameters describes the updated parameters. + + Attributes + ---------- + addedKeys : {str:str}, default is Undefined, optional + addedKeys describes the key added. + deletedKeys : {str:str}, default is Undefined, optional + deletedKeys describes the key deleted. + updatedKeys : {str:str}, default is Undefined, optional + updatedKeys describes the key updated. + """ + + + addedKeys?: {str:str} + + deletedKeys?: {str:str} + + updatedKeys?: {str:str} + + diff --git a/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup.k b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup.k new file mode 100644 index 00000000..5e9a8e61 --- /dev/null +++ b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup.k @@ -0,0 +1,222 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema Backup: + """ + Backup is the Schema for the backups API (defined by User). + + Attributes + ---------- + apiVersion : str, default is "dataprotection.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "Backup", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1BackupSpec, default is Undefined, optional + spec + status : DataprotectionKubeblocksIoV1alpha1BackupStatus, default is Undefined, optional + status + """ + + + apiVersion: "dataprotection.kubeblocks.io/v1alpha1" = "dataprotection.kubeblocks.io/v1alpha1" + + kind: "Backup" = "Backup" + + metadata?: v1.ObjectMeta + + spec?: DataprotectionKubeblocksIoV1alpha1BackupSpec + + status?: DataprotectionKubeblocksIoV1alpha1BackupStatus + + +schema DataprotectionKubeblocksIoV1alpha1BackupSpec: + """ + BackupSpec defines the desired state of Backup. + + Attributes + ---------- + backupPolicyName : str, default is Undefined, required + Which backupPolicy is applied to perform this backup + backupType : str, default is "datafile", required + Backup Type. datafile or logfile or snapshot. If not set, datafile is the default type. + parentBackupName : str, default is Undefined, optional + if backupType is incremental, parentBackupName is required. + """ + + + backupPolicyName: str + + backupType: "datafile" | "logfile" | "snapshot" = "datafile" + + parentBackupName?: str + + + check: + regex.match(backupPolicyName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupStatus: + """ + BackupStatus defines the observed state of Backup. + + Attributes + ---------- + availableReplicas : int, default is Undefined, optional + availableReplicas available replicas for statefulSet which created by backup. + backupToolName : str, default is Undefined, optional + backupToolName references the backup tool name. + completionTimestamp : str, default is Undefined, optional + Date/time when the backup finished being processed. + duration : str, default is Undefined, optional + The duration time of backup execution. When converted to a string, the form is "1h2m0.5s". + expiration : str, default is Undefined, optional + The date and time when the Backup is eligible for garbage collection. 'null' means the Backup is NOT be cleaned except delete manual. + failureReason : str, default is Undefined, optional + The reason for a backup failure. + manifests : DataprotectionKubeblocksIoV1alpha1BackupStatusManifests, default is Undefined, optional + manifests + parentBackupName : str, default is Undefined, optional + Records parentBackupName if backupType is incremental. + persistentVolumeClaimName : str, default is Undefined, optional + remoteVolume saves the backup data. + phase : str, default is Undefined, optional + BackupPhase The current phase. Valid values are New, InProgress, Completed, Failed. + sourceCluster : str, default is Undefined, optional + sourceCluster records the source cluster information for this backup. + startTimestamp : str, default is Undefined, optional + Date/time when the backup started being processed. + totalSize : str, default is Undefined, optional + Backup total size. A string with capacity units in the form of "1Gi", "1Mi", "1Ki". + """ + + + availableReplicas?: int + + backupToolName?: str + + completionTimestamp?: str + + duration?: str + + expiration?: str + + failureReason?: str + + manifests?: DataprotectionKubeblocksIoV1alpha1BackupStatusManifests + + parentBackupName?: str + + persistentVolumeClaimName?: str + + phase?: "New" | "InProgress" | "Running" | "Completed" | "Failed" | "Deleting" + + sourceCluster?: str + + startTimestamp?: str + + totalSize?: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupStatusManifests: + """ + manifests determines the backup metadata info. + + Attributes + ---------- + backupLog : DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog, default is Undefined, optional + backup log + backupSnapshot : DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot, default is Undefined, optional + backup snapshot + backupTool : DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool, default is Undefined, optional + backup tool + target : str, default is Undefined, optional + target records the target cluster metadata string, which is in JSON format. + userContext : {str:str}, default is Undefined, optional + userContext stores some loosely structured and extensible information. + """ + + + backupLog?: DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog + + backupSnapshot?: DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot + + backupTool?: DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool + + target?: str + + userContext?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupLog: + """ + backupLog records startTime and stopTime of data logging. + + Attributes + ---------- + startTime : str, default is Undefined, optional + startTime records the start time of data logging. + stopTime : str, default is Undefined, optional + stopTime records the stop time of data logging. + """ + + + startTime?: str + + stopTime?: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupSnapshot: + """ + snapshot records the volume snapshot metadata. + + Attributes + ---------- + volumeSnapshotContentName : str, default is Undefined, optional + volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. + volumeSnapshotName : str, default is Undefined, optional + volumeSnapshotName records the volumeSnapshot name. + """ + + + volumeSnapshotContentName?: str + + volumeSnapshotName?: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupStatusManifestsBackupTool: + """ + backupTool records information about backup files generated by the backup tool. + + Attributes + ---------- + checkpoint : str, default is Undefined, optional + backup checkpoint, for incremental backup. + checksum : str, default is Undefined, optional + checksum of backup file, generated by md5 or sha1 or sha256. + filePath : str, default is Undefined, optional + filePath records the file path of backup. + uploadTotalSize : str, default is Undefined, optional + Backup upload total size. A string with capacity units in the form of "1Gi", "1Mi", "1Ki". + volumeName : str, default is Undefined, optional + volumeName records volume name of backup data pvc. + """ + + + checkpoint?: str + + checksum?: str + + filePath?: str + + uploadTotalSize?: str + + volumeName?: str + + diff --git a/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_policy.k b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_policy.k new file mode 100644 index 00000000..661163d7 --- /dev/null +++ b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_policy.k @@ -0,0 +1,801 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema BackupPolicy: + """ + BackupPolicy is the Schema for the backuppolicies API (defined by User) + + Attributes + ---------- + apiVersion : str, default is "dataprotection.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "BackupPolicy", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1BackupPolicySpec, default is Undefined, optional + spec + status : DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus, default is Undefined, optional + status + """ + + + apiVersion: "dataprotection.kubeblocks.io/v1alpha1" = "dataprotection.kubeblocks.io/v1alpha1" + + kind: "BackupPolicy" = "BackupPolicy" + + metadata?: v1.ObjectMeta + + spec?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpec + + status?: DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpec: + """ + BackupPolicySpec defines the desired state of BackupPolicy + + Attributes + ---------- + datafile : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile, default is Undefined, optional + datafile + logfile : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile, default is Undefined, optional + logfile + retention : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention, default is Undefined, optional + retention + schedule : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule, default is Undefined, optional + schedule + snapshot : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot, default is Undefined, optional + snapshot + """ + + + datafile?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile + + logfile?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile + + retention?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention + + schedule?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule + + snapshot?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafile: + """ + the policy for datafile backup. + + Attributes + ---------- + backupRepoName : str, default is Undefined, optional + refer to BackupRepo and the backup data will be stored in the corresponding repo. + backupStatusUpdates : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupToolName : str, default is Undefined, optional + which backup tool to perform database backup, only support one tool. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + persistentVolumeClaim : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim, default is Undefined, optional + persistent volume claim + target : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget, default is Undefined, required + target + """ + + + backupRepoName?: str + + backupStatusUpdates?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0] + + backupToolName?: str + + backupsHistoryLimit?: int = 7 + + onFailAttempted?: int + + persistentVolumeClaim?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim + + target: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget + + + check: + regex.match(backupRepoName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupRepoName + regex.match(backupToolName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupToolName + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileBackupStatusUpdatesItems0: + """ + dataprotection kubeblocks io v1alpha1 backup policy spec datafile backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaim: + """ + refer to PersistentVolumeClaim and the backup data will be stored in the corresponding persistent volume. + + Attributes + ---------- + createPolicy : str, default is "IfNotPresent", optional + createPolicy defines the policy for creating the PersistentVolumeClaim, enum values: - Never: do nothing if the PersistentVolumeClaim not exists. - IfNotPresent: create the PersistentVolumeClaim if not present and the accessModes only contains 'ReadWriteMany'. + initCapacity : int | str, default is Undefined, optional + initCapacity represents the init storage size of the PersistentVolumeClaim which should be created if not exist. and the default value is 100Gi if it is empty. + name : str, default is Undefined, optional + the name of PersistentVolumeClaim to store backup data. + persistentVolumeConfigMap : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap, default is Undefined, optional + persistent volume config map + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. + """ + + + createPolicy?: "IfNotPresent" | "Never" = "IfNotPresent" + + initCapacity?: int | str + + name?: str + + persistentVolumeConfigMap?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap + + storageClassName?: str + + + check: + regex.match(str(initCapacity), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if initCapacity + regex.match(storageClassName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if storageClassName + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafilePersistentVolumeClaimPersistentVolumeConfigMap: + """ + persistentVolumeConfigMap references the configmap which contains a persistentVolume template. key must be "persistentVolume" and value is the "PersistentVolume" struct. support the following built-in Objects: - $(GENERATE_NAME): generate a specific format "`PVC NAME`-`PVC NAMESPACE`". if the PersistentVolumeClaim not exists and CreatePolicy is "IfNotPresent", the controller will create it by this template. this is a mutually exclusive setting with "storageClassName". + + Attributes + ---------- + name : str, default is Undefined, required + the name of the persistentVolume ConfigMap. + namespace : str, default is Undefined, required + the namespace of the persistentVolume ConfigMap. + """ + + + name: str + + namespace: str + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTarget: + """ + target database cluster for backup. + + Attributes + ---------- + labelsSelector : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector, default is Undefined, required + labels selector + secret : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret, default is Undefined, optional + secret + """ + + + labelsSelector: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector + + secret?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelector: + """ + labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetLabelsSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecDatafileTargetSecret: + """ + secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + + Attributes + ---------- + name : str, default is Undefined, required + the secret name + passwordKey : str, default is "password", optional + passwordKey the map key of the password in the connection credential secret + usernameKey : str, default is "username", optional + usernameKey the map key of the user in the connection credential secret + """ + + + name: str + + passwordKey?: str = "password" + + usernameKey?: str = "username" + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfile: + """ + the policy for logfile backup. + + Attributes + ---------- + backupRepoName : str, default is Undefined, optional + refer to BackupRepo and the backup data will be stored in the corresponding repo. + backupStatusUpdates : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupToolName : str, default is Undefined, optional + which backup tool to perform database backup, only support one tool. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + persistentVolumeClaim : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim, default is Undefined, optional + persistent volume claim + target : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget, default is Undefined, required + target + """ + + + backupRepoName?: str + + backupStatusUpdates?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0] + + backupToolName?: str + + backupsHistoryLimit?: int = 7 + + onFailAttempted?: int + + persistentVolumeClaim?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim + + target: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget + + + check: + regex.match(backupRepoName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupRepoName + regex.match(backupToolName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if backupToolName + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileBackupStatusUpdatesItems0: + """ + dataprotection kubeblocks io v1alpha1 backup policy spec logfile backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaim: + """ + refer to PersistentVolumeClaim and the backup data will be stored in the corresponding persistent volume. + + Attributes + ---------- + createPolicy : str, default is "IfNotPresent", optional + createPolicy defines the policy for creating the PersistentVolumeClaim, enum values: - Never: do nothing if the PersistentVolumeClaim not exists. - IfNotPresent: create the PersistentVolumeClaim if not present and the accessModes only contains 'ReadWriteMany'. + initCapacity : int | str, default is Undefined, optional + initCapacity represents the init storage size of the PersistentVolumeClaim which should be created if not exist. and the default value is 100Gi if it is empty. + name : str, default is Undefined, optional + the name of PersistentVolumeClaim to store backup data. + persistentVolumeConfigMap : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap, default is Undefined, optional + persistent volume config map + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. + """ + + + createPolicy?: "IfNotPresent" | "Never" = "IfNotPresent" + + initCapacity?: int | str + + name?: str + + persistentVolumeConfigMap?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap + + storageClassName?: str + + + check: + regex.match(str(initCapacity), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if initCapacity + regex.match(storageClassName, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") if storageClassName + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfilePersistentVolumeClaimPersistentVolumeConfigMap: + """ + persistentVolumeConfigMap references the configmap which contains a persistentVolume template. key must be "persistentVolume" and value is the "PersistentVolume" struct. support the following built-in Objects: - $(GENERATE_NAME): generate a specific format "`PVC NAME`-`PVC NAMESPACE`". if the PersistentVolumeClaim not exists and CreatePolicy is "IfNotPresent", the controller will create it by this template. this is a mutually exclusive setting with "storageClassName". + + Attributes + ---------- + name : str, default is Undefined, required + the name of the persistentVolume ConfigMap. + namespace : str, default is Undefined, required + the namespace of the persistentVolume ConfigMap. + """ + + + name: str + + namespace: str + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + regex.match(namespace, r"(^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTarget: + """ + target database cluster for backup. + + Attributes + ---------- + labelsSelector : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector, default is Undefined, required + labels selector + secret : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret, default is Undefined, optional + secret + """ + + + labelsSelector: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector + + secret?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelector: + """ + labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetLabelsSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecLogfileTargetSecret: + """ + secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + + Attributes + ---------- + name : str, default is Undefined, required + the secret name + passwordKey : str, default is "password", optional + passwordKey the map key of the password in the connection credential secret + usernameKey : str, default is "username", optional + usernameKey the map key of the user in the connection credential secret + """ + + + name: str + + passwordKey?: str = "password" + + usernameKey?: str = "username" + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecRetention: + """ + retention describe how long the Backup should be retained. if not set, will be retained forever. + + Attributes + ---------- + ttl : str, default is Undefined, optional + ttl is a time string ending with the 'd'|'D'|'h'|'H' character to describe how long the Backup should be retained. if not set, will be retained forever. + """ + + + ttl?: str + + + check: + regex.match(ttl, r"(^\d+[d|D|h|H]$") if ttl + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSchedule: + """ + schedule policy for backup. + + Attributes + ---------- + datafile : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile, default is Undefined, optional + datafile + logfile : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile, default is Undefined, optional + logfile + snapshot : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot, default is Undefined, optional + snapshot + startingDeadlineMinutes : int, default is Undefined, optional + startingDeadlineMinutes defines the deadline in minutes for starting the backup job if it misses scheduled time for any reason. + """ + + + datafile?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile + + logfile?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile + + snapshot?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot + + startingDeadlineMinutes?: int + + + check: + startingDeadlineMinutes <= 1440 + startingDeadlineMinutes >= 0 + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleDatafile: + """ + schedule policy for datafile backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleLogfile: + """ + schedule policy for logfile backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecScheduleSnapshot: + """ + schedule policy for snapshot backup. + + Attributes + ---------- + cronExpression : str, default is Undefined, required + the cron expression for schedule, the timezone is in UTC. see https://en.wikipedia.org/wiki/Cron. + enable : bool, default is Undefined, required + enable or disable the schedule. + """ + + + cronExpression: str + + enable: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshot: + """ + the policy for snapshot backup. + + Attributes + ---------- + backupStatusUpdates : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0], default is Undefined, optional + define how to update metadata for backup status. + backupsHistoryLimit : int, default is 7, optional + the number of automatic backups to retain. Value must be non-negative integer. 0 means NO limit on the number of backups. + hooks : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks, default is Undefined, optional + hooks + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + target : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget, default is Undefined, required + target + """ + + + backupStatusUpdates?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0] + + backupsHistoryLimit?: int = 7 + + hooks?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks + + onFailAttempted?: int + + target: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotBackupStatusUpdatesItems0: + """ + dataprotection kubeblocks io v1alpha1 backup policy spec snapshot backup status updates items0 + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container name that kubectl can execute. + path : str, default is Undefined, optional + specify the json path of backup object for patch. example: manifests.backupLog -- means patch the backup json path of status.manifests.backupLog. + script : str, default is Undefined, optional + the shell Script commands to collect backup status metadata. The script must exist in the container of ContainerName and the output format must be set to JSON. Note that outputting to stderr may cause the result format to not be in JSON. + updateStage : str, default is Undefined, required + when to update the backup status, pre: before backup, post: after backup + useTargetPodServiceAccount : bool, default is Undefined, optional + useTargetPodServiceAccount defines whether this job requires the service account of the backup target pod. if true, will use the service account of the backup target pod. otherwise, will use the system service account. + """ + + + containerName?: str + + path?: str + + script?: str + + updateStage: "pre" | "post" + + useTargetPodServiceAccount?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotHooks: + """ + execute hook commands for backup. + + Attributes + ---------- + containerName : str, default is Undefined, optional + which container can exec command + image : str, default is Undefined, optional + exec command with image + postCommands : [str], default is Undefined, optional + post backup to perform commands + preCommands : [str], default is Undefined, optional + pre backup to perform commands + """ + + + containerName?: str + + image?: str + + postCommands?: [str] + + preCommands?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTarget: + """ + target database cluster for backup. + + Attributes + ---------- + labelsSelector : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector, default is Undefined, required + labels selector + secret : DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret, default is Undefined, optional + secret + """ + + + labelsSelector: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector + + secret?: DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelector: + """ + labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetLabelsSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicySpecSnapshotTargetSecret: + """ + secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + + Attributes + ---------- + name : str, default is Undefined, required + the secret name + passwordKey : str, default is "password", optional + passwordKey the map key of the password in the connection credential secret + usernameKey : str, default is "username", optional + usernameKey the map key of the user in the connection credential secret + """ + + + name: str + + passwordKey?: str = "password" + + usernameKey?: str = "username" + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupPolicyStatus: + """ + BackupPolicyStatus defines the observed state of BackupPolicy + + Attributes + ---------- + failureReason : str, default is Undefined, optional + the reason if backup policy check failed. + lastScheduleTime : str, default is Undefined, optional + information when was the last time the job was successfully scheduled. + lastSuccessfulTime : str, default is Undefined, optional + information when was the last time the job successfully completed. + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this BackupPolicy. It corresponds to the Cluster's generation, which is updated on mutation by the API Server. + phase : str, default is Undefined, optional + backup policy phase valid value: Available, Failed. + """ + + + failureReason?: str + + lastScheduleTime?: str + + lastSuccessfulTime?: str + + observedGeneration?: int + + phase?: "Available" | "Failed" + + diff --git a/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_repo.k b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_repo.k new file mode 100644 index 00000000..03c6a987 --- /dev/null +++ b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_repo.k @@ -0,0 +1,192 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema BackupRepo: + """ + BackupRepo is the Schema for the backuprepos API + + Attributes + ---------- + apiVersion : str, default is "dataprotection.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "BackupRepo", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1BackupRepoSpec, default is Undefined, optional + spec + status : DataprotectionKubeblocksIoV1alpha1BackupRepoStatus, default is Undefined, optional + status + """ + + + apiVersion: "dataprotection.kubeblocks.io/v1alpha1" = "dataprotection.kubeblocks.io/v1alpha1" + + kind: "BackupRepo" = "BackupRepo" + + metadata?: v1.ObjectMeta + + spec?: DataprotectionKubeblocksIoV1alpha1BackupRepoSpec + + status?: DataprotectionKubeblocksIoV1alpha1BackupRepoStatus + + +schema DataprotectionKubeblocksIoV1alpha1BackupRepoSpec: + """ + BackupRepoSpec defines the desired state of BackupRepo + + Attributes + ---------- + config : {str:str}, default is Undefined, optional + Non-secret configurations for the storage provider. + credential : DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential, default is Undefined, optional + credential + pvReclaimPolicy : str, default is Undefined, required + The reclaim policy for the PV created by this backup repo. + storageProviderRef : str, default is Undefined, required + The storage provider used by this backup repo. + volumeCapacity : int | str, default is Undefined, optional + The requested capacity for the PVC created by this backup repo. + """ + + + config?: {str:str} + + credential?: DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential + + pvReclaimPolicy: "Delete" | "Retain" + + storageProviderRef: str + + volumeCapacity?: int | str + + + check: + regex.match(str(volumeCapacity), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if volumeCapacity + + +schema DataprotectionKubeblocksIoV1alpha1BackupRepoSpecCredential: + """ + A secret that contains the credentials needed by the storage provider. + + Attributes + ---------- + name : str, default is Undefined, optional + name is unique within a namespace to reference a secret resource. + namespace : str, default is Undefined, optional + namespace defines the space within which the secret name must be unique. + """ + + + name?: str + + namespace?: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupRepoStatus: + """ + BackupRepoStatus defines the observed state of BackupRepo + + Attributes + ---------- + backupPVCName : str, default is Undefined, optional + backupPVCName is the name of the PVC used to store backup data. + conditions : [DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0], default is Undefined, optional + conditions describes the current state of the repo. + generatedCSIDriverSecret : DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret, default is Undefined, optional + generated c s i driver secret + generatedStorageClassName : str, default is Undefined, optional + generatedStorageClassName indicates the generated storage class name. + isDefault : bool, default is Undefined, optional + isDefault indicates whether this backup repo is the default one. + observedGeneration : int, default is Undefined, optional + observedGeneration is the latest generation observed by the controller. + phase : str, default is Undefined, optional + Backup repo reconciliation phases. Valid values are PreChecking, Failed, Ready, Deleting. + """ + + + backupPVCName?: str + + conditions?: [DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0] + + generatedCSIDriverSecret?: DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret + + generatedStorageClassName?: str + + isDefault?: bool + + observedGeneration?: int + + phase?: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupRepoStatusConditionsItems0: + """ + Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` + // other fields } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. This may be an empty string. + observedGeneration : int, default is Undefined, optional + observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + reason : str, default is Undefined, required + reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 + len(reason) <= 1024 + len(reason) >= 1 + regex.match(reason, r"(^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + regex.match($type, r"(^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") + + +schema DataprotectionKubeblocksIoV1alpha1BackupRepoStatusGeneratedCSIDriverSecret: + """ + generatedCSIDriverSecret references the generated secret used by the CSI driver. + + Attributes + ---------- + name : str, default is Undefined, optional + name is unique within a namespace to reference a secret resource. + namespace : str, default is Undefined, optional + namespace defines the space within which the secret name must be unique. + """ + + + name?: str + + namespace?: str + + diff --git a/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_tool.k b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_tool.k new file mode 100644 index 00000000..4a1b14a2 --- /dev/null +++ b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_backup_tool.k @@ -0,0 +1,360 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema BackupTool: + """ + BackupTool is the Schema for the backuptools API (defined by provider) + + Attributes + ---------- + apiVersion : str, default is "dataprotection.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "BackupTool", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1BackupToolSpec, default is Undefined, optional + spec + status : any, default is Undefined, optional + BackupToolStatus defines the observed state of BackupTool + """ + + + apiVersion: "dataprotection.kubeblocks.io/v1alpha1" = "dataprotection.kubeblocks.io/v1alpha1" + + kind: "BackupTool" = "BackupTool" + + metadata?: v1.ObjectMeta + + spec?: DataprotectionKubeblocksIoV1alpha1BackupToolSpec + + status?: any + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpec: + """ + BackupToolSpec defines the desired state of BackupTool + + Attributes + ---------- + backupCommands : [str], default is Undefined, required + Array of command that apps can do database backup. from invoke args the order of commands follows the order of array. + deployKind : str, default is "job", optional + which kind for run a backup tool, supported values: job, statefulSet. + env : [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0], default is Undefined, optional + List of environment variables to set in the container. + envFrom : [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, required + Backup tool Container image name. + incrementalBackupCommands : [str], default is Undefined, optional + Array of command that apps can do database incremental backup. like xtrabackup, that can performs an incremental backup file. + logical : DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical, default is Undefined, optional + logical + physical : DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical, default is Undefined, required + physical + resources : DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources, default is Undefined, optional + resources + $type : str, default is "file", optional + the type of backup tool, file or pitr + """ + + + backupCommands: [str] + + deployKind?: "job" | "statefulSet" = "job" + + env?: [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0] + + envFrom?: [DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0] + + image: str + + incrementalBackupCommands?: [str] + + logical?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical + + physical: DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical + + resources?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources + + $type?: "file" | "pitr" = "file" + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef + + fieldRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef + + resourceFieldRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef + + secretKeyRef?: DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecEnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecLogical: + """ + backup tool can support logical restore, in this case, restore NOT RESTART database. + + Attributes + ---------- + incrementalRestoreCommands : [str], default is Undefined, optional + Array of incremental restore commands. + podScope : str, default is "All", optional + podScope defines the pod scope for restore from backup, supported values: - 'All' will exec the restore command on all pods. - 'ReadWrite' will pick a ReadWrite pod to exec the restore command. + restoreCommands : [str], default is Undefined, optional + Array of command that apps can perform database restore. like xtrabackup, that can performs restore mysql from files. + """ + + + incrementalRestoreCommands?: [str] + + podScope?: "All" | "ReadWrite" = "All" + + restoreCommands?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecPhysical: + """ + backup tool can support physical restore, in this case, restore must be RESTART database. + + Attributes + ---------- + incrementalRestoreCommands : [str], default is Undefined, optional + Array of incremental restore commands. + restoreCommands : [str], default is Undefined, optional + Array of command that apps can perform database restore. like xtrabackup, that can performs restore mysql from files. + """ + + + incrementalRestoreCommands?: [str] + + restoreCommands?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecResources: + """ + Compute Resources required by this container. Cannot be updated. + + Attributes + ---------- + claims : [DataprotectionKubeblocksIoV1alpha1BackupToolSpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [DataprotectionKubeblocksIoV1alpha1BackupToolSpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema DataprotectionKubeblocksIoV1alpha1BackupToolSpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + diff --git a/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_restore_job.k b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_restore_job.k new file mode 100644 index 00000000..8e12722c --- /dev/null +++ b/kubeblocks/v1alpha1/dataprotection_kubeblocks_io_v1alpha1_restore_job.k @@ -0,0 +1,1798 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema RestoreJob: + """ + RestoreJob is the Schema for the restorejobs API (defined by User) + + Attributes + ---------- + apiVersion : str, default is "dataprotection.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "RestoreJob", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1RestoreJobSpec, default is Undefined, optional + spec + status : DataprotectionKubeblocksIoV1alpha1RestoreJobStatus, default is Undefined, optional + status + """ + + + apiVersion: "dataprotection.kubeblocks.io/v1alpha1" = "dataprotection.kubeblocks.io/v1alpha1" + + kind: "RestoreJob" = "RestoreJob" + + metadata?: v1.ObjectMeta + + spec?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpec + + status?: DataprotectionKubeblocksIoV1alpha1RestoreJobStatus + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpec: + """ + RestoreJobSpec defines the desired state of RestoreJob + + Attributes + ---------- + backupJobName : str, default is Undefined, required + Specified one backupJob to restore. + onFailAttempted : int, default is Undefined, optional + count of backup stop retries on fail. + target : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget, default is Undefined, required + target + targetVolumeMounts : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0], default is Undefined, required + array of restore volume mounts . + targetVolumes : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0], default is Undefined, required + array of restore volumes . + """ + + + backupJobName: str + + onFailAttempted?: int + + target: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget + + targetVolumeMounts: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0] + + targetVolumes: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0] + + + check: + len(targetVolumeMounts) >= 1 + len(targetVolumes) >= 1 + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTarget: + """ + the target database workload to restore + + Attributes + ---------- + labelsSelector : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector, default is Undefined, required + labels selector + secret : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret, default is Undefined, optional + secret + """ + + + labelsSelector: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector + + secret?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelector: + """ + labelsSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetLabelsSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetSecret: + """ + secret is used to connect to the target database cluster. If not set, secret will be inherited from backup policy template. if still not set, the controller will check if any system account for dataprotection has been created. + + Attributes + ---------- + name : str, default is Undefined, required + the secret name + passwordKey : str, default is "password", optional + passwordKey the map key of the password in the connection credential secret + usernameKey : str, default is "username", optional + usernameKey the map key of the user in the connection credential secret + """ + + + name: str + + passwordKey?: str = "password" + + usernameKey?: str = "username" + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0: + """ + Volume represents a named volume in a pod that may be accessed by any container in the pod. + + Attributes + ---------- + awsElasticBlockStore : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore, default is Undefined, optional + aws elastic block store + azureDisk : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk, default is Undefined, optional + azure disk + azureFile : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile, default is Undefined, optional + azure file + cephfs : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs, default is Undefined, optional + cephfs + cinder : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder, default is Undefined, optional + cinder + configMap : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap, default is Undefined, optional + config map + csi : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi, default is Undefined, optional + csi + downwardAPI : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI, default is Undefined, optional + downward API + emptyDir : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir, default is Undefined, optional + empty dir + ephemeral : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral, default is Undefined, optional + ephemeral + fc : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc, default is Undefined, optional + fc + flexVolume : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume, default is Undefined, optional + flex volume + flocker : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker, default is Undefined, optional + flocker + gcePersistentDisk : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk, default is Undefined, optional + gce persistent disk + gitRepo : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo, default is Undefined, optional + git repo + glusterfs : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs, default is Undefined, optional + glusterfs + hostPath : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath, default is Undefined, optional + host path + iscsi : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi, default is Undefined, optional + iscsi + name : str, default is Undefined, required + name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + nfs : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs, default is Undefined, optional + nfs + persistentVolumeClaim : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim, default is Undefined, optional + persistent volume claim + photonPersistentDisk : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk, default is Undefined, optional + photon persistent disk + portworxVolume : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume, default is Undefined, optional + portworx volume + projected : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected, default is Undefined, optional + projected + quobyte : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte, default is Undefined, optional + quobyte + rbd : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd, default is Undefined, optional + rbd + scaleIO : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO, default is Undefined, optional + scale i o + secret : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret, default is Undefined, optional + secret + storageos : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos, default is Undefined, optional + storageos + vsphereVolume : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume, default is Undefined, optional + vsphere volume + """ + + + awsElasticBlockStore?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore + + azureDisk?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk + + azureFile?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile + + cephfs?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs + + cinder?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder + + configMap?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap + + csi?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi + + downwardAPI?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI + + emptyDir?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir + + ephemeral?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral + + fc?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc + + flexVolume?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume + + flocker?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker + + gcePersistentDisk?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk + + gitRepo?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo + + glusterfs?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs + + hostPath?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath + + iscsi?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi + + name: str + + nfs?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs + + persistentVolumeClaim?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim + + photonPersistentDisk?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk + + portworxVolume?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume + + projected?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected + + quobyte?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte + + rbd?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd + + scaleIO?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO + + secret?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret + + storageos?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos + + vsphereVolume?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AwsElasticBlockStore: + """ + awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + readOnly : bool, default is Undefined, optional + readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + volumeID : str, default is Undefined, required + volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + """ + + + fsType?: str + + partition?: int + + readOnly?: bool + + volumeID: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureDisk: + """ + azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + + Attributes + ---------- + cachingMode : str, default is Undefined, optional + cachingMode is the Host Caching mode: None, Read Only, Read Write. + diskName : str, default is Undefined, required + diskName is the Name of the data disk in the blob storage + diskURI : str, default is Undefined, required + diskURI is the URI of data disk in the blob storage + fsType : str, default is Undefined, optional + fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + kind : str, default is Undefined, optional + kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + """ + + + cachingMode?: str + + diskName: str + + diskURI: str + + fsType?: str + + kind?: str + + readOnly?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0AzureFile: + """ + azureFile represents an Azure File Service mount on the host and bind mount to the pod. + + Attributes + ---------- + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretName : str, default is Undefined, required + secretName is the name of secret that contains Azure Storage Account Name and Key + shareName : str, default is Undefined, required + shareName is the azure share Name + """ + + + readOnly?: bool + + secretName: str + + shareName: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cephfs: + """ + cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + + Attributes + ---------- + monitors : [str], default is Undefined, required + monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + path : str, default is Undefined, optional + path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretFile : str, default is Undefined, optional + secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + """ + + + monitors: [str] + + path?: str + + readOnly?: bool + + secretFile?: str + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef + + user?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CephfsSecretRef: + """ + secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Cinder: + """ + cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef, default is Undefined, optional + secret ref + volumeID : str, default is Undefined, required + volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef + + volumeID: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CinderSecretRef: + """ + secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMap: + """ + configMap represents a configMap that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + defaultMode?: int + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Csi: + """ + csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. + fsType : str, default is Undefined, optional + fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. + nodePublishSecretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef, default is Undefined, optional + node publish secret ref + readOnly : bool, default is Undefined, optional + readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). + volumeAttributes : {str:str}, default is Undefined, optional + volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. + """ + + + driver: str + + fsType?: str + + nodePublishSecretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef + + readOnly?: bool + + volumeAttributes?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0CsiNodePublishSecretRef: + """ + nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPI: + """ + downwardAPI represents downward API about the pod that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of downward API volume file + """ + + + defaultMode?: int + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EmptyDir: + """ + emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + + Attributes + ---------- + medium : str, default is Undefined, optional + medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + sizeLimit : int | str, default is Undefined, optional + sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir + """ + + + medium?: str + + sizeLimit?: int | str + + + check: + regex.match(str(sizeLimit), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if sizeLimit + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Ephemeral: + """ + ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. + Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). + Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. + Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. + A pod can use both types of ephemeral volumes and persistent volumes at the same time. + + Attributes + ---------- + volumeClaimTemplate : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate, default is Undefined, optional + volume claim template + """ + + + volumeClaimTemplate?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplate: + """ + Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). + An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. + This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. + Required, must not be nil. + + Attributes + ---------- + metadata : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata, default is Undefined, optional + metadata + spec : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec, default is Undefined, required + spec + """ + + + metadata?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata + + spec: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateMetadata: + """ + May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + annotations + finalizers : [str], default is Undefined, optional + finalizers + labels : {str:str}, default is Undefined, optional + labels + name : str, default is Undefined, optional + name + namespace : str, default is Undefined, optional + namespace + """ + + + annotations?: {str:str} + + finalizers?: [str] + + labels?: {str:str} + + name?: str + + namespace?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpec: + """ + The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + dataSource : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource, default is Undefined, optional + data source + dataSourceRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef, default is Undefined, optional + data source ref + resources : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources, default is Undefined, optional + resources + selector : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelector, default is Undefined, optional + selector + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + volumeMode : str, default is Undefined, optional + volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + volumeName : str, default is Undefined, optional + volumeName is the binding reference to the PersistentVolume backing this claim. + """ + + + accessModes?: [str] + + dataSource?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + + dataSourceRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + + resources?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources + + selector?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelector + + storageClassName?: str + + volumeMode?: str + + volumeName?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource: + """ + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + """ + + + apiGroup?: str + + kind: str + + name: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef: + """ + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + namespace : str, default is Undefined, optional + Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + """ + + + apiGroup?: str + + kind: str + + name: str + + namespace?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResources: + """ + resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + + Attributes + ---------- + claims : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelector: + """ + selector is a label query over volumes to consider for binding. + + Attributes + ---------- + matchExpressions : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Fc: + """ + fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine + lun : int, default is Undefined, optional + lun is Optional: FC target lun number + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + targetWWNs : [str], default is Undefined, optional + targetWWNs is Optional: FC target worldwide names (WWNs) + wwids : [str], default is Undefined, optional + wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + """ + + + fsType?: str + + lun?: int + + readOnly?: bool + + targetWWNs?: [str] + + wwids?: [str] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolume: + """ + flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the driver to use for this volume. + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + options : {str:str}, default is Undefined, optional + options is Optional: this field holds extra command options if any. + readOnly : bool, default is Undefined, optional + readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef, default is Undefined, optional + secret ref + """ + + + driver: str + + fsType?: str + + options?: {str:str} + + readOnly?: bool + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0FlexVolumeSecretRef: + """ + secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Flocker: + """ + flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + + Attributes + ---------- + datasetName : str, default is Undefined, optional + datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated + datasetUUID : str, default is Undefined, optional + datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + """ + + + datasetName?: str + + datasetUUID?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GcePersistentDisk: + """ + gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + pdName : str, default is Undefined, required + pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + """ + + + fsType?: str + + partition?: int + + pdName: str + + readOnly?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0GitRepo: + """ + gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + + Attributes + ---------- + directory : str, default is Undefined, optional + directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + repository : str, default is Undefined, required + repository is the URL + revision : str, default is Undefined, optional + revision is the commit hash for the specified revision. + """ + + + directory?: str + + repository: str + + revision?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Glusterfs: + """ + glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + + Attributes + ---------- + endpoints : str, default is Undefined, required + endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + path : str, default is Undefined, required + path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + readOnly : bool, default is Undefined, optional + readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + """ + + + endpoints: str + + path: str + + readOnly?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0HostPath: + """ + hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + + Attributes + ---------- + path : str, default is Undefined, required + path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + $type : str, default is Undefined, optional + type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + """ + + + path: str + + $type?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Iscsi: + """ + iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + + Attributes + ---------- + chapAuthDiscovery : bool, default is Undefined, optional + chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + chapAuthSession : bool, default is Undefined, optional + chapAuthSession defines whether support iSCSI Session CHAP authentication + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine + initiatorName : str, default is Undefined, optional + initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection. + iqn : str, default is Undefined, required + iqn is the target iSCSI Qualified Name. + iscsiInterface : str, default is Undefined, optional + iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). + lun : int, default is Undefined, required + lun represents iSCSI Target Lun number. + portals : [str], default is Undefined, optional + portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef, default is Undefined, optional + secret ref + targetPortal : str, default is Undefined, required + targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + """ + + + chapAuthDiscovery?: bool + + chapAuthSession?: bool + + fsType?: str + + initiatorName?: str + + iqn: str + + iscsiInterface?: str + + lun: int + + portals?: [str] + + readOnly?: bool + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef + + targetPortal: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0IscsiSecretRef: + """ + secretRef is the CHAP Secret for iSCSI target and initiator authentication + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Nfs: + """ + nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + + Attributes + ---------- + path : str, default is Undefined, required + path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + readOnly : bool, default is Undefined, optional + readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + server : str, default is Undefined, required + server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + """ + + + path: str + + readOnly?: bool + + server: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PersistentVolumeClaim: + """ + persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + + Attributes + ---------- + claimName : str, default is Undefined, required + claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + readOnly : bool, default is Undefined, optional + readOnly Will force the ReadOnly setting in VolumeMounts. Default false. + """ + + + claimName: str + + readOnly?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PhotonPersistentDisk: + """ + photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + pdID : str, default is Undefined, required + pdID is the ID that identifies Photon Controller persistent disk + """ + + + fsType?: str + + pdID: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0PortworxVolume: + """ + portworxVolume represents a portworx volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + volumeID : str, default is Undefined, required + volumeID uniquely identifies a Portworx volume + """ + + + fsType?: str + + readOnly?: bool + + volumeID: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Projected: + """ + projected items for all in one resources secrets, configmaps, and downward API + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + sources : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0], default is Undefined, optional + sources is the list of volume projections + """ + + + defaultMode?: int + + sources?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0: + """ + Projection that may be projected along with other supported volume types + + Attributes + ---------- + configMap : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap, default is Undefined, optional + config map + downwardAPI : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI, default is Undefined, optional + downward API + secret : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret, default is Undefined, optional + secret + serviceAccountToken : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken, default is Undefined, optional + service account token + """ + + + configMap?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap + + downwardAPI?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI + + secret?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret + + serviceAccountToken?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMap: + """ + configMap information about the configMap data to project + + Attributes + ---------- + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPI: + """ + downwardAPI information about the downwardAPI data to project + + Attributes + ---------- + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of DownwardAPIVolume file + """ + + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0] + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0Secret: + """ + secret information about the secret data to project + + Attributes + ---------- + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its key must be defined + """ + + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0] + + name?: str + + optional?: bool + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ProjectedSourcesItems0ServiceAccountToken: + """ + serviceAccountToken is information about the serviceAccountToken data to project + + Attributes + ---------- + audience : str, default is Undefined, optional + audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. + expirationSeconds : int, default is Undefined, optional + expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. + path : str, default is Undefined, required + path is the path relative to the mount point of the file to project the token into. + """ + + + audience?: str + + expirationSeconds?: int + + path: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Quobyte: + """ + quobyte represents a Quobyte mount on the host that shares a pod's lifetime + + Attributes + ---------- + group : str, default is Undefined, optional + group to map volume access to Default is no group + readOnly : bool, default is Undefined, optional + readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. + registry : str, default is Undefined, required + registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes + tenant : str, default is Undefined, optional + tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin + user : str, default is Undefined, optional + user to map volume access to Defaults to serivceaccount user + volume : str, default is Undefined, required + volume is a string that references an already created Quobyte volume by name. + """ + + + group?: str + + readOnly?: bool + + registry: str + + tenant?: str + + user?: str + + volume: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Rbd: + """ + rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine + image : str, default is Undefined, required + image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + keyring : str, default is Undefined, optional + keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + monitors : [str], default is Undefined, required + monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + pool : str, default is Undefined, optional + pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + """ + + + fsType?: str + + image: str + + keyring?: str + + monitors: [str] + + pool?: str + + readOnly?: bool + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef + + user?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0RbdSecretRef: + """ + secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIO: + """ + scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". + gateway : str, default is Undefined, required + gateway is the host address of the ScaleIO API Gateway. + protectionDomain : str, default is Undefined, optional + protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef, default is Undefined, required + secret ref + sslEnabled : bool, default is Undefined, optional + sslEnabled Flag enable/disable SSL communication with Gateway, default false + storageMode : str, default is Undefined, optional + storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. + storagePool : str, default is Undefined, optional + storagePool is the ScaleIO Storage Pool associated with the protection domain. + system : str, default is Undefined, required + system is the name of the storage system as configured in ScaleIO. + volumeName : str, default is Undefined, optional + volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. + """ + + + fsType?: str + + gateway: str + + protectionDomain?: str + + readOnly?: bool + + secretRef: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef + + sslEnabled?: bool + + storageMode?: str + + storagePool?: str + + system: str + + volumeName?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0ScaleIOSecretRef: + """ + secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Secret: + """ + secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0], default is Undefined, optional + items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its keys must be defined + secretName : str, default is Undefined, optional + secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + """ + + + defaultMode?: int + + items?: [DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0] + + optional?: bool + + secretName?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0Storageos: + """ + storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef, default is Undefined, optional + secret ref + volumeName : str, default is Undefined, optional + volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. + volumeNamespace : str, default is Undefined, optional + volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef + + volumeName?: str + + volumeNamespace?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0StorageosSecretRef: + """ + secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobSpecTargetVolumesItems0VsphereVolume: + """ + vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + storagePolicyID : str, default is Undefined, optional + storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + storagePolicyName : str, default is Undefined, optional + storagePolicyName is the storage Policy Based Management (SPBM) profile name. + volumePath : str, default is Undefined, required + volumePath is the path that identifies vSphere volume vmdk + """ + + + fsType?: str + + storagePolicyID?: str + + storagePolicyName?: str + + volumePath: str + + +schema DataprotectionKubeblocksIoV1alpha1RestoreJobStatus: + """ + RestoreJobStatus defines the observed state of RestoreJob + + Attributes + ---------- + completionTimestamp : str, default is Undefined, optional + Date/time when the backup finished being processed. + expiration : str, default is Undefined, optional + The date and time when the Backup is eligible for garbage collection. 'null' means the Backup is NOT be cleaned except delete manual. + failureReason : str, default is Undefined, optional + Job failed reason. + phase : str, default is Undefined, optional + RestoreJobPhase The current phase. Valid values are New, InProgressPhy, InProgressLogic, Completed, Failed. + startTimestamp : str, default is Undefined, optional + Date/time when the backup started being processed. + """ + + + completionTimestamp?: str + + expiration?: str + + failureReason?: str + + phase?: "New" | "InProgressPhy" | "InProgressLogic" | "Completed" | "Failed" + + startTimestamp?: str + + diff --git a/kubeblocks/v1alpha1/extensions_kubeblocks_io_v1alpha1_addon.k b/kubeblocks/v1alpha1/extensions_kubeblocks_io_v1alpha1_addon.k new file mode 100644 index 00000000..defb2f46 --- /dev/null +++ b/kubeblocks/v1alpha1/extensions_kubeblocks_io_v1alpha1_addon.k @@ -0,0 +1,802 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema Addon: + """ + Addon is the Schema for the add-ons API. + + Attributes + ---------- + apiVersion : str, default is "extensions.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "Addon", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : ExtensionsKubeblocksIoV1alpha1AddonSpec, default is Undefined, optional + spec + status : ExtensionsKubeblocksIoV1alpha1AddonStatus, default is Undefined, optional + status + """ + + + apiVersion: "extensions.kubeblocks.io/v1alpha1" = "extensions.kubeblocks.io/v1alpha1" + + kind: "Addon" = "Addon" + + metadata?: v1.ObjectMeta + + spec?: ExtensionsKubeblocksIoV1alpha1AddonSpec + + status?: ExtensionsKubeblocksIoV1alpha1AddonStatus + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpec: + """ + AddonSpec defines the desired state of an add-on. + + Attributes + ---------- + cliPlugins : [ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0], default is Undefined, optional + Plugin installation spec. + defaultInstallValues : [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0], default is Undefined, required + Default installation parameters. + description : str, default is Undefined, optional + Addon description. + helm : ExtensionsKubeblocksIoV1alpha1AddonSpecHelm, default is Undefined, optional + helm + install : ExtensionsKubeblocksIoV1alpha1AddonSpecInstall, default is Undefined, optional + install + installable : ExtensionsKubeblocksIoV1alpha1AddonSpecInstallable, default is Undefined, optional + installable + $type : str, default is Undefined, required + Add-on type. The valid value is helm. + """ + + + cliPlugins?: [ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0] + + defaultInstallValues: [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0] + + description?: str + + helm?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelm + + install?: ExtensionsKubeblocksIoV1alpha1AddonSpecInstall + + installable?: ExtensionsKubeblocksIoV1alpha1AddonSpecInstallable + + $type: "Helm" + + + check: + len(defaultInstallValues) >= 1 + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecCliPluginsItems0: + """ + extensions kubeblocks io v1alpha1 addon spec cli plugins items0 + + Attributes + ---------- + description : str, default is Undefined, optional + The description of the plugin. + indexRepository : str, default is Undefined, required + The index repository of the plugin. + name : str, default is Undefined, required + Name of the plugin. + """ + + + description?: str + + indexRepository: str + + name: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0: + """ + extensions kubeblocks io v1alpha1 addon spec default install values items0 + + Attributes + ---------- + enabled : bool, default is Undefined, optional + enabled can be set if there are no specific installation attributes to be set. + extras : [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0], default is Undefined, optional + Installs spec. for extra items. + persistentVolumeEnabled : bool, default is Undefined, optional + Persistent Volume Enabled value. + replicas : int, default is Undefined, optional + Replicas value. + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0Resources, default is Undefined, optional + resources + selectors : [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0SelectorsItems0], default is Undefined, optional + Addon installs parameters selectors by default. If multiple selectors are provided, all selectors must evaluate to true. + storageClass : str, default is Undefined, optional + Storage class name. + tolerations : str, default is Undefined, optional + Tolerations JSON array string value. + """ + + + enabled?: bool + + extras?: [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0] + + persistentVolumeEnabled?: bool + + replicas?: int + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0Resources + + selectors?: [ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0SelectorsItems0] + + storageClass?: str + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0: + """ + extensions kubeblocks io v1alpha1 addon spec default install values items0 extras items0 + + Attributes + ---------- + name : str, default is Undefined, required + Name of the item. + persistentVolumeEnabled : bool, default is Undefined, optional + Persistent Volume Enabled value. + replicas : int, default is Undefined, optional + Replicas value. + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources, default is Undefined, optional + resources + storageClass : str, default is Undefined, optional + Storage class name. + tolerations : str, default is Undefined, optional + Tolerations JSON array string value. + """ + + + name: str + + persistentVolumeEnabled?: bool + + replicas?: int + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources + + storageClass?: str + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0ExtrasItems0Resources: + """ + Resource requirements. + + Attributes + ---------- + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + """ + + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0Resources: + """ + Resource requirements. + + Attributes + ---------- + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + """ + + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecDefaultInstallValuesItems0SelectorsItems0: + """ + extensions kubeblocks io v1alpha1 addon spec default install values items0 selectors items0 + + Attributes + ---------- + key : str, default is Undefined, required + The selector key. Valid values are KubeVersion, KubeGitVersion. "KubeVersion" the semver expression of Kubernetes versions, i.e., v1.24. "KubeGitVersion" may contain distro. info., i.e., v1.24.4+eks. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex. + Possible enum values: `"Contains"` line contains a string. `"DoesNotContain"` line does not contain a string. `"MatchRegex"` line contains a match to the regular expression. `"DoesNotMatchRegex"` line does not contain a match to the regular expression. + values : [str], default is Undefined, optional + An array of string values. It serves as an "OR" expression to the operator. + """ + + + key: "KubeGitVersion" | "KubeVersion" + + operator: "Contains" | "DoesNotContain" | "MatchRegex" | "DoesNotMatchRegex" + + values?: [str] + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelm: + """ + Helm installation spec. It's processed only when type=helm. + + Attributes + ---------- + chartLocationURL : str, default is Undefined, required + A Helm Chart location URL. + chartsImage : str, default is Undefined, optional + chartsImage defines the image of Helm charts. + chartsPathInImage : str, default is Undefined, optional + chartsPathInImage defines the path of Helm charts in the image. It's used to copy Helm charts from the image to the shared volume. + installOptions : {str:str}, default is Undefined, optional + installOptions defines Helm release installation options. + installValues : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues, default is Undefined, optional + install values + valuesMapping : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping, default is Undefined, optional + values mapping + """ + + + chartLocationURL: str + + chartsImage?: str + + chartsPathInImage?: str + + installOptions?: {str:str} + + installValues?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues + + valuesMapping?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValues: + """ + HelmInstallValues defines Helm release installation set values. + + Attributes + ---------- + configMapRefs : [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0], default is Undefined, optional + Selects a key of a ConfigMap item list. The value of ConfigMap can be a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml" extension name to specify a content type. + secretRefs : [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0], default is Undefined, optional + Selects a key of a Secrets item list. The value of Secrets can be a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml" extension name to specify a content type. + setJSONValues : [str], default is Undefined, optional + Helm install set JSON values. It can specify multiple or separate values with commas(key1=jsonval1,key2=jsonval2). + setValues : [str], default is Undefined, optional + Helm install set values. It can specify multiple or separate values with commas(key1=val1,key2=val2). + urls : [str], default is Undefined, optional + urls + """ + + + configMapRefs?: [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0] + + secretRefs?: [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0] + + setJSONValues?: [str] + + setValues?: [str] + + urls?: [str] + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesConfigMapRefsItems0: + """ + extensions kubeblocks io v1alpha1 addon spec helm install values config map refs items0 + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, required + Object name of the referent. + """ + + + key: str + + name: str + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmInstallValuesSecretRefsItems0: + """ + extensions kubeblocks io v1alpha1 addon spec helm install values secret refs items0 + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, required + Object name of the referent. + """ + + + key: str + + name: str + + + check: + regex.match(name, r"(^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$") + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMapping: + """ + valuesMapping defines add-on normalized resources parameters mapped to Helm values' keys. + + Attributes + ---------- + extras : [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0], default is Undefined, optional + Helm value mapping items for extra items. + jsonMap : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap, default is Undefined, optional + json map + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources, default is Undefined, optional + resources + valueMap : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap, default is Undefined, optional + value map + """ + + + extras?: [ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0] + + jsonMap?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources + + valueMap?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0: + """ + extensions kubeblocks io v1alpha1 addon spec helm values mapping extras items0 + + Attributes + ---------- + jsonMap : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap, default is Undefined, optional + json map + name : str, default is Undefined, required + Name of the item. + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources, default is Undefined, optional + resources + valueMap : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap, default is Undefined, optional + value map + """ + + + jsonMap?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap + + name: str + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources + + valueMap?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0JSONMap: + """ + jsonMap defines the "key" mapping values. The valid key is tolerations. Enum values explained: `"tolerations"` sets the toleration mapping key. + + Attributes + ---------- + tolerations : str, default is Undefined, optional + tolerations sets the toleration mapping key. + """ + + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0Resources: + """ + resources sets resources related mapping keys. + + Attributes + ---------- + cpu : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU, default is Undefined, optional + cpu + memory : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory, default is Undefined, optional + memory + storage : str, default is Undefined, optional + storage sets the storage size value mapping key. + """ + + + cpu?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU + + memory?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory + + storage?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesCPU: + """ + cpu sets CPU requests and limits mapping keys. + + Attributes + ---------- + limits : str, default is Undefined, optional + Limits value mapping key. + requests : str, default is Undefined, optional + Requests value mapping key. + """ + + + limits?: str + + requests?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ResourcesMemory: + """ + memory sets Memory requests and limits mapping keys. + + Attributes + ---------- + limits : str, default is Undefined, optional + Limits value mapping key. + requests : str, default is Undefined, optional + Requests value mapping key. + """ + + + limits?: str + + requests?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingExtrasItems0ValueMap: + """ + valueMap define the "key" mapping values. Valid keys are replicaCount, persistentVolumeEnabled, and storageClass. Enum values explained: `"replicaCount"` sets the replicaCount value mapping key. `"persistentVolumeEnabled"` sets the persistent volume enabled mapping key. `"storageClass"` sets the storageClass mapping key. + + Attributes + ---------- + persistentVolumeEnabled : str, default is Undefined, optional + persistentVolumeEnabled sets the persistent volume enabled mapping key. + replicaCount : str, default is Undefined, optional + replicaCount sets the replicaCount value mapping key. + storageClass : str, default is Undefined, optional + storageClass sets the storageClass mapping key. + """ + + + persistentVolumeEnabled?: str + + replicaCount?: str + + storageClass?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingJSONMap: + """ + jsonMap defines the "key" mapping values. The valid key is tolerations. Enum values explained: `"tolerations"` sets the toleration mapping key. + + Attributes + ---------- + tolerations : str, default is Undefined, optional + tolerations sets the toleration mapping key. + """ + + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResources: + """ + resources sets resources related mapping keys. + + Attributes + ---------- + cpu : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU, default is Undefined, optional + cpu + memory : ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory, default is Undefined, optional + memory + storage : str, default is Undefined, optional + storage sets the storage size value mapping key. + """ + + + cpu?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU + + memory?: ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory + + storage?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesCPU: + """ + cpu sets CPU requests and limits mapping keys. + + Attributes + ---------- + limits : str, default is Undefined, optional + Limits value mapping key. + requests : str, default is Undefined, optional + Requests value mapping key. + """ + + + limits?: str + + requests?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingResourcesMemory: + """ + memory sets Memory requests and limits mapping keys. + + Attributes + ---------- + limits : str, default is Undefined, optional + Limits value mapping key. + requests : str, default is Undefined, optional + Requests value mapping key. + """ + + + limits?: str + + requests?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecHelmValuesMappingValueMap: + """ + valueMap define the "key" mapping values. Valid keys are replicaCount, persistentVolumeEnabled, and storageClass. Enum values explained: `"replicaCount"` sets the replicaCount value mapping key. `"persistentVolumeEnabled"` sets the persistent volume enabled mapping key. `"storageClass"` sets the storageClass mapping key. + + Attributes + ---------- + persistentVolumeEnabled : str, default is Undefined, optional + persistentVolumeEnabled sets the persistent volume enabled mapping key. + replicaCount : str, default is Undefined, optional + replicaCount sets the replicaCount value mapping key. + storageClass : str, default is Undefined, optional + storageClass sets the storageClass mapping key. + """ + + + persistentVolumeEnabled?: str + + replicaCount?: str + + storageClass?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstall: + """ + Installation parameters. + + Attributes + ---------- + enabled : bool, default is Undefined, optional + enabled can be set if there are no specific installation attributes to be set. + extras : [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0], default is Undefined, optional + Installs spec. for extra items. + persistentVolumeEnabled : bool, default is Undefined, optional + Persistent Volume Enabled value. + replicas : int, default is Undefined, optional + Replicas value. + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecInstallResources, default is Undefined, optional + resources + storageClass : str, default is Undefined, optional + Storage class name. + tolerations : str, default is Undefined, optional + Tolerations JSON array string value. + """ + + + enabled?: bool + + extras?: [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0] + + persistentVolumeEnabled?: bool + + replicas?: int + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecInstallResources + + storageClass?: str + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0: + """ + extensions kubeblocks io v1alpha1 addon spec install extras items0 + + Attributes + ---------- + name : str, default is Undefined, required + Name of the item. + persistentVolumeEnabled : bool, default is Undefined, optional + Persistent Volume Enabled value. + replicas : int, default is Undefined, optional + Replicas value. + resources : ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources, default is Undefined, optional + resources + storageClass : str, default is Undefined, optional + Storage class name. + tolerations : str, default is Undefined, optional + Tolerations JSON array string value. + """ + + + name: str + + persistentVolumeEnabled?: bool + + replicas?: int + + resources?: ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources + + storageClass?: str + + tolerations?: str + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstallExtrasItems0Resources: + """ + Resource requirements. + + Attributes + ---------- + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + """ + + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstallResources: + """ + Resource requirements. + + Attributes + ---------- + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. + """ + + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstallable: + """ + Addon installable spec. It provides selector and auto-install settings. + + Attributes + ---------- + autoInstall : bool, default is Undefined, required + autoInstall defines an add-on should be installed automatically. + selectors : [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallableSelectorsItems0], default is Undefined, optional + Add-on installable selectors. If multiple selectors are provided, all selectors must evaluate to true. + """ + + + autoInstall: bool = False + + selectors?: [ExtensionsKubeblocksIoV1alpha1AddonSpecInstallableSelectorsItems0] + + +schema ExtensionsKubeblocksIoV1alpha1AddonSpecInstallableSelectorsItems0: + """ + extensions kubeblocks io v1alpha1 addon spec installable selectors items0 + + Attributes + ---------- + key : str, default is Undefined, required + The selector key. Valid values are KubeVersion, KubeGitVersion. "KubeVersion" the semver expression of Kubernetes versions, i.e., v1.24. "KubeGitVersion" may contain distro. info., i.e., v1.24.4+eks. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex. + Possible enum values: `"Contains"` line contains a string. `"DoesNotContain"` line does not contain a string. `"MatchRegex"` line contains a match to the regular expression. `"DoesNotMatchRegex"` line does not contain a match to the regular expression. + values : [str], default is Undefined, optional + An array of string values. It serves as an "OR" expression to the operator. + """ + + + key: "KubeGitVersion" | "KubeVersion" + + operator: "Contains" | "DoesNotContain" | "MatchRegex" | "DoesNotMatchRegex" + + values?: [str] + + +schema ExtensionsKubeblocksIoV1alpha1AddonStatus: + """ + AddonStatus defines the observed state of an add-on. + + Attributes + ---------- + conditions : [ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0], default is Undefined, optional + Describes the current state of add-on API installation conditions. + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this add-on. It corresponds to the add-on's generation, which is updated on mutation by the API Server. + phase : str, default is Undefined, optional + Add-on installation phases. Valid values are Disabled, Enabled, Failed, Enabling, Disabling. + """ + + + conditions?: [ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0] + + observedGeneration?: int + + phase?: "Disabled" | "Enabled" | "Failed" | "Enabling" | "Disabling" + + +schema ExtensionsKubeblocksIoV1alpha1AddonStatusConditionsItems0: + """ + Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` + // other fields } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. This may be an empty string. + observedGeneration : int, default is Undefined, optional + observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + reason : str, default is Undefined, required + reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 + len(reason) <= 1024 + len(reason) >= 1 + regex.match(reason, r"(^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + regex.match($type, r"(^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") + + diff --git a/kubeblocks/v1alpha1/storage_kubeblocks_io_v1alpha1_storage_provider.k b/kubeblocks/v1alpha1/storage_kubeblocks_io_v1alpha1_storage_provider.k new file mode 100644 index 00000000..6cd70e64 --- /dev/null +++ b/kubeblocks/v1alpha1/storage_kubeblocks_io_v1alpha1_storage_provider.k @@ -0,0 +1,146 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema StorageProvider: + """ + StorageProvider is the Schema for the storageproviders API StorageProvider describes how to provision PVCs for a specific storage system (e.g. S3, NFS, etc), by using the CSI driver. + + Attributes + ---------- + apiVersion : str, default is "storage.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "StorageProvider", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : StorageKubeblocksIoV1alpha1StorageProviderSpec, default is Undefined, optional + spec + status : StorageKubeblocksIoV1alpha1StorageProviderStatus, default is Undefined, optional + status + """ + + + apiVersion: "storage.kubeblocks.io/v1alpha1" = "storage.kubeblocks.io/v1alpha1" + + kind: "StorageProvider" = "StorageProvider" + + metadata?: v1.ObjectMeta + + spec?: StorageKubeblocksIoV1alpha1StorageProviderSpec + + status?: StorageKubeblocksIoV1alpha1StorageProviderStatus + + +schema StorageKubeblocksIoV1alpha1StorageProviderSpec: + """ + StorageProviderSpec defines the desired state of StorageProvider + + Attributes + ---------- + csiDriverName : str, default is Undefined, optional + The name of the CSI driver used by this StorageProvider. + csiDriverSecretTemplate : str, default is Undefined, optional + A Go template for rendering a secret which will be used by the CSI driver. The template will be rendered with the following variables: - Parameters: a map of parameters defined in the ParametersSchema. + parametersSchema : StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema, default is Undefined, optional + parameters schema + storageClassTemplate : str, default is Undefined, optional + A Go template for rendering a storage class which will be used by the CSI driver. The template will be rendered with the following variables: - Parameters: a map of parameters defined in the ParametersSchema. - CSIDriverSecretRef: the reference of the secret created by the CSIDriverSecretTemplate. + """ + + + csiDriverName?: str + + csiDriverSecretTemplate?: str + + parametersSchema?: StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema + + storageClassTemplate?: str + + +schema StorageKubeblocksIoV1alpha1StorageProviderSpecParametersSchema: + """ + The schema describes the parameters required by this StorageProvider, when rendering the templates. + + Attributes + ---------- + credentialFields : [str], default is Undefined, optional + credentialFields are the fields used to generate the secret. + openAPIV3Schema : any, default is Undefined, optional + openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning. + """ + + + credentialFields?: [str] + + openAPIV3Schema?: any + + +schema StorageKubeblocksIoV1alpha1StorageProviderStatus: + """ + StorageProviderStatus defines the observed state of StorageProvider + + Attributes + ---------- + conditions : [StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0], default is Undefined, optional + Describes the current state of the storage provider. + phase : str, default is Undefined, optional + Storage provider reconciliation phases. Valid values are NotReady, Ready. + """ + + + conditions?: [StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0] + + phase?: "NotReady" | "Ready" + + +schema StorageKubeblocksIoV1alpha1StorageProviderStatusConditionsItems0: + """ + Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` + // other fields } + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, required + lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + message : str, default is Undefined, required + message is a human readable message indicating details about the transition. This may be an empty string. + observedGeneration : int, default is Undefined, optional + observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + reason : str, default is Undefined, required + reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + status : str, default is Undefined, required + status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + """ + + + lastTransitionTime: str + + message: str + + observedGeneration?: int + + reason: str + + status: "True" | "False" | "Unknown" + + $type: str + + + check: + len(message) <= 32768 + observedGeneration >= 0 + len(reason) <= 1024 + len(reason) >= 1 + regex.match(reason, r"(^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") + len($type) <= 316 + regex.match($type, r"(^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") + + diff --git a/kubeblocks/v1alpha1/workloads_kubeblocks_io_v1alpha1_replicated_state_machine.k b/kubeblocks/v1alpha1/workloads_kubeblocks_io_v1alpha1_replicated_state_machine.k new file mode 100644 index 00000000..ada056f8 --- /dev/null +++ b/kubeblocks/v1alpha1/workloads_kubeblocks_io_v1alpha1_replicated_state_machine.k @@ -0,0 +1,7734 @@ +""" +This file was generated by the KCL auto-gen tool. DO NOT EDIT. +Editing this file might prove futile when you re-run the KCL auto-gen generate command. +""" +import regex +import k8s.apimachinery.pkg.apis.meta.v1 + + +schema ReplicatedStateMachine: + """ + ReplicatedStateMachine is the Schema for the replicatedstatemachines API + + Attributes + ---------- + apiVersion : str, default is "workloads.kubeblocks.io/v1alpha1", required + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is "ReplicatedStateMachine", required + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : v1.ObjectMeta, default is Undefined, optional + metadata + spec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec, default is Undefined, optional + spec + status : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatus, default is Undefined, optional + status + """ + + + apiVersion: "workloads.kubeblocks.io/v1alpha1" = "workloads.kubeblocks.io/v1alpha1" + + kind: "ReplicatedStateMachine" = "ReplicatedStateMachine" + + metadata?: v1.ObjectMeta + + spec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec + + status?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatus + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpec: + """ + ReplicatedStateMachineSpec defines the desired state of ReplicatedStateMachine + + Attributes + ---------- + credential : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential, default is Undefined, optional + credential + membershipReconfiguration : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration, default is Undefined, optional + membership reconfiguration + replicas : int, default is 1, optional + Replicas defines number of Pods + roleObservation : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation, default is Undefined, required + role observation + roles : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0], default is Undefined, required + Roles, a list of roles defined in the system. + service : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService, default is Undefined, required + service + template : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate, default is Undefined, required + template + updateStrategy : str, default is "Serial", optional + UpdateStrategy, Pods update strategy. serial: update Pods one by one that guarantee minimum component unavailable time. Learner -> Follower(with AccessMode=none) -> Follower(with AccessMode=readonly) -> Follower(with AccessMode=readWrite) -> Leader bestEffortParallel: update Pods in parallel that guarantee minimum component un-writable time. Learner, Follower(minority) in parallel -> Follower(majority) -> Leader, keep majority online all the time. parallel: force parallel + volumeClaimTemplates : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0], default is Undefined, optional + volumeClaimTemplates is a list of claims that pods are allowed to reference. The ReplicatedStateMachine controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name. + """ + + + credential?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential + + membershipReconfiguration?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration + + replicas?: int = 1 + + roleObservation: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation + + roles: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0] + + service: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService + + template: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate + + updateStrategy?: "Serial" | "BestEffortParallel" | "Parallel" = "Serial" + + volumeClaimTemplates?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0] + + + check: + replicas >= 0 + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredential: + """ + Credential used to connect to DB engine + + Attributes + ---------- + password : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword, default is Undefined, required + password + username : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername, default is Undefined, required + username + """ + + + password: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword + + username: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPassword: + """ + Password variable name will be KB_RSM_PASSWORD + + Attributes + ---------- + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom, default is Undefined, optional + value from + """ + + + value?: str + + valueFrom?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef + + secretKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialPasswordValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsername: + """ + Username variable name will be KB_RSM_USERNAME + + Attributes + ---------- + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom, default is Undefined, optional + value from + """ + + + value?: str + + valueFrom?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef + + secretKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecCredentialUsernameValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfiguration: + """ + MembershipReconfiguration provides actions to do membership dynamic reconfiguration. + + Attributes + ---------- + logSyncAction : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction, default is Undefined, optional + log sync action + memberJoinAction : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction, default is Undefined, optional + member join action + memberLeaveAction : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction, default is Undefined, optional + member leave action + promoteAction : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction, default is Undefined, optional + promote action + switchoverAction : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction, default is Undefined, optional + switchover action + """ + + + logSyncAction?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction + + memberJoinAction?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction + + memberLeaveAction?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction + + promoteAction?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction + + switchoverAction?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationLogSyncAction: + """ + LogSyncAction specifies how to trigger the new member to start log syncing previous none-nil action's Image wil be used if not configured + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberJoinAction: + """ + MemberJoinAction specifies how to add member previous none-nil action's Image wil be used if not configured + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationMemberLeaveAction: + """ + MemberLeaveAction specifies how to remove member previous none-nil action's Image wil be used if not configured + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationPromoteAction: + """ + PromoteAction specifies how to tell the cluster that the new member can join voting now previous none-nil action's Image wil be used if not configured + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecMembershipReconfigurationSwitchoverAction: + """ + SwitchoverAction specifies how to do switchover latest [BusyBox](https://busybox.net/) image will be used if Image not configured + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservation: + """ + RoleObservation provides method to observe role. + + Attributes + ---------- + failureThreshold : int, default is 3, optional + Minimum consecutive failures for the observation to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before role observation has started. + observationActions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0], default is Undefined, required + ObservationActions define Actions to be taken in serial. after all actions done, the final output should be a single string of the role name defined in spec.Roles latest [BusyBox](https://busybox.net/) image will be used if Image not configured Environment variables can be used in Command: - v_KB_RSM_LAST_STDOUT stdout from last action, watch 'v_' prefixed - KB_RSM_USERNAME username part of credential - KB_RSM_PASSWORD password part of credential + periodSeconds : int, default is 2, optional + How often (in seconds) to perform the observation. Default to 2 seconds. Minimum value is 1. + successThreshold : int, default is 1, optional + Minimum consecutive successes for the observation to be considered successful after having failed. Minimum consecutive successes for the observation to be considered successful after having failed. Defaults to 1. Minimum value is 1. + timeoutSeconds : int, default is 1, optional + Number of seconds after which the observation times out. Defaults to 1 second. Minimum value is 1. + """ + + + failureThreshold?: int = 3 + + initialDelaySeconds?: int = 0 + + observationActions: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0] + + periodSeconds?: int = 2 + + successThreshold?: int = 1 + + timeoutSeconds?: int = 1 + + + check: + failureThreshold >= 1 + initialDelaySeconds >= 0 + periodSeconds >= 1 + successThreshold >= 1 + timeoutSeconds >= 1 + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRoleObservationObservationActionsItems0: + """ + workloads kubeblocks io v1alpha1 replicated state machine spec role observation observation actions items0 + + Attributes + ---------- + command : [str], default is Undefined, required + Command will be executed in Container to retrieve or process role info + image : str, default is Undefined, optional + utility image contains command that can be used to retrieve of process role info + """ + + + command: [str] + + image?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecRolesItems0: + """ + workloads kubeblocks io v1alpha1 replicated state machine spec roles items0 + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + AccessMode, what service this member capable. + canVote : bool, default is True, optional + CanVote, whether this member has voting rights + isLeader : bool, default is Undefined, optional + IsLeader, whether this member is the leader + name : str, default is "leader", required + Name, role name. + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + canVote?: bool = True + + isLeader?: bool = False + + name: str = "leader" + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecService: + """ + service defines the behavior of a service spec. provides read-write service https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + + Attributes + ---------- + allocateLoadBalancerNodePorts : bool, default is Undefined, optional + allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is "true". It may be set to "false" if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type. + clusterIP : str, default is Undefined, optional + clusterIP is the IP address of the service and is usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be blank) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are "None", empty string (""), or a valid IP address. Setting this to "None" makes a "headless service" (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + clusterIPs : [str], default is Undefined, optional + ClusterIPs is a list of IP addresses assigned to this service, and are usually assigned randomly. If an address is specified manually, is in-range (as per system configuration), and is not in use, it will be allocated to the service; otherwise creation of the service will fail. This field may not be changed through updates unless the type field is also being changed to ExternalName (which requires this field to be empty) or the type field is being changed from ExternalName (in which case this field may optionally be specified, as describe above). Valid values are "None", empty string (""), or a valid IP address. Setting this to "None" makes a "headless service" (no virtual IP), which is useful when direct endpoint connections are preferred and proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. If this field is specified when creating a Service of type ExternalName, creation will fail. This field will be wiped when updating a Service to type ExternalName. If this field is not specified, it will be initialized from the clusterIP field. If this field is specified, clients must ensure that clusterIPs[0] and clusterIP have the same value. + This field may hold a maximum of two entries (dual-stack IPs, in either order). These IPs must correspond to the values of the ipFamilies field. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + externalIPs : [str], default is Undefined, optional + externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system. + externalName : str, default is Undefined, optional + externalName is the external reference that discovery mechanisms will return as an alias for this service (e.g. a DNS CNAME record). No proxying will be involved. Must be a lowercase RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName". + externalTrafficPolicy : str, default is Undefined, optional + externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service's "externally-facing" addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, "Cluster", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get "Cluster" semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node. + healthCheckNodePort : int, default is Undefined, optional + healthCheckNodePort specifies the healthcheck nodePort for the service. This only applies when type is set to LoadBalancer and externalTrafficPolicy is set to Local. If a value is specified, is in-range, and is not in use, it will be used. If not specified, a value will be automatically allocated. External systems (e.g. load-balancers) can use this port to determine if a given node holds endpoints for this service or not. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type). This field cannot be updated once set. + internalTrafficPolicy : str, default is Undefined, optional + InternalTrafficPolicy describes how nodes distribute service traffic they receive on the ClusterIP. If set to "Local", the proxy will assume that pods only want to talk to endpoints of the service on the same node as the pod, dropping the traffic if there are no local endpoints. The default value, "Cluster", uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). + ipFamilies : [str], default is Undefined, optional + IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service. This field is usually assigned automatically based on cluster configuration and the ipFamilyPolicy field. If this field is specified manually, the requested family is available in the cluster, and ipFamilyPolicy allows it, it will be used; otherwise creation of the service will fail. This field is conditionally mutable: it allows for adding or removing a secondary IP family, but it does not allow changing the primary IP family of the Service. Valid values are "IPv4" and "IPv6". This field only applies to Services of types ClusterIP, NodePort, and LoadBalancer, and does apply to "headless" services. This field will be wiped when updating a Service to type ExternalName. + This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field. + ipFamilyPolicy : str, default is Undefined, optional + IPFamilyPolicy represents the dual-stack-ness requested or required by this Service. If there is no value provided, then this field will be set to SingleStack. Services can be "SingleStack" (a single IP family), "PreferDualStack" (two IP families on dual-stack configured clusters or a single IP family on single-stack clusters), or "RequireDualStack" (two IP families on dual-stack configured clusters, otherwise fail). The ipFamilies and clusterIPs fields depend on the value of this field. This field will be wiped when updating a service to type ExternalName. + loadBalancerClass : str, default is Undefined, optional + loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users. This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type 'LoadBalancer'. Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type. + loadBalancerIP : str, default is Undefined, optional + Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. Deprecated: This field was under-specified and its meaning varies across implementations, and it cannot support dual-stack. As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available. This field may be removed in a future API version. + loadBalancerSourceRanges : [str], default is Undefined, optional + If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ + ports : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0], default is Undefined, optional + The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + publishNotReadyAddresses : bool, default is Undefined, optional + publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet's Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered "ready" even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior. + selector : {str:str}, default is Undefined, optional + Route service traffic to pods with label keys and values matching this selector. If empty or not present, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/ + sessionAffinity : str, default is Undefined, optional + Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + sessionAffinityConfig : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig, default is Undefined, optional + session affinity config + $type : str, default is Undefined, optional + type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. "ExternalName" aliases this service to the specified externalName. Several other fields do not apply to ExternalName services. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types + """ + + + allocateLoadBalancerNodePorts?: bool + + clusterIP?: str + + clusterIPs?: [str] + + externalIPs?: [str] + + externalName?: str + + externalTrafficPolicy?: str + + healthCheckNodePort?: int + + internalTrafficPolicy?: str + + ipFamilies?: [str] + + ipFamilyPolicy?: str + + loadBalancerClass?: str + + loadBalancerIP?: str + + loadBalancerSourceRanges?: [str] + + ports?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0] + + publishNotReadyAddresses?: bool + + selector?: {str:str} + + sessionAffinity?: str + + sessionAffinityConfig?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig + + $type?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServicePortsItems0: + """ + ServicePort contains information on service's port. + + Attributes + ---------- + appProtocol : str, default is Undefined, optional + The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. + name : str, default is Undefined, optional + The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service. + nodePort : int, default is Undefined, optional + The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + port : int, default is Undefined, required + The port that will be exposed by this service. + $protocol : str, default is "TCP", optional + The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". Default is TCP. + targetPort : int | str, default is Undefined, optional + Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service + """ + + + appProtocol?: str + + name?: str + + nodePort?: int + + port: int + + $protocol?: str = "TCP" + + targetPort?: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfig: + """ + sessionAffinityConfig contains the configurations of session affinity. + + Attributes + ---------- + clientIP : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP, default is Undefined, optional + client IP + """ + + + clientIP?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecServiceSessionAffinityConfigClientIP: + """ + clientIP contains the configurations of Client IP based session affinity. + + Attributes + ---------- + timeoutSeconds : int, default is Undefined, optional + timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP". Default value is 10800(for 3 hours). + """ + + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplate: + """ + PodTemplateSpec describes the data a pod should have when created from a template + + Attributes + ---------- + metadata : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata, default is Undefined, optional + metadata + spec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec, default is Undefined, optional + spec + """ + + + metadata?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata + + spec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateMetadata: + """ + Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + annotations + finalizers : [str], default is Undefined, optional + finalizers + labels : {str:str}, default is Undefined, optional + labels + name : str, default is Undefined, optional + name + namespace : str, default is Undefined, optional + namespace + """ + + + annotations?: {str:str} + + finalizers?: [str] + + labels?: {str:str} + + name?: str + + namespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpec: + """ + Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + + Attributes + ---------- + activeDeadlineSeconds : int, default is Undefined, optional + Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. + affinity : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinity, default is Undefined, optional + affinity + automountServiceAccountToken : bool, default is Undefined, optional + AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. + containers : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0], default is Undefined, required + List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. + dnsConfig : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig, default is Undefined, optional + dns config + dnsPolicy : str, default is Undefined, optional + Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. + enableServiceLinks : bool, default is Undefined, optional + EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. + ephemeralContainers : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0], default is Undefined, optional + List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. + hostAliases : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0], default is Undefined, optional + HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. + hostIPC : bool, default is Undefined, optional + Use the host's ipc namespace. Optional: Default to false. + hostNetwork : bool, default is Undefined, optional + Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. + hostPID : bool, default is Undefined, optional + Use the host's pid namespace. Optional: Default to false. + hostUsers : bool, default is Undefined, optional + Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. + hostname : str, default is Undefined, optional + Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. + imagePullSecrets : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0], default is Undefined, optional + ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod + initContainers : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0], default is Undefined, optional + List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + nodeName : str, default is Undefined, optional + NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. + nodeSelector : {str:str}, default is Undefined, optional + NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + os : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs, default is Undefined, optional + os + overhead : {str:int | str}, default is Undefined, optional + Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md + preemptionPolicy : str, default is Undefined, optional + PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. + priority : int, default is Undefined, optional + The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. + priorityClassName : str, default is Undefined, optional + If specified, indicates the pod's priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. + readinessGates : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0], default is Undefined, optional + If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates + resourceClaims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0], default is Undefined, optional + ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + restartPolicy : str, default is Undefined, optional + Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy + runtimeClassName : str, default is Undefined, optional + RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class + schedulerName : str, default is Undefined, optional + If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. + schedulingGates : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0], default is Undefined, optional + SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. + This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. + securityContext : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext, default is Undefined, optional + security context + serviceAccount : str, default is Undefined, optional + DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. + serviceAccountName : str, default is Undefined, optional + ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ + setHostnameAsFQDN : bool, default is Undefined, optional + If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. + shareProcessNamespace : bool, default is Undefined, optional + Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. + subdomain : str, default is Undefined, optional + If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a domainname at all. + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. + tolerations : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0], default is Undefined, optional + If specified, the pod's tolerations. + topologySpreadConstraints : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0], default is Undefined, optional + TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. + volumes : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0], default is Undefined, optional + List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes + """ + + + activeDeadlineSeconds?: int + + affinity?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinity + + automountServiceAccountToken?: bool + + containers: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0] + + dnsConfig?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig + + dnsPolicy?: str + + enableServiceLinks?: bool + + ephemeralContainers?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0] + + hostAliases?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0] + + hostIPC?: bool + + hostNetwork?: bool + + hostPID?: bool + + hostUsers?: bool + + hostname?: str + + imagePullSecrets?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0] + + initContainers?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0] + + nodeName?: str + + nodeSelector?: {str:str} + + os?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs + + overhead?: {str:int | str} + + preemptionPolicy?: str + + priority?: int + + priorityClassName?: str + + readinessGates?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0] + + resourceClaims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0] + + restartPolicy?: str + + runtimeClassName?: str + + schedulerName?: str + + schedulingGates?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0] + + securityContext?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext + + serviceAccount?: str + + serviceAccountName?: str + + setHostnameAsFQDN?: bool + + shareProcessNamespace?: bool + + subdomain?: str + + terminationGracePeriodSeconds?: int + + tolerations?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0] + + topologySpreadConstraints?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0] + + volumes?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinity: + """ + If specified, the pod's scheduling constraints + + Attributes + ---------- + nodeAffinity : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinity, default is Undefined, optional + node affinity + podAffinity : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinity, default is Undefined, optional + pod affinity + podAntiAffinity : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinity, default is Undefined, optional + pod anti affinity + """ + + + nodeAffinity?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinity + + podAffinity?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinity + + podAntiAffinity?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinity + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinity: + """ + Describes node affinity scheduling rules for the pod. + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution, default is Undefined, optional + required during scheduling ignored during execution + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + + Attributes + ---------- + preference : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference, default is Undefined, required + preference + weight : int, default is Undefined, required + Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + """ + + + preference: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference + + weight: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0Preference: + """ + A node selector term, associated with the corresponding weight. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0], default is Undefined, optional + A list of node selector requirements by node's labels. + matchFields : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0], default is Undefined, optional + A list of node selector requirements by node's fields. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0] + + matchFields?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchExpressionsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PreferenceMatchFieldsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution: + """ + If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + + Attributes + ---------- + nodeSelectorTerms : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0], default is Undefined, required + Required. A list of node selector terms. The terms are ORed. + """ + + + nodeSelectorTerms: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0: + """ + A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0], default is Undefined, optional + A list of node selector requirements by node's labels. + matchFields : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0], default is Undefined, optional + A list of node selector requirements by node's fields. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0] + + matchFields?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchExpressionsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsItems0MatchFieldsItems0: + """ + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + The label key that the selector applies to. + operator : str, default is Undefined, required + Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + values : [str], default is Undefined, optional + An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinity: + """ + Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + + Attributes + ---------- + podAffinityTerm : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm, default is Undefined, required + pod affinity term + weight : int, default is Undefined, required + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + """ + + + podAffinityTerm: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + + weight: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm: + """ + Required. A pod affinity term, associated with the corresponding weight. + + Attributes + ---------- + labelSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector, default is Undefined, optional + label selector + namespaceSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + + namespaceSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0: + """ + Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + + Attributes + ---------- + labelSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector, default is Undefined, optional + label selector + namespaceSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + + namespaceSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinity: + """ + Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + + Attributes + ---------- + preferredDuringSchedulingIgnoredDuringExecution : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + requiredDuringSchedulingIgnoredDuringExecution : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0], default is Undefined, optional + If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + """ + + + preferredDuringSchedulingIgnoredDuringExecution?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0] + + requiredDuringSchedulingIgnoredDuringExecution?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0: + """ + The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + + Attributes + ---------- + podAffinityTerm : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm, default is Undefined, required + pod affinity term + weight : int, default is Undefined, required + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + """ + + + podAffinityTerm: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm + + weight: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTerm: + """ + Required. A pod affinity term, associated with the corresponding weight. + + Attributes + ---------- + labelSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector, default is Undefined, optional + label selector + namespaceSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector + + namespaceSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermLabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionItems0PodAffinityTermNamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0: + """ + Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + + Attributes + ---------- + labelSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector, default is Undefined, optional + label selector + namespaceSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector, default is Undefined, optional + namespace selector + namespaces : [str], default is Undefined, optional + namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + topologyKey : str, default is Undefined, required + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + """ + + + labelSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector + + namespaceSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector + + namespaces?: [str] + + topologyKey: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelector: + """ + A label query over a set of resources, in this case pods. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelector: + """ + A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionItems0NamespaceSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources, default is Undefined, optional + resources + securityContext : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0] + + envFrom?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle + + livenessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe + + name: str + + ports?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0] + + readinessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe + + resources?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources + + securityContext?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContext + + startupProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0] + + volumeMounts?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart + + preStop?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeccompProfile + + windowsOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextWindowsOptions + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfig: + """ + Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. + + Attributes + ---------- + nameservers : [str], default is Undefined, optional + A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. + options : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0], default is Undefined, optional + A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy. + searches : [str], default is Undefined, optional + A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed. + """ + + + nameservers?: [str] + + options?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0] + + searches?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecDNSConfigOptionsItems0: + """ + PodDNSConfigOption defines DNS resolver options of a pod. + + Attributes + ---------- + name : str, default is Undefined, optional + Required. + value : str, default is Undefined, optional + value + """ + + + name?: str + + value?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0: + """ + An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation. + To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers. + ports : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0], default is Undefined, optional + Ports are not allowed for ephemeral containers. + readinessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources, default is Undefined, optional + resources + securityContext : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + targetContainerName : str, default is Undefined, optional + If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container uses the namespaces configured in the Pod spec. + The container runtime must implement support for this feature. If the runtime does not support namespace targeting then the result of setting this field is undefined. + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0] + + envFrom?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle + + livenessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe + + name: str + + ports?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0] + + readinessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe + + resources?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources + + securityContext?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContext + + startupProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + targetContainerName?: str + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0] + + volumeMounts?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Lifecycle: + """ + Lifecycle is not allowed for ephemeral containers. + + Attributes + ---------- + postStart : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart + + preStop?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0Resources: + """ + Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod. + + Attributes + ---------- + claims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContext: + """ + Optional: SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeccompProfile + + windowsOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextWindowsOptions + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbe: + """ + Probes are not allowed for ephemeral containers. + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecEphemeralContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecHostAliasesItems0: + """ + HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. + + Attributes + ---------- + hostnames : [str], default is Undefined, optional + Hostnames for the above IP address. + ip : str, default is Undefined, optional + IP address of the host file entry. + """ + + + hostnames?: [str] + + ip?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecImagePullSecretsItems0: + """ + LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0: + """ + A single application container that you want to run within a pod. + + Attributes + ---------- + args : [str], default is Undefined, optional + Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + command : [str], default is Undefined, optional + Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + env : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0], default is Undefined, optional + List of environment variables to set in the container. Cannot be updated. + envFrom : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0], default is Undefined, optional + List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + image : str, default is Undefined, optional + Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + imagePullPolicy : str, default is Undefined, optional + Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + lifecycle : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle, default is Undefined, optional + lifecycle + livenessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe, default is Undefined, optional + liveness probe + name : str, default is Undefined, required + Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + ports : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0], default is Undefined, optional + List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + readinessProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe, default is Undefined, optional + readiness probe + resources : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources, default is Undefined, optional + resources + securityContext : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContext, default is Undefined, optional + security context + startupProbe : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe, default is Undefined, optional + startup probe + stdin : bool, default is Undefined, optional + Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + stdinOnce : bool, default is Undefined, optional + Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + terminationMessagePath : str, default is Undefined, optional + Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + terminationMessagePolicy : str, default is Undefined, optional + Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + tty : bool, default is Undefined, optional + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + volumeDevices : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0], default is Undefined, optional + volumeDevices is the list of block devices to be used by the container. + volumeMounts : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0], default is Undefined, optional + Pod volumes to mount into the container's filesystem. Cannot be updated. + workingDir : str, default is Undefined, optional + Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + """ + + + args?: [str] + + command?: [str] + + env?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0] + + envFrom?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0] + + image?: str + + imagePullPolicy?: str + + lifecycle?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle + + livenessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe + + name: str + + ports?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0] + + readinessProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe + + resources?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources + + securityContext?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContext + + startupProbe?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe + + stdin?: bool + + stdinOnce?: bool + + terminationMessagePath?: str + + terminationMessagePolicy?: str + + tty?: bool + + volumeDevices?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0] + + volumeMounts?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0] + + workingDir?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0: + """ + EnvFromSource represents the source of a set of ConfigMaps + + Attributes + ---------- + configMapRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef, default is Undefined, optional + config map ref + prefix : str, default is Undefined, optional + An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef, default is Undefined, optional + secret ref + """ + + + configMapRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef + + prefix?: str + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0ConfigMapRef: + """ + The ConfigMap to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvFromItems0SecretRef: + """ + The Secret to select from + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret must be defined + """ + + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0: + """ + EnvVar represents an environment variable present in a Container. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the environment variable. Must be a C_IDENTIFIER. + value : str, default is Undefined, optional + Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + valueFrom : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom, default is Undefined, optional + value from + """ + + + name: str + + value?: str + + valueFrom?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFrom: + """ + Source for the environment variable's value. Cannot be used if value is not empty. + + Attributes + ---------- + configMapKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef, default is Undefined, optional + config map key ref + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef, default is Undefined, optional + field ref + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef, default is Undefined, optional + resource field ref + secretKeyRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef, default is Undefined, optional + secret key ref + """ + + + configMapKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef + + secretKeyRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromConfigMapKeyRef: + """ + Selects a key of a ConfigMap. + + Attributes + ---------- + key : str, default is Undefined, required + The key to select. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the ConfigMap or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromFieldRef: + """ + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0EnvItems0ValueFromSecretKeyRef: + """ + Selects a key of a secret in the pod's namespace + + Attributes + ---------- + key : str, default is Undefined, required + The key of the secret to select from. Must be a valid secret key. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + Specify whether the Secret or its key must be defined + """ + + + key: str + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Lifecycle: + """ + Actions that the management system should take in response to container lifecycle events. Cannot be updated. + + Attributes + ---------- + postStart : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart, default is Undefined, optional + post start + preStop : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop, default is Undefined, optional + pre stop + """ + + + postStart?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart + + preStop?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStart: + """ + PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePostStartTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStop: + """ + PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec, default is Undefined, optional + exec + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet, default is Undefined, optional + http get + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket, default is Undefined, optional + tcp socket + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LifecyclePreStopTCPSocket: + """ + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbe: + """ + Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0LivenessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0PortsItems0: + """ + ContainerPort represents a network port in a single container. + + Attributes + ---------- + containerPort : int, default is Undefined, required + Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + hostIP : str, default is Undefined, optional + What host IP to bind the external port to. + hostPort : int, default is Undefined, optional + Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + name : str, default is Undefined, optional + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + $protocol : str, default is "TCP", optional + Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + """ + + + containerPort: int + + hostIP?: str + + hostPort?: int + + name?: str + + $protocol?: str = "TCP" + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbe: + """ + Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ReadinessProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0Resources: + """ + Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + + Attributes + ---------- + claims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0ResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContext: + """ + SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + + Attributes + ---------- + allowPrivilegeEscalation : bool, default is Undefined, optional + AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + capabilities : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextCapabilities, default is Undefined, optional + capabilities + privileged : bool, default is Undefined, optional + Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + procMount : str, default is Undefined, optional + procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + readOnlyRootFilesystem : bool, default is Undefined, optional + Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + windowsOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + allowPrivilegeEscalation?: bool + + capabilities?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextCapabilities + + privileged?: bool + + procMount?: str + + readOnlyRootFilesystem?: bool + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeLinuxOptions + + seccompProfile?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeccompProfile + + windowsOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextWindowsOptions + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextCapabilities: + """ + The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + add : [str], default is Undefined, optional + Added capabilities + drop : [str], default is Undefined, optional + Removed capabilities + """ + + + add?: [str] + + drop?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextSeccompProfile: + """ + The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0SecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbe: + """ + StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Attributes + ---------- + exec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec, default is Undefined, optional + exec + failureThreshold : int, default is Undefined, optional + Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + grpc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc, default is Undefined, optional + grpc + httpGet : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet, default is Undefined, optional + http get + initialDelaySeconds : int, default is Undefined, optional + Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + periodSeconds : int, default is Undefined, optional + How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + successThreshold : int, default is Undefined, optional + Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + tcpSocket : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket, default is Undefined, optional + tcp socket + terminationGracePeriodSeconds : int, default is Undefined, optional + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + timeoutSeconds : int, default is Undefined, optional + Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + """ + + + exec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec + + failureThreshold?: int + + grpc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc + + httpGet?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet + + initialDelaySeconds?: int + + periodSeconds?: int + + successThreshold?: int + + tcpSocket?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket + + terminationGracePeriodSeconds?: int + + timeoutSeconds?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeExec: + """ + Exec specifies the action to take. + + Attributes + ---------- + command : [str], default is Undefined, optional + Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + """ + + + command?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeGrpc: + """ + GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + + Attributes + ---------- + port : int, default is Undefined, required + Port number of the gRPC service. Number must be in the range 1 to 65535. + service : str, default is Undefined, optional + Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + If this is not specified, the default behavior is defined by gRPC. + """ + + + port: int + + service?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGet: + """ + HTTPGet specifies the http request to perform. + + Attributes + ---------- + host : str, default is Undefined, optional + Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + httpHeaders : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0], default is Undefined, optional + Custom headers to set in the request. HTTP allows repeated headers. + path : str, default is Undefined, optional + Path to access on the HTTP server. + port : int | str, default is Undefined, required + Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + scheme : str, default is Undefined, optional + Scheme to use for connecting to the host. Defaults to HTTP. + """ + + + host?: str + + httpHeaders?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0] + + path?: str + + port: int | str + + scheme?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeHTTPGetHTTPHeadersItems0: + """ + HTTPHeader describes a custom header to be used in HTTP probes + + Attributes + ---------- + name : str, default is Undefined, required + The header field name + value : str, default is Undefined, required + The header field value + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0StartupProbeTCPSocket: + """ + TCPSocket specifies an action involving a TCP port. + + Attributes + ---------- + host : str, default is Undefined, optional + Optional: Host name to connect to, defaults to the pod IP. + port : int | str, default is Undefined, required + Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + """ + + + host?: str + + port: int | str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeDevicesItems0: + """ + volumeDevice describes a mapping of a raw block device within a container. + + Attributes + ---------- + devicePath : str, default is Undefined, required + devicePath is the path inside of the container that the device will be mapped to. + name : str, default is Undefined, required + name must match the name of a persistentVolumeClaim in the pod + """ + + + devicePath: str + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecInitContainersItems0VolumeMountsItems0: + """ + VolumeMount describes a mounting of a Volume within a container. + + Attributes + ---------- + mountPath : str, default is Undefined, required + Path within the container at which the volume should be mounted. Must not contain ':'. + mountPropagation : str, default is Undefined, optional + mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + name : str, default is Undefined, required + This must match the Name of a Volume. + readOnly : bool, default is Undefined, optional + Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + subPath : str, default is Undefined, optional + Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + subPathExpr : str, default is Undefined, optional + Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + """ + + + mountPath: str + + mountPropagation?: str + + name: str + + readOnly?: bool + + subPath?: str + + subPathExpr?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecOs: + """ + Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set. + If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions + If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup + + Attributes + ---------- + name : str, default is Undefined, required + Name is the name of the operating system. The currently supported values are linux and windows. Additional value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration Clients should expect to handle additional values and treat unrecognized values in this field as os: null + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecReadinessGatesItems0: + """ + PodReadinessGate contains the reference to a pod condition + + Attributes + ---------- + conditionType : str, default is Undefined, required + ConditionType refers to a condition in the pod's condition list with matching type. + """ + + + conditionType: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0: + """ + PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name. + + Attributes + ---------- + name : str, default is Undefined, required + Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL. + source : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source, default is Undefined, optional + source + """ + + + name: str + + source?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecResourceClaimsItems0Source: + """ + Source describes where to find the ResourceClaim. + + Attributes + ---------- + resourceClaimName : str, default is Undefined, optional + ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod. + resourceClaimTemplateName : str, default is Undefined, optional + ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod. + The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be -, where is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long). + An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed. + This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim. + """ + + + resourceClaimName?: str + + resourceClaimTemplateName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSchedulingGatesItems0: + """ + PodSchedulingGate is associated to a Pod to guard its scheduling. + + Attributes + ---------- + name : str, default is Undefined, required + Name of the scheduling gate. Each scheduling gate must have a unique name field. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContext: + """ + SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. + + Attributes + ---------- + fsGroup : int, default is Undefined, optional + A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + fsGroupChangePolicy : str, default is Undefined, optional + fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + runAsGroup : int, default is Undefined, optional + The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + runAsNonRoot : bool, default is Undefined, optional + Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + runAsUser : int, default is Undefined, optional + The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + seLinuxOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions, default is Undefined, optional + se linux options + seccompProfile : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile, default is Undefined, optional + seccomp profile + supplementalGroups : [int], default is Undefined, optional + A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + sysctls : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0], default is Undefined, optional + Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + windowsOptions : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions, default is Undefined, optional + windows options + """ + + + fsGroup?: int + + fsGroupChangePolicy?: str + + runAsGroup?: int + + runAsNonRoot?: bool + + runAsUser?: int + + seLinuxOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions + + seccompProfile?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile + + supplementalGroups?: [int] + + sysctls?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0] + + windowsOptions?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeLinuxOptions: + """ + The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + level : str, default is Undefined, optional + Level is SELinux level label that applies to the container. + role : str, default is Undefined, optional + Role is a SELinux role label that applies to the container. + $type : str, default is Undefined, optional + Type is a SELinux type label that applies to the container. + user : str, default is Undefined, optional + User is a SELinux user label that applies to the container. + """ + + + level?: str + + role?: str + + $type?: str + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSeccompProfile: + """ + The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + + Attributes + ---------- + localhostProfile : str, default is Undefined, optional + localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + $type : str, default is Undefined, required + type indicates which kind of seccomp profile will be applied. Valid options are: + Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + """ + + + localhostProfile?: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextSysctlsItems0: + """ + Sysctl defines a kernel parameter to be set + + Attributes + ---------- + name : str, default is Undefined, required + Name of a property to set + value : str, default is Undefined, required + Value of a property to set + """ + + + name: str + + value: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecSecurityContextWindowsOptions: + """ + The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + + Attributes + ---------- + gmsaCredentialSpec : str, default is Undefined, optional + GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + gmsaCredentialSpecName : str, default is Undefined, optional + GMSACredentialSpecName is the name of the GMSA credential spec to use. + hostProcess : bool, default is Undefined, optional + HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + runAsUserName : str, default is Undefined, optional + The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + """ + + + gmsaCredentialSpec?: str + + gmsaCredentialSpecName?: str + + hostProcess?: bool + + runAsUserName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTolerationsItems0: + """ + The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + + Attributes + ---------- + effect : str, default is Undefined, optional + Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + key : str, default is Undefined, optional + Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + operator : str, default is Undefined, optional + Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + tolerationSeconds : int, default is Undefined, optional + TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + value : str, default is Undefined, optional + Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + """ + + + effect?: str + + key?: str + + operator?: str + + tolerationSeconds?: int + + value?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0: + """ + TopologySpreadConstraint specifies how to spread matching pods among the given topology. + + Attributes + ---------- + labelSelector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector, default is Undefined, optional + label selector + matchLabelKeys : [str], default is Undefined, optional + MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. + maxSkew : int, default is Undefined, required + MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. | zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed. + minDomains : int, default is Undefined, optional + MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. + This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). + nodeAffinityPolicy : str, default is Undefined, optional + NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + nodeTaintsPolicy : str, default is Undefined, optional + NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. + If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + topologyKey : str, default is Undefined, required + TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. + whenUnsatisfiable : str, default is Undefined, required + WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field. + """ + + + labelSelector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector + + matchLabelKeys?: [str] + + maxSkew: int + + minDomains?: int + + nodeAffinityPolicy?: str + + nodeTaintsPolicy?: str + + topologyKey: str + + whenUnsatisfiable: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelector: + """ + LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecTopologySpreadConstraintsItems0LabelSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0: + """ + Volume represents a named volume in a pod that may be accessed by any container in the pod. + + Attributes + ---------- + awsElasticBlockStore : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore, default is Undefined, optional + aws elastic block store + azureDisk : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk, default is Undefined, optional + azure disk + azureFile : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile, default is Undefined, optional + azure file + cephfs : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs, default is Undefined, optional + cephfs + cinder : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder, default is Undefined, optional + cinder + configMap : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap, default is Undefined, optional + config map + csi : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi, default is Undefined, optional + csi + downwardAPI : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI, default is Undefined, optional + downward API + emptyDir : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir, default is Undefined, optional + empty dir + ephemeral : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral, default is Undefined, optional + ephemeral + fc : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc, default is Undefined, optional + fc + flexVolume : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume, default is Undefined, optional + flex volume + flocker : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker, default is Undefined, optional + flocker + gcePersistentDisk : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk, default is Undefined, optional + gce persistent disk + gitRepo : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo, default is Undefined, optional + git repo + glusterfs : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs, default is Undefined, optional + glusterfs + hostPath : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath, default is Undefined, optional + host path + iscsi : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi, default is Undefined, optional + iscsi + name : str, default is Undefined, required + name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + nfs : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs, default is Undefined, optional + nfs + persistentVolumeClaim : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim, default is Undefined, optional + persistent volume claim + photonPersistentDisk : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk, default is Undefined, optional + photon persistent disk + portworxVolume : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume, default is Undefined, optional + portworx volume + projected : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected, default is Undefined, optional + projected + quobyte : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte, default is Undefined, optional + quobyte + rbd : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd, default is Undefined, optional + rbd + scaleIO : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO, default is Undefined, optional + scale i o + secret : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret, default is Undefined, optional + secret + storageos : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos, default is Undefined, optional + storageos + vsphereVolume : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume, default is Undefined, optional + vsphere volume + """ + + + awsElasticBlockStore?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore + + azureDisk?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk + + azureFile?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile + + cephfs?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs + + cinder?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder + + configMap?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap + + csi?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi + + downwardAPI?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI + + emptyDir?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir + + ephemeral?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral + + fc?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc + + flexVolume?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume + + flocker?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker + + gcePersistentDisk?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk + + gitRepo?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo + + glusterfs?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs + + hostPath?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath + + iscsi?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi + + name: str + + nfs?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs + + persistentVolumeClaim?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim + + photonPersistentDisk?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk + + portworxVolume?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume + + projected?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected + + quobyte?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte + + rbd?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd + + scaleIO?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO + + secret?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret + + storageos?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos + + vsphereVolume?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AwsElasticBlockStore: + """ + awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + readOnly : bool, default is Undefined, optional + readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + volumeID : str, default is Undefined, required + volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + """ + + + fsType?: str + + partition?: int + + readOnly?: bool + + volumeID: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureDisk: + """ + azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + + Attributes + ---------- + cachingMode : str, default is Undefined, optional + cachingMode is the Host Caching mode: None, Read Only, Read Write. + diskName : str, default is Undefined, required + diskName is the Name of the data disk in the blob storage + diskURI : str, default is Undefined, required + diskURI is the URI of data disk in the blob storage + fsType : str, default is Undefined, optional + fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + kind : str, default is Undefined, optional + kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + """ + + + cachingMode?: str + + diskName: str + + diskURI: str + + fsType?: str + + kind?: str + + readOnly?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0AzureFile: + """ + azureFile represents an Azure File Service mount on the host and bind mount to the pod. + + Attributes + ---------- + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretName : str, default is Undefined, required + secretName is the name of secret that contains Azure Storage Account Name and Key + shareName : str, default is Undefined, required + shareName is the azure share Name + """ + + + readOnly?: bool + + secretName: str + + shareName: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cephfs: + """ + cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + + Attributes + ---------- + monitors : [str], default is Undefined, required + monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + path : str, default is Undefined, optional + path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretFile : str, default is Undefined, optional + secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + """ + + + monitors: [str] + + path?: str + + readOnly?: bool + + secretFile?: str + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CephfsSecretRef: + """ + secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Cinder: + """ + cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef, default is Undefined, optional + secret ref + volumeID : str, default is Undefined, required + volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef + + volumeID: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CinderSecretRef: + """ + secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMap: + """ + configMap represents a configMap that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + defaultMode?: int + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Csi: + """ + csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. + fsType : str, default is Undefined, optional + fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. + nodePublishSecretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef, default is Undefined, optional + node publish secret ref + readOnly : bool, default is Undefined, optional + readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). + volumeAttributes : {str:str}, default is Undefined, optional + volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. + """ + + + driver: str + + fsType?: str + + nodePublishSecretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef + + readOnly?: bool + + volumeAttributes?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0CsiNodePublishSecretRef: + """ + nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPI: + """ + downwardAPI represents downward API about the pod that should populate this volume + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of downward API volume file + """ + + + defaultMode?: int + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EmptyDir: + """ + emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + + Attributes + ---------- + medium : str, default is Undefined, optional + medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + sizeLimit : int | str, default is Undefined, optional + sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir + """ + + + medium?: str + + sizeLimit?: int | str + + + check: + regex.match(str(sizeLimit), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if sizeLimit + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Ephemeral: + """ + ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. + Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). + Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. + Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. + A pod can use both types of ephemeral volumes and persistent volumes at the same time. + + Attributes + ---------- + volumeClaimTemplate : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate, default is Undefined, optional + volume claim template + """ + + + volumeClaimTemplate?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplate: + """ + Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). + An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. + This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. + Required, must not be nil. + + Attributes + ---------- + metadata : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata, default is Undefined, optional + metadata + spec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec, default is Undefined, required + spec + """ + + + metadata?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata + + spec: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateMetadata: + """ + May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + annotations + finalizers : [str], default is Undefined, optional + finalizers + labels : {str:str}, default is Undefined, optional + labels + name : str, default is Undefined, optional + name + namespace : str, default is Undefined, optional + namespace + """ + + + annotations?: {str:str} + + finalizers?: [str] + + labels?: {str:str} + + name?: str + + namespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpec: + """ + The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + dataSource : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource, default is Undefined, optional + data source + dataSourceRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef, default is Undefined, optional + data source ref + resources : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources, default is Undefined, optional + resources + selector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector, default is Undefined, optional + selector + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + volumeMode : str, default is Undefined, optional + volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + volumeName : str, default is Undefined, optional + volumeName is the binding reference to the PersistentVolume backing this claim. + """ + + + accessModes?: [str] + + dataSource?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource + + dataSourceRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef + + resources?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources + + selector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector + + storageClassName?: str + + volumeMode?: str + + volumeName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSource: + """ + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + """ + + + apiGroup?: str + + kind: str + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecDataSourceRef: + """ + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + namespace : str, default is Undefined, optional + Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + """ + + + apiGroup?: str + + kind: str + + name: str + + namespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResources: + """ + resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + + Attributes + ---------- + claims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelector: + """ + selector is a label query over volumes to consider for binding. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0EphemeralVolumeClaimTemplateSpecSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Fc: + """ + fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine + lun : int, default is Undefined, optional + lun is Optional: FC target lun number + readOnly : bool, default is Undefined, optional + readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + targetWWNs : [str], default is Undefined, optional + targetWWNs is Optional: FC target worldwide names (WWNs) + wwids : [str], default is Undefined, optional + wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + """ + + + fsType?: str + + lun?: int + + readOnly?: bool + + targetWWNs?: [str] + + wwids?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolume: + """ + flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + + Attributes + ---------- + driver : str, default is Undefined, required + driver is the name of the driver to use for this volume. + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + options : {str:str}, default is Undefined, optional + options is Optional: this field holds extra command options if any. + readOnly : bool, default is Undefined, optional + readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef, default is Undefined, optional + secret ref + """ + + + driver: str + + fsType?: str + + options?: {str:str} + + readOnly?: bool + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0FlexVolumeSecretRef: + """ + secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Flocker: + """ + flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + + Attributes + ---------- + datasetName : str, default is Undefined, optional + datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated + datasetUUID : str, default is Undefined, optional + datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + """ + + + datasetName?: str + + datasetUUID?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GcePersistentDisk: + """ + gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine + partition : int, default is Undefined, optional + partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + pdName : str, default is Undefined, required + pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + """ + + + fsType?: str + + partition?: int + + pdName: str + + readOnly?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0GitRepo: + """ + gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + + Attributes + ---------- + directory : str, default is Undefined, optional + directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + repository : str, default is Undefined, required + repository is the URL + revision : str, default is Undefined, optional + revision is the commit hash for the specified revision. + """ + + + directory?: str + + repository: str + + revision?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Glusterfs: + """ + glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + + Attributes + ---------- + endpoints : str, default is Undefined, required + endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + path : str, default is Undefined, required + path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + readOnly : bool, default is Undefined, optional + readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + """ + + + endpoints: str + + path: str + + readOnly?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0HostPath: + """ + hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + + Attributes + ---------- + path : str, default is Undefined, required + path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + $type : str, default is Undefined, optional + type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + """ + + + path: str + + $type?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Iscsi: + """ + iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + + Attributes + ---------- + chapAuthDiscovery : bool, default is Undefined, optional + chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + chapAuthSession : bool, default is Undefined, optional + chapAuthSession defines whether support iSCSI Session CHAP authentication + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine + initiatorName : str, default is Undefined, optional + initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection. + iqn : str, default is Undefined, required + iqn is the target iSCSI Qualified Name. + iscsiInterface : str, default is Undefined, optional + iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). + lun : int, default is Undefined, required + lun represents iSCSI Target Lun number. + portals : [str], default is Undefined, optional + portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef, default is Undefined, optional + secret ref + targetPortal : str, default is Undefined, required + targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + """ + + + chapAuthDiscovery?: bool + + chapAuthSession?: bool + + fsType?: str + + initiatorName?: str + + iqn: str + + iscsiInterface?: str + + lun: int + + portals?: [str] + + readOnly?: bool + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef + + targetPortal: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0IscsiSecretRef: + """ + secretRef is the CHAP Secret for iSCSI target and initiator authentication + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Nfs: + """ + nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + + Attributes + ---------- + path : str, default is Undefined, required + path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + readOnly : bool, default is Undefined, optional + readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + server : str, default is Undefined, required + server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + """ + + + path: str + + readOnly?: bool + + server: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PersistentVolumeClaim: + """ + persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + + Attributes + ---------- + claimName : str, default is Undefined, required + claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + readOnly : bool, default is Undefined, optional + readOnly Will force the ReadOnly setting in VolumeMounts. Default false. + """ + + + claimName: str + + readOnly?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PhotonPersistentDisk: + """ + photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + pdID : str, default is Undefined, required + pdID is the ID that identifies Photon Controller persistent disk + """ + + + fsType?: str + + pdID: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0PortworxVolume: + """ + portworxVolume represents a portworx volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + volumeID : str, default is Undefined, required + volumeID uniquely identifies a Portworx volume + """ + + + fsType?: str + + readOnly?: bool + + volumeID: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Projected: + """ + projected items for all in one resources secrets, configmaps, and downward API + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + sources : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0], default is Undefined, optional + sources is the list of volume projections + """ + + + defaultMode?: int + + sources?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0: + """ + Projection that may be projected along with other supported volume types + + Attributes + ---------- + configMap : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap, default is Undefined, optional + config map + downwardAPI : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI, default is Undefined, optional + downward API + secret : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret, default is Undefined, optional + secret + serviceAccountToken : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken, default is Undefined, optional + service account token + """ + + + configMap?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap + + downwardAPI?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI + + secret?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret + + serviceAccountToken?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMap: + """ + configMap information about the configMap data to project + + Attributes + ---------- + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional specify whether the ConfigMap or its keys must be defined + """ + + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0] + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ConfigMapItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPI: + """ + downwardAPI information about the downwardAPI data to project + + Attributes + ---------- + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0], default is Undefined, optional + Items is a list of DownwardAPIVolume file + """ + + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0: + """ + DownwardAPIVolumeFile represents information to create the file containing the pod field + + Attributes + ---------- + fieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef, default is Undefined, optional + field ref + mode : int, default is Undefined, optional + Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + resourceFieldRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef, default is Undefined, optional + resource field ref + """ + + + fieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef + + mode?: int + + path: str + + resourceFieldRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0FieldRef: + """ + Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + Version of the schema the FieldPath is written in terms of, defaults to "v1". + fieldPath : str, default is Undefined, required + Path of the field to select in the specified API version. + """ + + + apiVersion?: str + + fieldPath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0DownwardAPIItemsItems0ResourceFieldRef: + """ + Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + + Attributes + ---------- + containerName : str, default is Undefined, optional + Container name: required for volumes, optional for env vars + divisor : int | str, default is Undefined, optional + Specifies the output format of the exposed resources, defaults to "1" + resource : str, default is Undefined, required + Required: resource to select + """ + + + containerName?: str + + divisor?: int | str + + resource: str + + + check: + regex.match(str(divisor), r"(^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$") if divisor + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0Secret: + """ + secret information about the secret data to project + + Attributes + ---------- + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0], default is Undefined, optional + items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its key must be defined + """ + + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0] + + name?: str + + optional?: bool + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ProjectedSourcesItems0ServiceAccountToken: + """ + serviceAccountToken is information about the serviceAccountToken data to project + + Attributes + ---------- + audience : str, default is Undefined, optional + audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. + expirationSeconds : int, default is Undefined, optional + expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. + path : str, default is Undefined, required + path is the path relative to the mount point of the file to project the token into. + """ + + + audience?: str + + expirationSeconds?: int + + path: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Quobyte: + """ + quobyte represents a Quobyte mount on the host that shares a pod's lifetime + + Attributes + ---------- + group : str, default is Undefined, optional + group to map volume access to Default is no group + readOnly : bool, default is Undefined, optional + readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. + registry : str, default is Undefined, required + registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes + tenant : str, default is Undefined, optional + tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin + user : str, default is Undefined, optional + user to map volume access to Defaults to serivceaccount user + volume : str, default is Undefined, required + volume is a string that references an already created Quobyte volume by name. + """ + + + group?: str + + readOnly?: bool + + registry: str + + tenant?: str + + user?: str + + volume: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Rbd: + """ + rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine + image : str, default is Undefined, required + image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + keyring : str, default is Undefined, optional + keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + monitors : [str], default is Undefined, required + monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + pool : str, default is Undefined, optional + pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + readOnly : bool, default is Undefined, optional + readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef, default is Undefined, optional + secret ref + user : str, default is Undefined, optional + user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + """ + + + fsType?: str + + image: str + + keyring?: str + + monitors: [str] + + pool?: str + + readOnly?: bool + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef + + user?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0RbdSecretRef: + """ + secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIO: + """ + scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". + gateway : str, default is Undefined, required + gateway is the host address of the ScaleIO API Gateway. + protectionDomain : str, default is Undefined, optional + protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + readOnly : bool, default is Undefined, optional + readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef, default is Undefined, required + secret ref + sslEnabled : bool, default is Undefined, optional + sslEnabled Flag enable/disable SSL communication with Gateway, default false + storageMode : str, default is Undefined, optional + storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. + storagePool : str, default is Undefined, optional + storagePool is the ScaleIO Storage Pool associated with the protection domain. + system : str, default is Undefined, required + system is the name of the storage system as configured in ScaleIO. + volumeName : str, default is Undefined, optional + volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. + """ + + + fsType?: str + + gateway: str + + protectionDomain?: str + + readOnly?: bool + + secretRef: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef + + sslEnabled?: bool + + storageMode?: str + + storagePool?: str + + system: str + + volumeName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0ScaleIOSecretRef: + """ + secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Secret: + """ + secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + + Attributes + ---------- + defaultMode : int, default is Undefined, optional + defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + items : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0], default is Undefined, optional + items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + optional : bool, default is Undefined, optional + optional field specify whether the Secret or its keys must be defined + secretName : str, default is Undefined, optional + secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + """ + + + defaultMode?: int + + items?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0] + + optional?: bool + + secretName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0SecretItemsItems0: + """ + Maps a string key to a path within a volume. + + Attributes + ---------- + key : str, default is Undefined, required + key is the key to project. + mode : int, default is Undefined, optional + mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + path : str, default is Undefined, required + path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + """ + + + key: str + + mode?: int + + path: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0Storageos: + """ + storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + readOnly : bool, default is Undefined, optional + readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + secretRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef, default is Undefined, optional + secret ref + volumeName : str, default is Undefined, optional + volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. + volumeNamespace : str, default is Undefined, optional + volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. + """ + + + fsType?: str + + readOnly?: bool + + secretRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef + + volumeName?: str + + volumeNamespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0StorageosSecretRef: + """ + secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + + Attributes + ---------- + name : str, default is Undefined, optional + Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + """ + + + name?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecTemplateSpecVolumesItems0VsphereVolume: + """ + vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + + Attributes + ---------- + fsType : str, default is Undefined, optional + fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + storagePolicyID : str, default is Undefined, optional + storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + storagePolicyName : str, default is Undefined, optional + storagePolicyName is the storage Policy Based Management (SPBM) profile name. + volumePath : str, default is Undefined, required + volumePath is the path that identifies vSphere volume vmdk + """ + + + fsType?: str + + storagePolicyID?: str + + storagePolicyName?: str + + volumePath: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0: + """ + PersistentVolumeClaim is a user's request for and claim to a persistent volume + + Attributes + ---------- + apiVersion : str, default is Undefined, optional + APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + kind : str, default is Undefined, optional + Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + metadata : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata, default is Undefined, optional + metadata + spec : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec, default is Undefined, optional + spec + status : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status, default is Undefined, optional + status + """ + + + apiVersion?: str + + kind?: str + + metadata?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata + + spec?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec + + status?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Metadata: + """ + Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + + Attributes + ---------- + annotations : {str:str}, default is Undefined, optional + annotations + finalizers : [str], default is Undefined, optional + finalizers + labels : {str:str}, default is Undefined, optional + labels + name : str, default is Undefined, optional + name + namespace : str, default is Undefined, optional + namespace + """ + + + annotations?: {str:str} + + finalizers?: [str] + + labels?: {str:str} + + name?: str + + namespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Spec: + """ + spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + dataSource : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource, default is Undefined, optional + data source + dataSourceRef : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef, default is Undefined, optional + data source ref + resources : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources, default is Undefined, optional + resources + selector : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelector, default is Undefined, optional + selector + storageClassName : str, default is Undefined, optional + storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + volumeMode : str, default is Undefined, optional + volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + volumeName : str, default is Undefined, optional + volumeName is the binding reference to the PersistentVolume backing this claim. + """ + + + accessModes?: [str] + + dataSource?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource + + dataSourceRef?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef + + resources?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources + + selector?: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelector + + storageClassName?: str + + volumeMode?: str + + volumeName?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSource: + """ + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + """ + + + apiGroup?: str + + kind: str + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecDataSourceRef: + """ + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + + Attributes + ---------- + apiGroup : str, default is Undefined, optional + APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + kind : str, default is Undefined, required + Kind is the type of resource being referenced + name : str, default is Undefined, required + Name is the name of resource being referenced + namespace : str, default is Undefined, optional + Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + """ + + + apiGroup?: str + + kind: str + + name: str + + namespace?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResources: + """ + resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + + Attributes + ---------- + claims : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResourcesClaimsItems0], default is Undefined, optional + Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + This field is immutable. + limits : {str:int | str}, default is Undefined, optional + Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + requests : {str:int | str}, default is Undefined, optional + Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + """ + + + claims?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResourcesClaimsItems0] + + limits?: {str:int | str} + + requests?: {str:int | str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecResourcesClaimsItems0: + """ + ResourceClaim references one entry in PodSpec.ResourceClaims. + + Attributes + ---------- + name : str, default is Undefined, required + Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + """ + + + name: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelector: + """ + selector is a label query over volumes to consider for binding. + + Attributes + ---------- + matchExpressions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelectorMatchExpressionsItems0], default is Undefined, optional + matchExpressions is a list of label selector requirements. The requirements are ANDed. + matchLabels : {str:str}, default is Undefined, optional + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + """ + + + matchExpressions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelectorMatchExpressionsItems0] + + matchLabels?: {str:str} + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0SpecSelectorMatchExpressionsItems0: + """ + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + + Attributes + ---------- + key : str, default is Undefined, required + key is the label key that the selector applies to. + operator : str, default is Undefined, required + operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + values : [str], default is Undefined, optional + values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + """ + + + key: str + + operator: str + + values?: [str] + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0Status: + """ + status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + + Attributes + ---------- + accessModes : [str], default is Undefined, optional + accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + allocatedResources : {str:int | str}, default is Undefined, optional + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + capacity : {str:int | str}, default is Undefined, optional + capacity represents the actual resources of the underlying volume. + conditions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0StatusConditionsItems0], default is Undefined, optional + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. + phase : str, default is Undefined, optional + phase represents the current phase of PersistentVolumeClaim. + resizeStatus : str, default is Undefined, optional + resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + """ + + + accessModes?: [str] + + allocatedResources?: {str:int | str} + + capacity?: {str:int | str} + + conditions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0StatusConditionsItems0] + + phase?: str + + resizeStatus?: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineSpecVolumeClaimTemplatesItems0StatusConditionsItems0: + """ + PersistentVolumeClaimCondition contails details about state of pvc + + Attributes + ---------- + lastProbeTime : str, default is Undefined, optional + lastProbeTime is the time we probed the condition. + lastTransitionTime : str, default is Undefined, optional + lastTransitionTime is the time the condition transitioned from one status to another. + message : str, default is Undefined, optional + message is the human-readable message indicating details about last transition. + reason : str, default is Undefined, optional + reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. + status : str, default is Undefined, required + status + $type : str, default is Undefined, required + PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type + """ + + + lastProbeTime?: str + + lastTransitionTime?: str + + message?: str + + reason?: str + + status: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatus: + """ + ReplicatedStateMachineStatus defines the observed state of ReplicatedStateMachine + + Attributes + ---------- + availableReplicas : int, default is Undefined, optional + Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset. + collisionCount : int, default is Undefined, optional + collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision. + conditions : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusConditionsItems0], default is Undefined, optional + Represents the latest available observations of a statefulset's current state. + currentReplicas : int, default is Undefined, optional + currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision. + currentRevision : str, default is Undefined, optional + currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas). + initReplicas : int, default is Undefined, required + InitReplicas is the number of pods(members) when cluster first initialized it's set to spec.Replicas at object creation time and never changes + membersStatus : [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0], default is Undefined, optional + members' status. + observedGeneration : int, default is Undefined, optional + observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server. + readyInitReplicas : int, default is Undefined, optional + ReadyInitReplicas is the number of pods(members) already in MembersStatus in the cluster initialization stage will never change once equals to InitReplicas + readyReplicas : int, default is Undefined, optional + readyReplicas is the number of pods created for this StatefulSet with a Ready Condition. + replicas : int, default is Undefined, required + replicas is the number of Pods created by the StatefulSet controller. + updateRevision : str, default is Undefined, optional + updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas) + updatedReplicas : int, default is Undefined, optional + updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision. + """ + + + availableReplicas?: int + + collisionCount?: int + + conditions?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusConditionsItems0] + + currentReplicas?: int + + currentRevision?: str + + initReplicas: int + + membersStatus?: [WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0] + + observedGeneration?: int + + readyInitReplicas?: int + + readyReplicas?: int + + replicas: int + + updateRevision?: str + + updatedReplicas?: int + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusConditionsItems0: + """ + StatefulSetCondition describes the state of a statefulset at a certain point. + + Attributes + ---------- + lastTransitionTime : str, default is Undefined, optional + Last time the condition transitioned from one status to another. + message : str, default is Undefined, optional + A human readable message indicating details about the transition. + reason : str, default is Undefined, optional + The reason for the condition's last transition. + status : str, default is Undefined, required + Status of the condition, one of True, False, Unknown. + $type : str, default is Undefined, required + Type of statefulset condition. + """ + + + lastTransitionTime?: str + + message?: str + + reason?: str + + status: str + + $type: str + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0: + """ + workloads kubeblocks io v1alpha1 replicated state machine status members status items0 + + Attributes + ---------- + podName : str, default is "Unknown", required + PodName pod name. + role : WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role, default is Undefined, required + role + """ + + + podName: str = "Unknown" + + role: WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role + + +schema WorkloadsKubeblocksIoV1alpha1ReplicatedStateMachineStatusMembersStatusItems0Role: + """ + workloads kubeblocks io v1alpha1 replicated state machine status members status items0 role + + Attributes + ---------- + accessMode : str, default is "ReadWrite", required + AccessMode, what service this member capable. + canVote : bool, default is True, optional + CanVote, whether this member has voting rights + isLeader : bool, default is Undefined, optional + IsLeader, whether this member is the leader + name : str, default is "leader", required + Name, role name. + """ + + + accessMode: "None" | "Readonly" | "ReadWrite" = "ReadWrite" + + canVote?: bool = True + + isLeader?: bool = False + + name: str = "leader" + +