Documentation
¶
Overview ¶
Package api provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.0 DO NOT EDIT.
Package api contains the API server implementation.
Index ¶
- Constants
- func GetSwagger() (swagger *openapi3.T, err error)
- func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)
- func RegisterHandlers(router EchoRouter, si ServerInterface)
- func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string)
- type ApproveUpgradePlanJSONRequestBody
- type BackupStorage
- type BackupStorageType
- type BackupStoragesList
- type CreateBackupStorageJSONRequestBody
- type CreateBackupStorageParams
- type CreateBackupStorageParamsType
- type CreateDatabaseClusterBackupJSONRequestBody
- type CreateDatabaseClusterJSONRequestBody
- type CreateDatabaseClusterRestoreJSONRequestBody
- type CreateDatabaseClusterSecretJSONRequestBody
- type CreateDatabaseClusterSecretParams
- type CreateLoadBalancerConfigJSONRequestBody
- type CreateMonitoringInstanceJSONRequestBody
- type CreatePodSchedulingPolicyJSONRequestBody
- type CreateSessionJSONRequestBody
- type CreateSplitHorizonDNSConfigJSONRequestBody
- type DataImportJob
- type DataImportJobList
- type DataImporter
- type DataImporterList
- type DatabaseCluster
- type DatabaseClusterBackup
- type DatabaseClusterBackupList
- type DatabaseClusterComponent
- type DatabaseClusterComponentContainer
- type DatabaseClusterComponents
- type DatabaseClusterCredential
- type DatabaseClusterList
- type DatabaseClusterPitr
- type DatabaseClusterRestore
- type DatabaseClusterRestoreList
- type DatabaseClusterRestoreSpecDataSourcePitrType
- type DatabaseClusterSpecDataSourcePitrType
- type DatabaseClusterSpecEngineResourcesCpu0
- type DatabaseClusterSpecEngineResourcesCpu1
- type DatabaseClusterSpecEngineResourcesMemory0
- type DatabaseClusterSpecEngineResourcesMemory1
- type DatabaseClusterSpecEngineStorageSize0
- type DatabaseClusterSpecEngineStorageSize1
- type DatabaseClusterSpecEngineType
- type DatabaseClusterSpecMonitoringResourcesLimits0
- type DatabaseClusterSpecMonitoringResourcesLimits1
- type DatabaseClusterSpecMonitoringResourcesRequests0
- type DatabaseClusterSpecMonitoringResourcesRequests1
- type DatabaseClusterSpecProxyExposeType
- type DatabaseClusterSpecProxyResourcesCpu0
- type DatabaseClusterSpecProxyResourcesCpu1
- type DatabaseClusterSpecProxyResourcesMemory0
- type DatabaseClusterSpecProxyResourcesMemory1
- type DatabaseClusterSpecProxyType
- type DatabaseClusterStatusConditionsStatus
- type DatabaseCluster_Spec_Engine_Resources_Cpu
- func (t DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu0() (DatabaseClusterSpecEngineResourcesCpu0, error)
- func (t DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu1() (DatabaseClusterSpecEngineResourcesCpu1, error)
- func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu0(v DatabaseClusterSpecEngineResourcesCpu0) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu1(v DatabaseClusterSpecEngineResourcesCpu1) error
- func (t DatabaseCluster_Spec_Engine_Resources_Cpu) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu0(v DatabaseClusterSpecEngineResourcesCpu0) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu1(v DatabaseClusterSpecEngineResourcesCpu1) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Engine_Resources_Memory
- func (t DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory0() (DatabaseClusterSpecEngineResourcesMemory0, error)
- func (t DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory1() (DatabaseClusterSpecEngineResourcesMemory1, error)
- func (t *DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory0(v DatabaseClusterSpecEngineResourcesMemory0) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory1(v DatabaseClusterSpecEngineResourcesMemory1) error
- func (t DatabaseCluster_Spec_Engine_Resources_Memory) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory0(v DatabaseClusterSpecEngineResourcesMemory0) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory1(v DatabaseClusterSpecEngineResourcesMemory1) error
- func (t *DatabaseCluster_Spec_Engine_Resources_Memory) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Engine_Storage_Size
- func (t DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize0() (DatabaseClusterSpecEngineStorageSize0, error)
- func (t DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize1() (DatabaseClusterSpecEngineStorageSize1, error)
- func (t *DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize0(v DatabaseClusterSpecEngineStorageSize0) error
- func (t *DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize1(v DatabaseClusterSpecEngineStorageSize1) error
- func (t DatabaseCluster_Spec_Engine_Storage_Size) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize0(v DatabaseClusterSpecEngineStorageSize0) error
- func (t *DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize1(v DatabaseClusterSpecEngineStorageSize1) error
- func (t *DatabaseCluster_Spec_Engine_Storage_Size) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties
- func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits0() (DatabaseClusterSpecMonitoringResourcesLimits0, error)
- func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits1() (DatabaseClusterSpecMonitoringResourcesLimits1, error)
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits0(v DatabaseClusterSpecMonitoringResourcesLimits0) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits1(v DatabaseClusterSpecMonitoringResourcesLimits1) error
- func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits0(v DatabaseClusterSpecMonitoringResourcesLimits0) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits1(v DatabaseClusterSpecMonitoringResourcesLimits1) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties
- func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests0() (DatabaseClusterSpecMonitoringResourcesRequests0, error)
- func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests1() (DatabaseClusterSpecMonitoringResourcesRequests1, error)
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests0(v DatabaseClusterSpecMonitoringResourcesRequests0) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests1(v DatabaseClusterSpecMonitoringResourcesRequests1) error
- func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests0(v DatabaseClusterSpecMonitoringResourcesRequests0) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests1(v DatabaseClusterSpecMonitoringResourcesRequests1) error
- func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Proxy_Resources_Cpu
- func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu0() (DatabaseClusterSpecProxyResourcesCpu0, error)
- func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu1() (DatabaseClusterSpecProxyResourcesCpu1, error)
- func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu0(v DatabaseClusterSpecProxyResourcesCpu0) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu1(v DatabaseClusterSpecProxyResourcesCpu1) error
- func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu0(v DatabaseClusterSpecProxyResourcesCpu0) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu1(v DatabaseClusterSpecProxyResourcesCpu1) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) UnmarshalJSON(b []byte) error
- type DatabaseCluster_Spec_Proxy_Resources_Memory
- func (t DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory0() (DatabaseClusterSpecProxyResourcesMemory0, error)
- func (t DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory1() (DatabaseClusterSpecProxyResourcesMemory1, error)
- func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory0(v DatabaseClusterSpecProxyResourcesMemory0) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory1(v DatabaseClusterSpecProxyResourcesMemory1) error
- func (t DatabaseCluster_Spec_Proxy_Resources_Memory) MarshalJSON() ([]byte, error)
- func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory0(v DatabaseClusterSpecProxyResourcesMemory0) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory1(v DatabaseClusterSpecProxyResourcesMemory1) error
- func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) UnmarshalJSON(b []byte) error
- type DatabaseEngine
- type DatabaseEngineList
- type DeleteDatabaseClusterBackupParams
- type DeleteDatabaseClusterParams
- type EchoRouter
- type Error
- type IoK8sApimachineryPkgApisMetaV1ListMeta
- type IoK8sApimachineryPkgApisMetaV1StatusCause
- type IoK8sApimachineryPkgApisMetaV1StatusDetailsV2
- type IoK8sApimachineryPkgApisMetaV1StatusV2
- type KubernetesClusterInfo
- type KubernetesClusterResources
- type ListDataImportersParams
- type ListPodSchedulingPolicyParams
- type ListPodSchedulingPolicyParamsEngineType
- type LoadBalancerConfig
- type LoadBalancerConfigList
- type MonitoringInstance
- type MonitoringInstanceBase
- type MonitoringInstanceBaseType
- type MonitoringInstanceBaseWithName
- type MonitoringInstanceBaseWithNameType
- type MonitoringInstanceCreateParams
- type MonitoringInstanceCreateParamsType
- type MonitoringInstancePMM
- type MonitoringInstanceUpdateParams
- type MonitoringInstanceUpdateParamsType
- type MonitoringInstancesList
- type NamespaceList
- type OIDCConfig
- type PMMMonitoringInstanceSpec
- type PodSchedulingPolicy
- type PodSchedulingPolicyList
- type PodSchedulingPolicySpecEngineType
- type ResourcesAvailable
- type ResourcesCapacity
- type Secret
- type ServerInterface
- type ServerInterfaceWrapper
- func (w *ServerInterfaceWrapper) ApproveUpgradePlan(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateBackupStorage(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateDatabaseCluster(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateDatabaseClusterBackup(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateDatabaseClusterRestore(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateDatabaseClusterSecret(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateLoadBalancerConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateMonitoringInstance(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreatePodSchedulingPolicy(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateSession(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) CreateSplitHorizonDNSConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteBackupStorage(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteDatabaseCluster(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteDatabaseClusterBackup(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteDatabaseClusterRestore(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteLoadBalancerConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteMonitoringInstance(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeletePodSchedulingPolicy(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteSession(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) DeleteSplitHorizonDNSConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetBackupStorage(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseCluster(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseClusterBackup(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseClusterComponents(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseClusterCredentials(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseClusterPitr(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseClusterRestore(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetDatabaseEngine(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetKubernetesClusterInfo(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetKubernetesClusterResources(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetLoadBalancerConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetMonitoringInstance(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetPodSchedulingPolicy(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetSettings(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetSplitHorizonDNSConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetUpgradePlan(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) GetUserPermissions(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListBackupStorages(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDataImportJobs(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDataImporters(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDatabaseClusterBackups(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDatabaseClusterRestores(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDatabaseClusters(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListDatabaseEngines(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListLoadBalancerConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListMonitoringInstances(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListNamespaces(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListPodSchedulingPolicy(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) ListSplitHorizonDNSConfigs(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateBackupStorage(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateDatabaseCluster(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateDatabaseClusterRestore(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateDatabaseEngine(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateLoadBalancerConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateMonitoringInstance(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdatePodSchedulingPolicy(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) UpdateSplitHorizonDNSConfig(ctx echo.Context) error
- func (w *ServerInterfaceWrapper) VersionInfo(ctx echo.Context) error
- type Settings
- type SplitHorizonDNSConfig
- type SplitHorizonDNSConfigList
- type SplitHorizonDNSConfigUpdateParams
- type StorageClass
- type UpdateBackupStorageJSONRequestBody
- type UpdateBackupStorageParams
- type UpdateDatabaseClusterJSONRequestBody
- type UpdateDatabaseClusterRestoreJSONRequestBody
- type UpdateDatabaseEngineJSONRequestBody
- type UpdateLoadBalancerConfigJSONRequestBody
- type UpdateMonitoringInstanceJSONRequestBody
- type UpdatePodSchedulingPolicyJSONRequestBody
- type UpdateSplitHorizonDNSConfigJSONRequestBody
- type Upgrade
- type UpgradePlan
- type UpgradePlanApproval
- type UpgradeTask
- type UpgradeTaskPendingTask
- type UserCredentials
- type UserPermissions
- type Version
Constants ¶
const (
BearerAuthScopes = "BearerAuth.Scopes"
)
Variables ¶
This section is empty.
Functions ¶
func GetSwagger ¶
GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.
func PathToRawSpec ¶
Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
func RegisterHandlers ¶
func RegisterHandlers(router EchoRouter, si ServerInterface)
RegisterHandlers adds each server route to the EchoRouter.
func RegisterHandlersWithBaseURL ¶
func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string)
Registers handlers, and prepends BaseURL to the paths, so that the paths can be served under a prefix.
Types ¶
type ApproveUpgradePlanJSONRequestBody ¶ added in v1.1.0
type ApproveUpgradePlanJSONRequestBody = UpgradePlanApproval
ApproveUpgradePlanJSONRequestBody defines body for ApproveUpgradePlan for application/json ContentType.
type BackupStorage ¶
type BackupStorage struct {
// AllowedNamespaces List of namespaces allowed to use this backup storage
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
BucketName string `json:"bucketName"`
Description *string `json:"description,omitempty"`
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
Name string `json:"name"`
Namespace string `json:"namespace,omitempty"`
Region string `json:"region,omitempty"`
Type BackupStorageType `json:"type"`
Url *string `json:"url,omitempty"`
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
BackupStorage Backup storage information
func (*BackupStorage) FromCR ¶ added in v1.5.0
func (out *BackupStorage) FromCR(in *v1alpha1.BackupStorage)
type BackupStorageType ¶
type BackupStorageType string
BackupStorageType defines model for BackupStorage.Type.
const ( BackupStorageTypeAzure BackupStorageType = "azure" BackupStorageTypeS3 BackupStorageType = "s3" )
Defines values for BackupStorageType.
type BackupStoragesList ¶
type BackupStoragesList = []BackupStorage
BackupStoragesList defines model for BackupStoragesList.
type CreateBackupStorageJSONRequestBody ¶
type CreateBackupStorageJSONRequestBody = CreateBackupStorageParams
CreateBackupStorageJSONRequestBody defines body for CreateBackupStorage for application/json ContentType.
type CreateBackupStorageParams ¶
type CreateBackupStorageParams struct {
AccessKey string `json:"accessKey"`
// AllowedNamespaces List of namespaces allowed to use this backup storage
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
// BucketName The cloud storage bucket/container name
BucketName string `json:"bucketName"`
Description *string `json:"description,omitempty"`
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// Name A user defined string name of the storage in the DNS name format https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
Name string `json:"name"`
Region string `json:"region,omitempty"`
SecretKey string `json:"secretKey"`
Type CreateBackupStorageParamsType `json:"type"`
Url *string `json:"url,omitempty"`
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
CreateBackupStorageParams Backup storage parameters
type CreateBackupStorageParamsType ¶
type CreateBackupStorageParamsType string
CreateBackupStorageParamsType defines model for CreateBackupStorageParams.Type.
const ( CreateBackupStorageParamsTypeAzure CreateBackupStorageParamsType = "azure" CreateBackupStorageParamsTypeS3 CreateBackupStorageParamsType = "s3" )
Defines values for CreateBackupStorageParamsType.
type CreateDatabaseClusterBackupJSONRequestBody ¶
type CreateDatabaseClusterBackupJSONRequestBody = DatabaseClusterBackup
CreateDatabaseClusterBackupJSONRequestBody defines body for CreateDatabaseClusterBackup for application/json ContentType.
type CreateDatabaseClusterJSONRequestBody ¶
type CreateDatabaseClusterJSONRequestBody = DatabaseCluster
CreateDatabaseClusterJSONRequestBody defines body for CreateDatabaseCluster for application/json ContentType.
type CreateDatabaseClusterRestoreJSONRequestBody ¶
type CreateDatabaseClusterRestoreJSONRequestBody = DatabaseClusterRestore
CreateDatabaseClusterRestoreJSONRequestBody defines body for CreateDatabaseClusterRestore for application/json ContentType.
type CreateDatabaseClusterSecretJSONRequestBody ¶ added in v1.8.0
type CreateDatabaseClusterSecretJSONRequestBody = Secret
CreateDatabaseClusterSecretJSONRequestBody defines body for CreateDatabaseClusterSecret for application/json ContentType.
type CreateDatabaseClusterSecretParams ¶ added in v1.8.0
type CreateDatabaseClusterSecretParams struct {
// SecretName Optional name of the secret to be created. If not provided, a random name will be generated.
SecretName *string `form:"secretName,omitempty" json:"secretName,omitempty"`
}
CreateDatabaseClusterSecretParams defines parameters for CreateDatabaseClusterSecret.
type CreateLoadBalancerConfigJSONRequestBody ¶ added in v1.9.0
type CreateLoadBalancerConfigJSONRequestBody = LoadBalancerConfig
CreateLoadBalancerConfigJSONRequestBody defines body for CreateLoadBalancerConfig for application/json ContentType.
type CreateMonitoringInstanceJSONRequestBody ¶
type CreateMonitoringInstanceJSONRequestBody = MonitoringInstanceCreateParams
CreateMonitoringInstanceJSONRequestBody defines body for CreateMonitoringInstance for application/json ContentType.
type CreatePodSchedulingPolicyJSONRequestBody ¶ added in v1.7.0
type CreatePodSchedulingPolicyJSONRequestBody = PodSchedulingPolicy
CreatePodSchedulingPolicyJSONRequestBody defines body for CreatePodSchedulingPolicy for application/json ContentType.
type CreateSessionJSONRequestBody ¶ added in v1.0.0
type CreateSessionJSONRequestBody = UserCredentials
CreateSessionJSONRequestBody defines body for CreateSession for application/json ContentType.
type CreateSplitHorizonDNSConfigJSONRequestBody ¶ added in v1.10.0
type CreateSplitHorizonDNSConfigJSONRequestBody = SplitHorizonDNSConfig
CreateSplitHorizonDNSConfigJSONRequestBody defines body for CreateSplitHorizonDNSConfig for application/json ContentType.
type DataImportJob ¶ added in v1.8.0
type DataImportJob struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
Spec *struct {
// Config Config defines the configuration for the data import job.
// These options are specific to the DataImporter being used and must conform to
// the schema defined in the DataImporter's .spec.config.openAPIV3Schema.
Config *map[string]interface{} `json:"config,omitempty"`
// DataImporterName DataImporterName is the data importer to use for the import.
DataImporterName string `json:"dataImporterName"`
// Source Source is the source of the data to import.
Source struct {
// Path Path is the path to the directory to import the data from.
// This may be a path to a file or a directory, depending on the data importer.
Path *string `json:"path,omitempty"`
// S3 S3 contains the S3 information for the data import.
S3 *struct {
// AccessKeyId AccessKeyID allows specifying the S3 access key ID inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
AccessKeyId *string `json:"accessKeyId,omitempty"`
// Bucket Bucket is the name of the S3 bucket.
Bucket *string `json:"bucket,omitempty"`
// CredentialsSecretName CredentialsSecreName is the reference to the secret containing the S3 credentials.
// The Secret must contain the keys `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
CredentialsSecretName string `json:"credentialsSecretName"`
// EndpointURL EndpointURL is an endpoint URL of backup storage.
EndpointURL *string `json:"endpointURL,omitempty"`
// ForcePathStyle ForcePathStyle is set to use path-style URLs.
// If unspecified, the default value is false.
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// Region Region is the region of the S3 bucket.
Region *string `json:"region,omitempty"`
// SecretAccessKey SecretAccessKey allows specifying the S3 secret access key inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
SecretAccessKey *string `json:"secretAccessKey,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
// If unspecified, the default value is true.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
} `json:"s3,omitempty"`
} `json:"source"`
// TargetClusterName TargetClusterName is the reference to the target cluster.
TargetClusterName string `json:"targetClusterName"`
} `json:"spec,omitempty"`
Status *struct {
// CompletedAt CompletedAt is the time when the data import job completed successfully.
CompletedAt *time.Time `json:"completedAt,omitempty"`
// JobName JobName is the reference to the job that is running the data import.
JobName *string `json:"jobName,omitempty"`
// LastObservedGeneration LastObservedGeneration is the last observed generation of the data import job.
LastObservedGeneration *int64 `json:"lastObservedGeneration,omitempty"`
// Message Message is the message of the data import job.
Message *string `json:"message,omitempty"`
// StartedAt StartedAt is the time when the data import job started.
StartedAt *time.Time `json:"startedAt,omitempty"`
// State State is the current state of the data import job.
State *string `json:"state,omitempty"`
} `json:"status,omitempty"`
}
DataImportJob DataImportJob is the schema for the dataimportjobs API.
type DataImportJobList ¶ added in v1.8.0
type DataImportJobList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DataImportJob `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DataImportJobList DataImportJobList is an object that contains the list of the existing data import jobs.
type DataImporter ¶ added in v1.8.0
type DataImporter struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec DataImporterSpec defines the specification of a DataImporter.
Spec *struct {
// ClusterPermissions ClusterPermissions defines the cluster-wide permissions required by the data importer.
// These permissions are used to generate a ClusterRole for the data importer job.
ClusterPermissions *[]struct {
// ApiGroups APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
ApiGroups *[]string `json:"apiGroups,omitempty"`
// NonResourceURLs NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path
// Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
// Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
NonResourceURLs *[]string `json:"nonResourceURLs,omitempty"`
// ResourceNames ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
ResourceNames *[]string `json:"resourceNames,omitempty"`
// Resources Resources is a list of resources this rule applies to. '*' represents all resources.
Resources *[]string `json:"resources,omitempty"`
// Verbs Verbs is a list of Verbs that apply to ALL the ResourceKinds contained in this rule. '*' represents all verbs.
Verbs []string `json:"verbs"`
} `json:"clusterPermissions,omitempty"`
// Config Config contains additional configuration defined for the data importer.
Config *struct {
// OpenAPIV3Schema OpenAPIV3Schema is the OpenAPI v3 schema of the data importer.
OpenAPIV3Schema interface{} `json:"openAPIV3Schema,omitempty"`
} `json:"config,omitempty"`
// DatabaseClusterConstraints DatabaseClusterConstraints defines compatibility requirements and prerequisites that must be satisfied
// by a DatabaseCluster before this data importer can be used with it. This allows the data importer to
// express specific requirements about the database configuration needed for successful import operations,
// such as required database fields, specific engine configurations, or other database properties.
// When a DatabaseCluster references this data importer, the operator will validate the DatabaseCluster
// against these constraints before proceeding with the import operation.
DatabaseClusterConstraints *struct {
// RequiredFields RequiredFields contains a list of fields that must be set in the DatabaseCluster spec.
// Each key is a JSON path expressions that points to a field in the DatabaseCluster spec.
// For example, ".spec.engine.type" or ".spec.dataSource.dataImport.config.someField".
RequiredFields *[]string `json:"requiredFields,omitempty"`
} `json:"databaseClusterConstraints,omitempty"`
// Description Description is the description of the data importer.
Description *string `json:"description,omitempty"`
// DisplayName DisplayName is a human-readable name for the data importer.
DisplayName *string `json:"displayName,omitempty"`
// JobSpec JobSpec is the specification of the data importer job.
JobSpec *struct {
// Command Command is the command to run the data importer.
Command *[]string `json:"command,omitempty"`
// Image Image is the image of the data importer.
Image *string `json:"image,omitempty"`
} `json:"jobSpec,omitempty"`
// Permissions Permissions defines the permissions required by the data importer.
// These permissions are used to generate a Role for the data importer job.
Permissions *[]struct {
// ApiGroups APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of
// the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
ApiGroups *[]string `json:"apiGroups,omitempty"`
// NonResourceURLs NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path
// Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
// Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both.
NonResourceURLs *[]string `json:"nonResourceURLs,omitempty"`
// ResourceNames ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
ResourceNames *[]string `json:"resourceNames,omitempty"`
// Resources Resources is a list of resources this rule applies to. '*' represents all resources.
Resources *[]string `json:"resources,omitempty"`
// Verbs Verbs is a list of Verbs that apply to ALL the ResourceKinds contained in this rule. '*' represents all verbs.
Verbs []string `json:"verbs"`
} `json:"permissions,omitempty"`
// SupportedEngines SupportedEngines is the list of engines that the data importer supports.
SupportedEngines *[]string `json:"supportedEngines,omitempty"`
} `json:"spec,omitempty"`
Status *map[string]interface{} `json:"status,omitempty"`
}
DataImporter DataImporter defines a reusable strategy for importing data into a DatabaseCluster.
type DataImporterList ¶ added in v1.8.0
type DataImporterList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DataImporter `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DataImporterList DataImporterList is an object that contains the list of the existing data importers.
type DatabaseCluster ¶
type DatabaseCluster struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec DatabaseClusterSpec defines the desired state of DatabaseCluster.
Spec *struct {
// AllowUnsafeConfiguration AllowUnsafeConfiguration field used to ensure that the user can create configurations unfit for production use.
//
// Deprecated: AllowUnsafeConfiguration will not be supported in the future releases.
AllowUnsafeConfiguration *bool `json:"allowUnsafeConfiguration,omitempty"`
// Backup Backup is the backup specification
Backup *struct {
// Enabled Enabled is a flag to enable backups
// Deprecated. Please use db.spec.backup.schedules[].enabled to control each schedule separately and db.spec.backup.pitr.enabled to control PITR.
Enabled *bool `json:"enabled,omitempty"`
// Pitr PITR is the configuration of the point in time recovery
Pitr *struct {
// BackupStorageName BackupStorageName is the name of the BackupStorage where the PITR is enabled
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName *string `json:"backupStorageName,omitempty"`
// Enabled Enabled is a flag to enable PITR
Enabled bool `json:"enabled"`
// UploadIntervalSec UploadIntervalSec number of seconds between the binlogs uploads
UploadIntervalSec *int `json:"uploadIntervalSec,omitempty"`
} `json:"pitr,omitempty"`
// Schedules Schedules is a list of backup schedules
Schedules *[]struct {
// BackupStorageName BackupStorageName is the name of the BackupStorage CR that defines the
// storage location.
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName string `json:"backupStorageName"`
// Enabled Enabled is a flag to enable the schedule
Enabled bool `json:"enabled"`
// Name Name is the name of the schedule
Name string `json:"name"`
// RetentionCopies RetentionCopies is the number of backup copies to retain
RetentionCopies *int32 `json:"retentionCopies,omitempty"`
// Schedule Schedule is the cron schedule
Schedule string `json:"schedule"`
} `json:"schedules,omitempty"`
} `json:"backup,omitempty"`
// DataSource DataSource defines a data source for bootstraping a new cluster
DataSource *struct {
// BackupSource BackupSource is the backup source to restore from
BackupSource *struct {
// BackupStorageName BackupStorageName is the name of the BackupStorage used for backups.
// The BackupStorage must be created in the same namespace as the DatabaseCluster.
BackupStorageName string `json:"backupStorageName"`
// Path Path is the path to the backup file/directory.
Path string `json:"path"`
} `json:"backupSource,omitempty"`
// DataImport DataImport allows importing data from an external backup source.
DataImport *struct {
// Config Config defines the configuration for the data import job.
// These options are specific to the DataImporter being used and must conform to
// the schema defined in the DataImporter's .spec.config.openAPIV3Schema.
Config *map[string]interface{} `json:"config,omitempty"`
// DataImporterName DataImporterName is the data importer to use for the import.
DataImporterName string `json:"dataImporterName"`
// Source Source is the source of the data to import.
Source struct {
// Path Path is the path to the directory to import the data from.
// This may be a path to a file or a directory, depending on the data importer.
// Only absolute file paths are allowed. Leading and trailing '/' are optional.
Path string `json:"path"`
// S3 S3 contains the S3 information for the data import.
S3 *struct {
// AccessKeyId AccessKeyID allows specifying the S3 access key ID inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
AccessKeyId *string `json:"accessKeyId,omitempty"`
// Bucket Bucket is the name of the S3 bucket.
Bucket string `json:"bucket"`
// CredentialsSecretName CredentialsSecreName is the reference to the secret containing the S3 credentials.
// The Secret must contain the keys `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
CredentialsSecretName string `json:"credentialsSecretName"`
// EndpointURL EndpointURL is an endpoint URL of backup storage.
EndpointURL string `json:"endpointURL"`
// ForcePathStyle ForcePathStyle is set to use path-style URLs.
// If unspecified, the default value is false.
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// Region Region is the region of the S3 bucket.
Region string `json:"region"`
// SecretAccessKey SecretAccessKey allows specifying the S3 secret access key inline.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `credentialsSecretName`
// and empties this field.
// This field is not stored in the API.
SecretAccessKey *string `json:"secretAccessKey,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
// If unspecified, the default value is true.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
} `json:"s3,omitempty"`
} `json:"source"`
} `json:"dataImport,omitempty"`
// DbClusterBackupName DBClusterBackupName is the name of the DB cluster backup to restore from
DbClusterBackupName *string `json:"dbClusterBackupName,omitempty"`
// Pitr PITR is the point-in-time recovery configuration
Pitr *struct {
// Date Date is the UTC date to recover to. The accepted format: "2006-01-02T15:04:05Z".
Date *string `json:"date,omitempty"`
// Type Type is the type of recovery.
Type *DatabaseClusterSpecDataSourcePitrType `json:"type,omitempty"`
} `json:"pitr,omitempty"`
} `json:"dataSource,omitempty"`
// Engine Engine is the database engine specification
Engine struct {
// Config Config is the engine configuration
Config *string `json:"config,omitempty"`
// CrVersion CRVersion is the desired version of the CR to use with the
// underlying operator.
// If unspecified, everest-operator will use the same version as the operator.
//
// NOTE: Updating this property post installation may lead to a restart of the cluster.
CrVersion *string `json:"crVersion,omitempty"`
// Replicas Replicas is the number of engine replicas
Replicas *int32 `json:"replicas,omitempty"`
// Resources Resources are the resource limits for each engine replica.
// If not set, resource limits are not imposed
Resources *struct {
// Cpu CPU is the CPU resource requirements
Cpu *DatabaseCluster_Spec_Engine_Resources_Cpu `json:"cpu,omitempty"`
// Memory Memory is the memory resource requirements
Memory *DatabaseCluster_Spec_Engine_Resources_Memory `json:"memory,omitempty"`
} `json:"resources,omitempty"`
// Storage Storage is the engine storage configuration
Storage struct {
// Class Class is the storage class to use for the persistent volume claim
Class *string `json:"class,omitempty"`
// Size Size is the size of the persistent volume claim
Size DatabaseCluster_Spec_Engine_Storage_Size `json:"size"`
} `json:"storage"`
// Type Type is the engine type
Type DatabaseClusterSpecEngineType `json:"type"`
// UserSecretsName UserSecretsName is the name of the secret containing the user secrets
UserSecretsName *string `json:"userSecretsName,omitempty"`
// Version Version is the engine version
Version *string `json:"version,omitempty"`
} `json:"engine"`
// EngineFeatures EngineFeatures represents configuration of additional features for the database engine.
EngineFeatures *struct {
// Psmdb PSMDB represents additional features for the PSMDB engine.
Psmdb *struct {
// SplitHorizonDnsConfigName SplitHorizonDNSConfigName is the name of a SplitHorizonDNSConfig CR.
// The SplitHorizonDNSConfig must be created in the same namespace as the DatabaseCluster.
SplitHorizonDnsConfigName *string `json:"splitHorizonDnsConfigName,omitempty"`
} `json:"psmdb,omitempty"`
} `json:"engineFeatures,omitempty"`
// Monitoring Monitoring is the monitoring configuration
Monitoring *struct {
// MonitoringConfigName MonitoringConfigName is the name of a monitoringConfig CR.
// The MonitoringConfig must be created in the same namespace as the DatabaseCluster.
MonitoringConfigName *string `json:"monitoringConfigName,omitempty"`
// Resources Resources defines resource limitations for the monitoring.
Resources *struct {
// 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. It can only be set for containers.
Claims *[]struct {
// Name 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 string `json:"name"`
// Request Request is the name chosen for a request in the referenced claim.
// If empty, everything from the claim is made available, otherwise
// only the result of this request.
Request *string `json:"request,omitempty"`
} `json:"claims,omitempty"`
// Limits Limits describes the maximum amount of compute resources allowed.
// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Limits *map[string]DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties `json:"limits,omitempty"`
// Requests 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. Requests cannot exceed Limits.
// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Requests *map[string]DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties `json:"requests,omitempty"`
} `json:"resources,omitempty"`
} `json:"monitoring,omitempty"`
// Paused Paused is a flag to stop the cluster
Paused *bool `json:"paused,omitempty"`
// PodSchedulingPolicyName PodSchedulingPolicyName is the name of the PodSchedulingPolicy CR that defines rules for DB cluster pods allocation across the cluster.
PodSchedulingPolicyName *string `json:"podSchedulingPolicyName,omitempty"`
// Proxy Proxy is the proxy specification. If not set, an appropriate
// proxy specification will be applied for the given engine. A
// common use case for setting this field is to control the
// external access to the database cluster.
Proxy *struct {
// Config Config is the proxy configuration
Config *string `json:"config,omitempty"`
// Expose Expose is the proxy expose configuration
Expose *struct {
// IpSourceRanges IPSourceRanges is the list of IP source ranges (CIDR notation)
// to allow access from. If not set, there is no limitations
IpSourceRanges *[]string `json:"ipSourceRanges,omitempty"`
// LoadBalancerConfigName LoadBalancerConfigName is the name of load balancer config if applied
LoadBalancerConfigName *string `json:"loadBalancerConfigName,omitempty"`
// Type Type is the expose type, can be internal or external
Type *DatabaseClusterSpecProxyExposeType `json:"type,omitempty"`
} `json:"expose,omitempty"`
// Replicas Replicas is the number of proxy replicas
Replicas *int32 `json:"replicas,omitempty"`
// Resources Resources are the resource limits for each proxy replica.
// If not set, resource limits are not imposed
Resources *struct {
// Cpu CPU is the CPU resource requirements
Cpu *DatabaseCluster_Spec_Proxy_Resources_Cpu `json:"cpu,omitempty"`
// Memory Memory is the memory resource requirements
Memory *DatabaseCluster_Spec_Proxy_Resources_Memory `json:"memory,omitempty"`
} `json:"resources,omitempty"`
// Type Type is the proxy type
Type *DatabaseClusterSpecProxyType `json:"type,omitempty"`
} `json:"proxy,omitempty"`
// Sharding Sharding is the sharding configuration. PSMDB-only
Sharding *struct {
// ConfigServer ConfigServer represents the sharding configuration server settings
ConfigServer struct {
// Replicas Replicas is the amount of configServers
Replicas int32 `json:"replicas"`
} `json:"configServer"`
// Enabled Enabled defines if the sharding is enabled
Enabled bool `json:"enabled"`
// Shards Shards defines the number of shards
Shards int32 `json:"shards"`
} `json:"sharding,omitempty"`
} `json:"spec,omitempty"`
// Status DatabaseClusterStatus defines the observed state of DatabaseCluster.
Status *struct {
// ActiveStorage ActiveStorage is the storage used in cluster (psmdb only)
ActiveStorage *string `json:"activeStorage,omitempty"`
// Conditions Conditions contains the observed conditions of the DatabaseCluster.
Conditions *[]struct {
// LastTransitionTime 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.
LastTransitionTime time.Time `json:"lastTransitionTime"`
// Message message is a human readable message indicating details about the transition.
// This may be an empty string.
Message string `json:"message"`
// ObservedGeneration 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.
ObservedGeneration *int64 `json:"observedGeneration,omitempty"`
// Reason 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.
Reason string `json:"reason"`
// Status status of the condition, one of True, False, Unknown.
Status DatabaseClusterStatusConditionsStatus `json:"status"`
// Type type of condition in CamelCase or in foo.example.com/CamelCase.
Type string `json:"type"`
} `json:"conditions,omitempty"`
// CrVersion CRVersion is the observed version of the CR used with the underlying operator.
CrVersion *string `json:"crVersion,omitempty"`
// DataImportJobName DataImportJobName refers to the DataImportJob that is used to import data into the cluster.
// This is set only when .spec.dataSource.dataImport is set.
DataImportJobName *string `json:"dataImportJobName,omitempty"`
// Details Details provides full status of the upstream cluster as a plain text.
Details *string `json:"details,omitempty"`
// EngineFeatures EngineFeaturesStatus represents additional features statuses for the database engine.
EngineFeatures *struct {
// Psmdb PSMDB represents additional features statuses for the PSMDB engine.
Psmdb *struct {
// SplitHorizon SplitHorizon status of SplitHorizon feature.
SplitHorizon *struct {
// Domains SplitHorizon status of SplitHorizon feature.
Domains *[]struct {
// Domain Domain is the SplitHorizon domain name.
Domain *string `json:"domain,omitempty"`
// PrivateIP PrivateIP is the private IP address for the domain.
PrivateIP *string `json:"privateIP,omitempty"`
// PublicIP PublicIP is the public IP address for the domain.
PublicIP *string `json:"publicIP,omitempty"`
} `json:"domains,omitempty"`
// Host ConnectionURL is the connection URL using SplitHorizon domains.
Host *string `json:"host,omitempty"`
} `json:"splitHorizon,omitempty"`
} `json:"psmdb,omitempty"`
} `json:"engineFeatures,omitempty"`
// Hostname Hostname is the hostname where the cluster can be reached
Hostname *string `json:"hostname,omitempty"`
// Message Message is extra information about the cluster
Message *string `json:"message,omitempty"`
// ObservedGeneration ObservedGeneration is the most recent generation observed for this DatabaseCluster.
ObservedGeneration *int64 `json:"observedGeneration,omitempty"`
// Port Port is the port where the cluster can be reached
Port *int32 `json:"port,omitempty"`
// Ready Ready is the number of ready pods
Ready *int32 `json:"ready,omitempty"`
// RecommendedCRVersion RecommendedCRVersion indicates the target version that the underlying CR should be updated to.
// When this field is set, it means the CR is running an outdated version and requires an update.
// The following restrictions apply until the CR is updated to the recommended version:
// - The operator cannot be upgraded
// - The database engine version (.spec.engine.version) cannot be modified
// This field is unset when the CR is already running at the latest recommended version.
RecommendedCRVersion *string `json:"recommendedCRVersion,omitempty"`
// Size Size is the total number of pods
Size *int32 `json:"size,omitempty"`
// Status Status is the status of the cluster
Status *string `json:"status,omitempty"`
} `json:"status,omitempty"`
}
DatabaseCluster DatabaseCluster is the Schema for the databaseclusters API.
type DatabaseClusterBackup ¶
type DatabaseClusterBackup struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec DatabaseClusterBackupSpec defines the desired state of DatabaseClusterBackup.
Spec *struct {
// BackupStorageName BackupStorageName is the name of the BackupStorage used for backups.
BackupStorageName string `json:"backupStorageName"`
// DbClusterName DBClusterName is the original database cluster name.
DbClusterName string `json:"dbClusterName"`
} `json:"spec,omitempty"`
// Status DatabaseClusterBackupStatus defines the observed state of DatabaseClusterBackup.
Status *struct {
// Completed Completed is the time when the job was completed.
Completed *time.Time `json:"completed,omitempty"`
// Created Created is the timestamp of the upstream backup's creation.
Created *time.Time `json:"created,omitempty"`
// Destination Destination is the full path to the backup.
Destination *string `json:"destination,omitempty"`
// Gaps Gaps identifies if there are gaps detected in the PITR logs
Gaps bool `json:"gaps"`
// LatestRestorableTime LatestRestorableTime is the latest time that can be used for PITR restore
LatestRestorableTime *time.Time `json:"latestRestorableTime,omitempty"`
// State State is the DatabaseBackup state.
State *string `json:"state,omitempty"`
} `json:"status,omitempty"`
}
DatabaseClusterBackup DatabaseClusterBackup is the Schema for the databaseclusterbackups API.
type DatabaseClusterBackupList ¶
type DatabaseClusterBackupList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DatabaseClusterBackup `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DatabaseClusterBackupList DatabaseClusterBackupList is an object that contains the list of the existing database cluster backups.
type DatabaseClusterComponent ¶ added in v1.0.0
type DatabaseClusterComponent struct {
Containers *[]DatabaseClusterComponentContainer `json:"containers,omitempty"`
Name *string `json:"name,omitempty"`
Ready *string `json:"ready,omitempty"`
Restarts *int `json:"restarts,omitempty"`
Started *string `json:"started,omitempty"`
Status *string `json:"status,omitempty"`
Type *string `json:"type,omitempty"`
}
DatabaseClusterComponent defines model for .
type DatabaseClusterComponentContainer ¶ added in v1.0.0
type DatabaseClusterComponentContainer struct {
Name *string `json:"name,omitempty"`
Ready *bool `json:"ready,omitempty"`
Restarts *int `json:"restarts,omitempty"`
Started *string `json:"started,omitempty"`
Status *string `json:"status,omitempty"`
}
DatabaseClusterComponentContainer defines model for DatabaseClusterComponentContainer.
type DatabaseClusterComponents ¶ added in v1.0.0
type DatabaseClusterComponents = []DatabaseClusterComponent
DatabaseClusterComponents components related data
type DatabaseClusterCredential ¶
type DatabaseClusterCredential struct {
ConnectionUrl *string `json:"connectionUrl,omitempty"`
Password *string `json:"password,omitempty"`
Username *string `json:"username,omitempty"`
}
DatabaseClusterCredential kubernetes object
type DatabaseClusterList ¶
type DatabaseClusterList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DatabaseCluster `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DatabaseClusterList DatabaseClusterList is an object that contains the list of the existing database clusters.
type DatabaseClusterPitr ¶
type DatabaseClusterPitr struct {
EarliestDate *time.Time `json:"earliestDate,omitempty"`
// Gaps indicates if there are pitr logs gaps detected after this backup was taken
Gaps *bool `json:"gaps,omitempty"`
LatestBackupName *string `json:"latestBackupName,omitempty"`
LatestDate *time.Time `json:"latestDate,omitempty"`
}
DatabaseClusterPitr point-in-time recovery related data
type DatabaseClusterRestore ¶
type DatabaseClusterRestore struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec DatabaseClusterRestoreSpec defines the desired state of DatabaseClusterRestore.
Spec *struct {
// DataSource DataSource defines a data source for restoration.
DataSource struct {
// BackupSource BackupSource is the backup source to restore from
BackupSource *struct {
// BackupStorageName BackupStorageName is the name of the BackupStorage used for backups.
BackupStorageName string `json:"backupStorageName"`
// Path Path is the path to the backup file/directory.
Path string `json:"path"`
} `json:"backupSource,omitempty"`
// DbClusterBackupName DBClusterBackupName is the name of the DB cluster backup to restore from
DbClusterBackupName *string `json:"dbClusterBackupName,omitempty"`
// Pitr PITR is the point-in-time recovery configuration
Pitr *struct {
// Date Date is the UTC date to recover to. The accepted format: "2006-01-02T15:04:05Z".
Date *string `json:"date,omitempty"`
// Type Type is the type of recovery.
Type *DatabaseClusterRestoreSpecDataSourcePitrType `json:"type,omitempty"`
} `json:"pitr,omitempty"`
} `json:"dataSource"`
// DbClusterName DBClusterName defines the cluster name to restore.
DbClusterName string `json:"dbClusterName"`
} `json:"spec,omitempty"`
// Status DatabaseClusterRestoreStatus defines the observed state of DatabaseClusterRestore.
Status *struct {
Completed *time.Time `json:"completed,omitempty"`
Message *string `json:"message,omitempty"`
// State RestoreState represents state of restoration.
State *string `json:"state,omitempty"`
} `json:"status,omitempty"`
}
DatabaseClusterRestore DatabaseClusterRestore is the Schema for the databaseclusterrestores API.
type DatabaseClusterRestoreList ¶
type DatabaseClusterRestoreList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DatabaseClusterRestore `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DatabaseClusterRestoreList DatabaseClusterRestoreList is an object that contains the list of the existing database cluster restores.
type DatabaseClusterRestoreSpecDataSourcePitrType ¶
type DatabaseClusterRestoreSpecDataSourcePitrType string
DatabaseClusterRestoreSpecDataSourcePitrType Type is the type of recovery.
const ( DatabaseClusterRestoreSpecDataSourcePitrTypeDate DatabaseClusterRestoreSpecDataSourcePitrType = "date" DatabaseClusterRestoreSpecDataSourcePitrTypeLatest DatabaseClusterRestoreSpecDataSourcePitrType = "latest" )
Defines values for DatabaseClusterRestoreSpecDataSourcePitrType.
type DatabaseClusterSpecDataSourcePitrType ¶
type DatabaseClusterSpecDataSourcePitrType string
DatabaseClusterSpecDataSourcePitrType Type is the type of recovery.
const ( DatabaseClusterSpecDataSourcePitrTypeDate DatabaseClusterSpecDataSourcePitrType = "date" DatabaseClusterSpecDataSourcePitrTypeLatest DatabaseClusterSpecDataSourcePitrType = "latest" )
Defines values for DatabaseClusterSpecDataSourcePitrType.
type DatabaseClusterSpecEngineResourcesCpu0 ¶
type DatabaseClusterSpecEngineResourcesCpu0 = int
DatabaseClusterSpecEngineResourcesCpu0 defines model for .
type DatabaseClusterSpecEngineResourcesCpu1 ¶
type DatabaseClusterSpecEngineResourcesCpu1 = string
DatabaseClusterSpecEngineResourcesCpu1 defines model for .
type DatabaseClusterSpecEngineResourcesMemory0 ¶
type DatabaseClusterSpecEngineResourcesMemory0 = int
DatabaseClusterSpecEngineResourcesMemory0 defines model for .
type DatabaseClusterSpecEngineResourcesMemory1 ¶
type DatabaseClusterSpecEngineResourcesMemory1 = string
DatabaseClusterSpecEngineResourcesMemory1 defines model for .
type DatabaseClusterSpecEngineStorageSize0 ¶
type DatabaseClusterSpecEngineStorageSize0 = int
DatabaseClusterSpecEngineStorageSize0 defines model for .
type DatabaseClusterSpecEngineStorageSize1 ¶
type DatabaseClusterSpecEngineStorageSize1 = string
DatabaseClusterSpecEngineStorageSize1 defines model for .
type DatabaseClusterSpecEngineType ¶
type DatabaseClusterSpecEngineType string
DatabaseClusterSpecEngineType Type is the engine type
const ( DatabaseClusterSpecEngineTypePostgresql DatabaseClusterSpecEngineType = "postgresql" DatabaseClusterSpecEngineTypePsmdb DatabaseClusterSpecEngineType = "psmdb" DatabaseClusterSpecEngineTypePxc DatabaseClusterSpecEngineType = "pxc" )
Defines values for DatabaseClusterSpecEngineType.
type DatabaseClusterSpecMonitoringResourcesLimits0 ¶
type DatabaseClusterSpecMonitoringResourcesLimits0 = int
DatabaseClusterSpecMonitoringResourcesLimits0 defines model for .
type DatabaseClusterSpecMonitoringResourcesLimits1 ¶
type DatabaseClusterSpecMonitoringResourcesLimits1 = string
DatabaseClusterSpecMonitoringResourcesLimits1 defines model for .
type DatabaseClusterSpecMonitoringResourcesRequests0 ¶
type DatabaseClusterSpecMonitoringResourcesRequests0 = int
DatabaseClusterSpecMonitoringResourcesRequests0 defines model for .
type DatabaseClusterSpecMonitoringResourcesRequests1 ¶
type DatabaseClusterSpecMonitoringResourcesRequests1 = string
DatabaseClusterSpecMonitoringResourcesRequests1 defines model for .
type DatabaseClusterSpecProxyExposeType ¶
type DatabaseClusterSpecProxyExposeType string
DatabaseClusterSpecProxyExposeType Type is the expose type, can be internal or external
const ( External DatabaseClusterSpecProxyExposeType = "external" Internal DatabaseClusterSpecProxyExposeType = "internal" )
Defines values for DatabaseClusterSpecProxyExposeType.
type DatabaseClusterSpecProxyResourcesCpu0 ¶
type DatabaseClusterSpecProxyResourcesCpu0 = int
DatabaseClusterSpecProxyResourcesCpu0 defines model for .
type DatabaseClusterSpecProxyResourcesCpu1 ¶
type DatabaseClusterSpecProxyResourcesCpu1 = string
DatabaseClusterSpecProxyResourcesCpu1 defines model for .
type DatabaseClusterSpecProxyResourcesMemory0 ¶
type DatabaseClusterSpecProxyResourcesMemory0 = int
DatabaseClusterSpecProxyResourcesMemory0 defines model for .
type DatabaseClusterSpecProxyResourcesMemory1 ¶
type DatabaseClusterSpecProxyResourcesMemory1 = string
DatabaseClusterSpecProxyResourcesMemory1 defines model for .
type DatabaseClusterSpecProxyType ¶
type DatabaseClusterSpecProxyType string
DatabaseClusterSpecProxyType Type is the proxy type
const ( Haproxy DatabaseClusterSpecProxyType = "haproxy" Mongos DatabaseClusterSpecProxyType = "mongos" Pgbouncer DatabaseClusterSpecProxyType = "pgbouncer" Proxysql DatabaseClusterSpecProxyType = "proxysql" )
Defines values for DatabaseClusterSpecProxyType.
type DatabaseClusterStatusConditionsStatus ¶ added in v1.6.0
type DatabaseClusterStatusConditionsStatus string
DatabaseClusterStatusConditionsStatus status of the condition, one of True, False, Unknown.
const ( False DatabaseClusterStatusConditionsStatus = "False" True DatabaseClusterStatusConditionsStatus = "True" Unknown DatabaseClusterStatusConditionsStatus = "Unknown" )
Defines values for DatabaseClusterStatusConditionsStatus.
type DatabaseCluster_Spec_Engine_Resources_Cpu ¶
type DatabaseCluster_Spec_Engine_Resources_Cpu struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Engine_Resources_Cpu CPU is the CPU resource requirements
func (DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu0 ¶
func (t DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu0() (DatabaseClusterSpecEngineResourcesCpu0, error)
AsDatabaseClusterSpecEngineResourcesCpu0 returns the union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu as a DatabaseClusterSpecEngineResourcesCpu0
func (DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu1 ¶
func (t DatabaseCluster_Spec_Engine_Resources_Cpu) AsDatabaseClusterSpecEngineResourcesCpu1() (DatabaseClusterSpecEngineResourcesCpu1, error)
AsDatabaseClusterSpecEngineResourcesCpu1 returns the union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu as a DatabaseClusterSpecEngineResourcesCpu1
func (*DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu0 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu0(v DatabaseClusterSpecEngineResourcesCpu0) error
FromDatabaseClusterSpecEngineResourcesCpu0 overwrites any union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu as the provided DatabaseClusterSpecEngineResourcesCpu0
func (*DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu1 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) FromDatabaseClusterSpecEngineResourcesCpu1(v DatabaseClusterSpecEngineResourcesCpu1) error
FromDatabaseClusterSpecEngineResourcesCpu1 overwrites any union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu as the provided DatabaseClusterSpecEngineResourcesCpu1
func (DatabaseCluster_Spec_Engine_Resources_Cpu) MarshalJSON ¶
func (t DatabaseCluster_Spec_Engine_Resources_Cpu) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu0 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu0(v DatabaseClusterSpecEngineResourcesCpu0) error
MergeDatabaseClusterSpecEngineResourcesCpu0 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu, using the provided DatabaseClusterSpecEngineResourcesCpu0
func (*DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu1 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) MergeDatabaseClusterSpecEngineResourcesCpu1(v DatabaseClusterSpecEngineResourcesCpu1) error
MergeDatabaseClusterSpecEngineResourcesCpu1 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Resources_Cpu, using the provided DatabaseClusterSpecEngineResourcesCpu1
func (*DatabaseCluster_Spec_Engine_Resources_Cpu) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Cpu) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Engine_Resources_Memory ¶
type DatabaseCluster_Spec_Engine_Resources_Memory struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Engine_Resources_Memory Memory is the memory resource requirements
func (DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory0 ¶
func (t DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory0() (DatabaseClusterSpecEngineResourcesMemory0, error)
AsDatabaseClusterSpecEngineResourcesMemory0 returns the union data inside the DatabaseCluster_Spec_Engine_Resources_Memory as a DatabaseClusterSpecEngineResourcesMemory0
func (DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory1 ¶
func (t DatabaseCluster_Spec_Engine_Resources_Memory) AsDatabaseClusterSpecEngineResourcesMemory1() (DatabaseClusterSpecEngineResourcesMemory1, error)
AsDatabaseClusterSpecEngineResourcesMemory1 returns the union data inside the DatabaseCluster_Spec_Engine_Resources_Memory as a DatabaseClusterSpecEngineResourcesMemory1
func (*DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory0 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory0(v DatabaseClusterSpecEngineResourcesMemory0) error
FromDatabaseClusterSpecEngineResourcesMemory0 overwrites any union data inside the DatabaseCluster_Spec_Engine_Resources_Memory as the provided DatabaseClusterSpecEngineResourcesMemory0
func (*DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory1 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Memory) FromDatabaseClusterSpecEngineResourcesMemory1(v DatabaseClusterSpecEngineResourcesMemory1) error
FromDatabaseClusterSpecEngineResourcesMemory1 overwrites any union data inside the DatabaseCluster_Spec_Engine_Resources_Memory as the provided DatabaseClusterSpecEngineResourcesMemory1
func (DatabaseCluster_Spec_Engine_Resources_Memory) MarshalJSON ¶
func (t DatabaseCluster_Spec_Engine_Resources_Memory) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory0 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory0(v DatabaseClusterSpecEngineResourcesMemory0) error
MergeDatabaseClusterSpecEngineResourcesMemory0 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Resources_Memory, using the provided DatabaseClusterSpecEngineResourcesMemory0
func (*DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory1 ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Memory) MergeDatabaseClusterSpecEngineResourcesMemory1(v DatabaseClusterSpecEngineResourcesMemory1) error
MergeDatabaseClusterSpecEngineResourcesMemory1 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Resources_Memory, using the provided DatabaseClusterSpecEngineResourcesMemory1
func (*DatabaseCluster_Spec_Engine_Resources_Memory) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Engine_Resources_Memory) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Engine_Storage_Size ¶
type DatabaseCluster_Spec_Engine_Storage_Size struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Engine_Storage_Size Size is the size of the persistent volume claim
func (DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize0 ¶
func (t DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize0() (DatabaseClusterSpecEngineStorageSize0, error)
AsDatabaseClusterSpecEngineStorageSize0 returns the union data inside the DatabaseCluster_Spec_Engine_Storage_Size as a DatabaseClusterSpecEngineStorageSize0
func (DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize1 ¶
func (t DatabaseCluster_Spec_Engine_Storage_Size) AsDatabaseClusterSpecEngineStorageSize1() (DatabaseClusterSpecEngineStorageSize1, error)
AsDatabaseClusterSpecEngineStorageSize1 returns the union data inside the DatabaseCluster_Spec_Engine_Storage_Size as a DatabaseClusterSpecEngineStorageSize1
func (*DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize0 ¶
func (t *DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize0(v DatabaseClusterSpecEngineStorageSize0) error
FromDatabaseClusterSpecEngineStorageSize0 overwrites any union data inside the DatabaseCluster_Spec_Engine_Storage_Size as the provided DatabaseClusterSpecEngineStorageSize0
func (*DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize1 ¶
func (t *DatabaseCluster_Spec_Engine_Storage_Size) FromDatabaseClusterSpecEngineStorageSize1(v DatabaseClusterSpecEngineStorageSize1) error
FromDatabaseClusterSpecEngineStorageSize1 overwrites any union data inside the DatabaseCluster_Spec_Engine_Storage_Size as the provided DatabaseClusterSpecEngineStorageSize1
func (DatabaseCluster_Spec_Engine_Storage_Size) MarshalJSON ¶
func (t DatabaseCluster_Spec_Engine_Storage_Size) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize0 ¶
func (t *DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize0(v DatabaseClusterSpecEngineStorageSize0) error
MergeDatabaseClusterSpecEngineStorageSize0 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Storage_Size, using the provided DatabaseClusterSpecEngineStorageSize0
func (*DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize1 ¶
func (t *DatabaseCluster_Spec_Engine_Storage_Size) MergeDatabaseClusterSpecEngineStorageSize1(v DatabaseClusterSpecEngineStorageSize1) error
MergeDatabaseClusterSpecEngineStorageSize1 performs a merge with any union data inside the DatabaseCluster_Spec_Engine_Storage_Size, using the provided DatabaseClusterSpecEngineStorageSize1
func (*DatabaseCluster_Spec_Engine_Storage_Size) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Engine_Storage_Size) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties ¶
type DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties defines model for DatabaseCluster.Spec.Monitoring.Resources.Limits.AdditionalProperties.
func (DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits0 ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits0() (DatabaseClusterSpecMonitoringResourcesLimits0, error)
AsDatabaseClusterSpecMonitoringResourcesLimits0 returns the union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties as a DatabaseClusterSpecMonitoringResourcesLimits0
func (DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits1 ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesLimits1() (DatabaseClusterSpecMonitoringResourcesLimits1, error)
AsDatabaseClusterSpecMonitoringResourcesLimits1 returns the union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties as a DatabaseClusterSpecMonitoringResourcesLimits1
func (*DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits0 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits0(v DatabaseClusterSpecMonitoringResourcesLimits0) error
FromDatabaseClusterSpecMonitoringResourcesLimits0 overwrites any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties as the provided DatabaseClusterSpecMonitoringResourcesLimits0
func (*DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits1 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesLimits1(v DatabaseClusterSpecMonitoringResourcesLimits1) error
FromDatabaseClusterSpecMonitoringResourcesLimits1 overwrites any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties as the provided DatabaseClusterSpecMonitoringResourcesLimits1
func (DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MarshalJSON ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits0 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits0(v DatabaseClusterSpecMonitoringResourcesLimits0) error
MergeDatabaseClusterSpecMonitoringResourcesLimits0 performs a merge with any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties, using the provided DatabaseClusterSpecMonitoringResourcesLimits0
func (*DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits1 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesLimits1(v DatabaseClusterSpecMonitoringResourcesLimits1) error
MergeDatabaseClusterSpecMonitoringResourcesLimits1 performs a merge with any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties, using the provided DatabaseClusterSpecMonitoringResourcesLimits1
func (*DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Limits_AdditionalProperties) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties ¶
type DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties defines model for DatabaseCluster.Spec.Monitoring.Resources.Requests.AdditionalProperties.
func (DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests0 ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests0() (DatabaseClusterSpecMonitoringResourcesRequests0, error)
AsDatabaseClusterSpecMonitoringResourcesRequests0 returns the union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties as a DatabaseClusterSpecMonitoringResourcesRequests0
func (DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests1 ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) AsDatabaseClusterSpecMonitoringResourcesRequests1() (DatabaseClusterSpecMonitoringResourcesRequests1, error)
AsDatabaseClusterSpecMonitoringResourcesRequests1 returns the union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties as a DatabaseClusterSpecMonitoringResourcesRequests1
func (*DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests0 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests0(v DatabaseClusterSpecMonitoringResourcesRequests0) error
FromDatabaseClusterSpecMonitoringResourcesRequests0 overwrites any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties as the provided DatabaseClusterSpecMonitoringResourcesRequests0
func (*DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests1 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) FromDatabaseClusterSpecMonitoringResourcesRequests1(v DatabaseClusterSpecMonitoringResourcesRequests1) error
FromDatabaseClusterSpecMonitoringResourcesRequests1 overwrites any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties as the provided DatabaseClusterSpecMonitoringResourcesRequests1
func (DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MarshalJSON ¶
func (t DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests0 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests0(v DatabaseClusterSpecMonitoringResourcesRequests0) error
MergeDatabaseClusterSpecMonitoringResourcesRequests0 performs a merge with any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties, using the provided DatabaseClusterSpecMonitoringResourcesRequests0
func (*DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests1 ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) MergeDatabaseClusterSpecMonitoringResourcesRequests1(v DatabaseClusterSpecMonitoringResourcesRequests1) error
MergeDatabaseClusterSpecMonitoringResourcesRequests1 performs a merge with any union data inside the DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties, using the provided DatabaseClusterSpecMonitoringResourcesRequests1
func (*DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Monitoring_Resources_Requests_AdditionalProperties) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Proxy_Resources_Cpu ¶
type DatabaseCluster_Spec_Proxy_Resources_Cpu struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Proxy_Resources_Cpu CPU is the CPU resource requirements
func (DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu0 ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu0() (DatabaseClusterSpecProxyResourcesCpu0, error)
AsDatabaseClusterSpecProxyResourcesCpu0 returns the union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu as a DatabaseClusterSpecProxyResourcesCpu0
func (DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu1 ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) AsDatabaseClusterSpecProxyResourcesCpu1() (DatabaseClusterSpecProxyResourcesCpu1, error)
AsDatabaseClusterSpecProxyResourcesCpu1 returns the union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu as a DatabaseClusterSpecProxyResourcesCpu1
func (*DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu0 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu0(v DatabaseClusterSpecProxyResourcesCpu0) error
FromDatabaseClusterSpecProxyResourcesCpu0 overwrites any union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu as the provided DatabaseClusterSpecProxyResourcesCpu0
func (*DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu1 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) FromDatabaseClusterSpecProxyResourcesCpu1(v DatabaseClusterSpecProxyResourcesCpu1) error
FromDatabaseClusterSpecProxyResourcesCpu1 overwrites any union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu as the provided DatabaseClusterSpecProxyResourcesCpu1
func (DatabaseCluster_Spec_Proxy_Resources_Cpu) MarshalJSON ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Cpu) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu0 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu0(v DatabaseClusterSpecProxyResourcesCpu0) error
MergeDatabaseClusterSpecProxyResourcesCpu0 performs a merge with any union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu, using the provided DatabaseClusterSpecProxyResourcesCpu0
func (*DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu1 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) MergeDatabaseClusterSpecProxyResourcesCpu1(v DatabaseClusterSpecProxyResourcesCpu1) error
MergeDatabaseClusterSpecProxyResourcesCpu1 performs a merge with any union data inside the DatabaseCluster_Spec_Proxy_Resources_Cpu, using the provided DatabaseClusterSpecProxyResourcesCpu1
func (*DatabaseCluster_Spec_Proxy_Resources_Cpu) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Cpu) UnmarshalJSON(b []byte) error
type DatabaseCluster_Spec_Proxy_Resources_Memory ¶
type DatabaseCluster_Spec_Proxy_Resources_Memory struct {
// contains filtered or unexported fields
}
DatabaseCluster_Spec_Proxy_Resources_Memory Memory is the memory resource requirements
func (DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory0 ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory0() (DatabaseClusterSpecProxyResourcesMemory0, error)
AsDatabaseClusterSpecProxyResourcesMemory0 returns the union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory as a DatabaseClusterSpecProxyResourcesMemory0
func (DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory1 ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Memory) AsDatabaseClusterSpecProxyResourcesMemory1() (DatabaseClusterSpecProxyResourcesMemory1, error)
AsDatabaseClusterSpecProxyResourcesMemory1 returns the union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory as a DatabaseClusterSpecProxyResourcesMemory1
func (*DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory0 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory0(v DatabaseClusterSpecProxyResourcesMemory0) error
FromDatabaseClusterSpecProxyResourcesMemory0 overwrites any union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory as the provided DatabaseClusterSpecProxyResourcesMemory0
func (*DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory1 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) FromDatabaseClusterSpecProxyResourcesMemory1(v DatabaseClusterSpecProxyResourcesMemory1) error
FromDatabaseClusterSpecProxyResourcesMemory1 overwrites any union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory as the provided DatabaseClusterSpecProxyResourcesMemory1
func (DatabaseCluster_Spec_Proxy_Resources_Memory) MarshalJSON ¶
func (t DatabaseCluster_Spec_Proxy_Resources_Memory) MarshalJSON() ([]byte, error)
func (*DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory0 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory0(v DatabaseClusterSpecProxyResourcesMemory0) error
MergeDatabaseClusterSpecProxyResourcesMemory0 performs a merge with any union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory, using the provided DatabaseClusterSpecProxyResourcesMemory0
func (*DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory1 ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) MergeDatabaseClusterSpecProxyResourcesMemory1(v DatabaseClusterSpecProxyResourcesMemory1) error
MergeDatabaseClusterSpecProxyResourcesMemory1 performs a merge with any union data inside the DatabaseCluster_Spec_Proxy_Resources_Memory, using the provided DatabaseClusterSpecProxyResourcesMemory1
func (*DatabaseCluster_Spec_Proxy_Resources_Memory) UnmarshalJSON ¶
func (t *DatabaseCluster_Spec_Proxy_Resources_Memory) UnmarshalJSON(b []byte) error
type DatabaseEngine ¶
type DatabaseEngine struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec DatabaseEngineSpec is a spec for a database engine.
Spec *struct {
AllowedVersions *[]string `json:"allowedVersions,omitempty"`
// SecretKeys SecretKeys contains the definition of the various Secrets that
// the given DBEngine supports.
// This information acts like metadata for the Everest UI to guide the users
// in filling out the correct Secret keys for their clusters.
SecretKeys *struct {
// User User secret keys are used to store the details of the users.
User *[]struct {
// Description Description is a human-readable description of the Secret key.
Description *string `json:"description,omitempty"`
// Name Name is the name of the Secret key.
Name *string `json:"name,omitempty"`
} `json:"user,omitempty"`
} `json:"secretKeys,omitempty"`
// Type EngineType stands for the supported database engines. Right now it's only pxc
// and psmdb. However, it can be ps, pg and any other source.
Type string `json:"type"`
} `json:"spec,omitempty"`
// Status DatabaseEngineStatus defines the observed state of DatabaseEngine.
Status *struct {
// AvailableVersions Versions struct represents available versions of database engine components.
AvailableVersions *struct {
// Backup ComponentsMap is a map of database engine components.
Backup *map[string]struct {
Critical *bool `json:"critical,omitempty"`
ImageHash *string `json:"imageHash,omitempty"`
ImagePath *string `json:"imagePath,omitempty"`
// Status ComponentStatus represents status of the database engine component.
Status *string `json:"status,omitempty"`
} `json:"backup,omitempty"`
// Engine ComponentsMap is a map of database engine components.
Engine *map[string]struct {
Critical *bool `json:"critical,omitempty"`
ImageHash *string `json:"imageHash,omitempty"`
ImagePath *string `json:"imagePath,omitempty"`
// Status ComponentStatus represents status of the database engine component.
Status *string `json:"status,omitempty"`
} `json:"engine,omitempty"`
Proxy *map[string]map[string]struct {
Critical *bool `json:"critical,omitempty"`
ImageHash *string `json:"imageHash,omitempty"`
ImagePath *string `json:"imagePath,omitempty"`
// Status ComponentStatus represents status of the database engine component.
Status *string `json:"status,omitempty"`
} `json:"proxy,omitempty"`
Tools *map[string]map[string]struct {
Critical *bool `json:"critical,omitempty"`
ImageHash *string `json:"imageHash,omitempty"`
ImagePath *string `json:"imagePath,omitempty"`
// Status ComponentStatus represents status of the database engine component.
Status *string `json:"status,omitempty"`
} `json:"tools,omitempty"`
} `json:"availableVersions,omitempty"`
// OperatorUpgrade OperatorUpgrade contains the status of the operator upgrade.
OperatorUpgrade *struct {
// InstallPlanRef InstallPlanRef is a reference to the InstallPlan object created for the operator upgrade.
//
// We do not recommended approving this InstallPlan directly from the Kubernetes API.
// This is because this InstallPlan may also upgrade other operators in the namespace and that
// can have unintended consequences.
// This behaviour is not a bug from Everest, but an unfortunate limitation of OLM.
// We suggest using the Everest API/UI to handle operator upgrades, which will perform a series
// of checks and safely upgrade all operators in the namespace.
InstallPlanRef *struct {
// Name Name of the referent.
// This field is effectively required, but due to backwards compatibility is
// allowed to be empty. Instances of this type with an empty value here are
// almost certainly wrong.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Name *string `json:"name,omitempty"`
} `json:"installPlanRef,omitempty"`
Message *string `json:"message,omitempty"`
// Phase UpgradePhase represents the phase of the operator upgrade.
Phase *string `json:"phase,omitempty"`
StartedAt *time.Time `json:"startedAt,omitempty"`
// TargetVersion TargetVersion is the version to which the operator should be upgraded.
TargetVersion *string `json:"targetVersion,omitempty"`
} `json:"operatorUpgrade,omitempty"`
OperatorVersion *string `json:"operatorVersion,omitempty"`
PendingOperatorUpgrades *[]struct {
// InstallPlanRef InstallPlanRef is a reference to the InstallPlan object created for the operator upgrade.
//
// We do not recommended approving this InstallPlan directly from the Kubernetes API.
// This is because this InstallPlan may also upgrade other operators in the namespace and that
// can have unintended consequences.
// This behaviour is not a bug from Everest, but an unfortunate limitation of OLM.
// We suggest using the Everest API/UI to handle operator upgrades, which will perform a series
// of checks and safely upgrade all operators in the namespace.
InstallPlanRef *struct {
// Name Name of the referent.
// This field is effectively required, but due to backwards compatibility is
// allowed to be empty. Instances of this type with an empty value here are
// almost certainly wrong.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Name *string `json:"name,omitempty"`
} `json:"installPlanRef,omitempty"`
// TargetVersion TargetVersion is the version to which the operator should be upgraded.
TargetVersion *string `json:"targetVersion,omitempty"`
} `json:"pendingOperatorUpgrades,omitempty"`
// Status EngineState represents state of engine in a k8s cluster.
Status *string `json:"status,omitempty"`
} `json:"status,omitempty"`
}
DatabaseEngine DatabaseEngine is the Schema for the databaseengines API.
type DatabaseEngineList ¶
type DatabaseEngineList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]DatabaseEngine `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
DatabaseEngineList DatabaseEngineList is an object that contains the list of the existing database engines.
type DeleteDatabaseClusterBackupParams ¶ added in v0.10.0
type DeleteDatabaseClusterBackupParams struct {
// CleanupBackupStorage If set, remove the backed up data from storage
CleanupBackupStorage *bool `form:"cleanupBackupStorage,omitempty" json:"cleanupBackupStorage,omitempty"`
}
DeleteDatabaseClusterBackupParams defines parameters for DeleteDatabaseClusterBackup.
type DeleteDatabaseClusterParams ¶ added in v0.10.0
type DeleteDatabaseClusterParams struct {
// CleanupBackupStorage If set, remove the backed up data from storage
CleanupBackupStorage *bool `form:"cleanupBackupStorage,omitempty" json:"cleanupBackupStorage,omitempty"`
}
DeleteDatabaseClusterParams defines parameters for DeleteDatabaseCluster.
type EchoRouter ¶
type EchoRouter interface {
CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
}
This is a simple interface which specifies echo.Route addition functions which are present on both echo.Echo and echo.Group, since we want to allow using either of them for path registration
type Error ¶
type Error struct {
Message *string `json:"message,omitempty"`
}
Error Error response
func (Error) MarshalJSON ¶
MarshalJSON capitalizes Error.Message and marshals it to byte array.
type IoK8sApimachineryPkgApisMetaV1ListMeta ¶
type IoK8sApimachineryPkgApisMetaV1ListMeta struct {
// Continue continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.
Continue *string `json:"continue,omitempty"`
// RemainingItemCount remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.
RemainingItemCount *int64 `json:"remainingItemCount,omitempty"`
// ResourceVersion String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
ResourceVersion *string `json:"resourceVersion,omitempty"`
// SelfLink selfLink is a URL representing this object. Populated by the system. Read-only.
//
// DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.
SelfLink *string `json:"selfLink,omitempty"`
}
IoK8sApimachineryPkgApisMetaV1ListMeta ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
type IoK8sApimachineryPkgApisMetaV1StatusCause ¶
type IoK8sApimachineryPkgApisMetaV1StatusCause struct {
// Field The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
//
// Examples:
// "name" - the field "name" on the current resource
// "items[0].name" - the field "name" on the first array entry in "items"
Field *string `json:"field,omitempty"`
// Message A human-readable description of the cause of the error. This field may be presented as-is to a reader.
Message *string `json:"message,omitempty"`
// Reason A machine-readable description of the cause of the error. If this value is empty there is no information available.
Reason *string `json:"reason,omitempty"`
}
IoK8sApimachineryPkgApisMetaV1StatusCause StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.
type IoK8sApimachineryPkgApisMetaV1StatusDetailsV2 ¶
type IoK8sApimachineryPkgApisMetaV1StatusDetailsV2 struct {
// Causes The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.
Causes *[]IoK8sApimachineryPkgApisMetaV1StatusCause `json:"causes,omitempty"`
// Group The group attribute of the resource associated with the status StatusReason.
Group *string `json:"group,omitempty"`
// Kind The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Kind *string `json:"kind,omitempty"`
// Name The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).
Name *string `json:"name,omitempty"`
// RetryAfterSeconds If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.
RetryAfterSeconds *int32 `json:"retryAfterSeconds,omitempty"`
// Uid UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Uid *string `json:"uid,omitempty"`
}
IoK8sApimachineryPkgApisMetaV1StatusDetailsV2 StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.
type IoK8sApimachineryPkgApisMetaV1StatusV2 ¶
type IoK8sApimachineryPkgApisMetaV1StatusV2 struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Code Suggested HTTP return code for this status, 0 if not set.
Code *int32 `json:"code,omitempty"`
// Details StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.
Details *IoK8sApimachineryPkgApisMetaV1StatusDetailsV2 `json:"details,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
// Message A human-readable description of the status of this operation.
Message *string `json:"message,omitempty"`
// Metadata ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
Metadata *IoK8sApimachineryPkgApisMetaV1ListMeta `json:"metadata,omitempty"`
// Reason A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.
Reason *string `json:"reason,omitempty"`
// Status Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Status *string `json:"status,omitempty"`
}
IoK8sApimachineryPkgApisMetaV1StatusV2 Status is a return value for calls that don't return other objects.
type KubernetesClusterInfo ¶
type KubernetesClusterInfo struct {
ClusterType string `json:"clusterType"`
// StorageClassNames List of storage class names that are available in the cluster.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
StorageClassNames []string `json:"storageClassNames"`
StorageClasses *[]StorageClass `json:"storageClasses,omitempty"`
}
KubernetesClusterInfo kubernetes cluster info
type KubernetesClusterResources ¶
type KubernetesClusterResources struct {
Available ResourcesAvailable `json:"available"`
Capacity ResourcesCapacity `json:"capacity"`
}
KubernetesClusterResources kubernetes cluster resources
type ListDataImportersParams ¶ added in v1.8.0
type ListDataImportersParams struct {
// SupportedEngines Filter data importers by supported database engine type. Accepts a comma-separated list.
SupportedEngines *[]string `form:"supportedEngines,omitempty" json:"supportedEngines,omitempty"`
}
ListDataImportersParams defines parameters for ListDataImporters.
type ListPodSchedulingPolicyParams ¶ added in v1.7.0
type ListPodSchedulingPolicyParams struct {
// EngineType Database engine type that Pod Scheduling Policy is applicable to.
EngineType *ListPodSchedulingPolicyParamsEngineType `form:"engineType,omitempty" json:"engineType,omitempty"`
// HasRules Return list of Pod Scheduling Policy that has at least 1 rule.
HasRules *bool `form:"hasRules,omitempty" json:"hasRules,omitempty"`
}
ListPodSchedulingPolicyParams defines parameters for ListPodSchedulingPolicy.
type ListPodSchedulingPolicyParamsEngineType ¶ added in v1.7.0
type ListPodSchedulingPolicyParamsEngineType string
ListPodSchedulingPolicyParamsEngineType defines parameters for ListPodSchedulingPolicy.
const ( Postgresql ListPodSchedulingPolicyParamsEngineType = "postgresql" Psmdb ListPodSchedulingPolicyParamsEngineType = "psmdb" Pxc ListPodSchedulingPolicyParamsEngineType = "pxc" )
Defines values for ListPodSchedulingPolicyParamsEngineType.
type LoadBalancerConfig ¶ added in v1.9.0
type LoadBalancerConfig struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec LoadBalancerConfigSpec defines the desired state of LoadBalancerConfig.
Spec *struct {
// Annotations Annotations key-value pairs to apply as annotations to the load balancer
Annotations *map[string]string `json:"annotations,omitempty"`
} `json:"spec,omitempty"`
// Status LoadBalancerConfigStatus defines the observed state of LoadBalancerConfig.
Status *struct {
// InUse InUse is a flag that indicates if the config is used by any DB cluster.
InUse *bool `json:"inUse,omitempty"`
// LastObservedGeneration LastObservedGeneration is the most recent generation observed for this LoadBalancerConfig.
LastObservedGeneration *int64 `json:"lastObservedGeneration,omitempty"`
} `json:"status,omitempty"`
}
LoadBalancerConfig LoadBalancerConfig is the Schema for the Load Balancer Config API.
type LoadBalancerConfigList ¶ added in v1.9.0
type LoadBalancerConfigList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]LoadBalancerConfig `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
LoadBalancerConfigList LoadBalancerConfigList is an object that contains the list of the existing load balancer configs.
type MonitoringInstance ¶
type MonitoringInstance = MonitoringInstanceBaseWithName
MonitoringInstance Monitoring instance information
func (*MonitoringInstance) FromCR ¶ added in v1.5.0
func (out *MonitoringInstance) FromCR(in *v1alpha1.MonitoringConfig)
type MonitoringInstanceBase ¶
type MonitoringInstanceBase struct {
// AllowedNamespaces List of namespaces allowed to use this monitoring instance
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
Type MonitoringInstanceBaseType `json:"type,omitempty"`
Url string `json:"url,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
MonitoringInstanceBase Monitoring instance information
type MonitoringInstanceBaseType ¶
type MonitoringInstanceBaseType string
MonitoringInstanceBaseType defines model for MonitoringInstanceBase.Type.
const (
MonitoringInstanceBaseTypePmm MonitoringInstanceBaseType = "pmm"
)
Defines values for MonitoringInstanceBaseType.
type MonitoringInstanceBaseWithName ¶
type MonitoringInstanceBaseWithName struct {
// AllowedNamespaces List of namespaces allowed to use this monitoring instance
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
// Name A user defined string name of the storage in the DNS name format https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Type MonitoringInstanceBaseWithNameType `json:"type,omitempty"`
Url string `json:"url,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
MonitoringInstanceBaseWithName defines model for MonitoringInstanceBaseWithName.
type MonitoringInstanceBaseWithNameType ¶
type MonitoringInstanceBaseWithNameType string
MonitoringInstanceBaseWithNameType defines model for MonitoringInstanceBaseWithName.Type.
const (
MonitoringInstanceBaseWithNameTypePmm MonitoringInstanceBaseWithNameType = "pmm"
)
Defines values for MonitoringInstanceBaseWithNameType.
type MonitoringInstanceCreateParams ¶
type MonitoringInstanceCreateParams struct {
// AllowedNamespaces List of namespaces allowed to use this monitoring instance
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
// Name A user defined string name of the storage in the DNS name format https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Pmm *PMMMonitoringInstanceSpec `json:"pmm,omitempty"`
Type MonitoringInstanceCreateParamsType `json:"type,omitempty"`
Url string `json:"url,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
MonitoringInstanceCreateParams defines model for MonitoringInstanceCreateParams.
type MonitoringInstanceCreateParamsType ¶
type MonitoringInstanceCreateParamsType string
MonitoringInstanceCreateParamsType defines model for MonitoringInstanceCreateParams.Type.
const (
MonitoringInstanceCreateParamsTypePmm MonitoringInstanceCreateParamsType = "pmm"
)
Defines values for MonitoringInstanceCreateParamsType.
type MonitoringInstancePMM ¶
type MonitoringInstancePMM struct {
Pmm *PMMMonitoringInstanceSpec `json:"pmm,omitempty"`
}
MonitoringInstancePMM defines model for MonitoringInstancePMM.
type MonitoringInstanceUpdateParams ¶
type MonitoringInstanceUpdateParams struct {
// AllowedNamespaces List of namespaces allowed to use this monitoring instance
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
Pmm *PMMMonitoringInstanceSpec `json:"pmm,omitempty"`
Type MonitoringInstanceUpdateParamsType `json:"type,omitempty"`
Url string `json:"url,omitempty"`
// VerifyTLS VerifyTLS is set to ensure TLS/SSL verification.
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
MonitoringInstanceUpdateParams defines model for MonitoringInstanceUpdateParams.
type MonitoringInstanceUpdateParamsType ¶
type MonitoringInstanceUpdateParamsType string
MonitoringInstanceUpdateParamsType defines model for MonitoringInstanceUpdateParams.Type.
const (
MonitoringInstanceUpdateParamsTypePmm MonitoringInstanceUpdateParamsType = "pmm"
)
Defines values for MonitoringInstanceUpdateParamsType.
type MonitoringInstancesList ¶
type MonitoringInstancesList = []MonitoringInstance
MonitoringInstancesList defines model for MonitoringInstancesList.
type OIDCConfig ¶ added in v1.0.0
type OIDCConfig struct {
// ClientId OIDC application clientID
ClientId string `json:"clientId"`
// IssuerURL OIDC provider url
IssuerURL string `json:"issuerURL"`
// Scopes OIDC scopes
Scopes []string `json:"scopes"`
}
OIDCConfig Everest OIDC provider configuration
type PMMMonitoringInstanceSpec ¶
type PMMMonitoringInstanceSpec struct {
ApiKey string `json:"apiKey,omitempty"`
Password string `json:"password,omitempty"`
User string `json:"user,omitempty"`
}
PMMMonitoringInstanceSpec defines model for .
type PodSchedulingPolicy ¶ added in v1.7.0
type PodSchedulingPolicy struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec PodSchedulingPolicySpec defines the desired state of PodSchedulingPolicy.
Spec *struct {
// AffinityConfig AffinityConfig is a configuration for the affinity settings depending on the engine type.
AffinityConfig *struct {
// Postgresql PostgreSQL is the affinity configuration for the PostgreSQL DB clusters.
Postgresql *struct {
// Engine Engine is the affinity configuration for the DB Engine pods.
Engine *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"engine,omitempty"`
// Proxy Proxy is the affinity configuration for the DB Proxy pods.
Proxy *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"proxy,omitempty"`
} `json:"postgresql,omitempty"`
// Psmdb PSMDB is the affinity configuration for the PSMDB DB clusters.
Psmdb *struct {
// ConfigServer ConfigServer is the affinity configuration for the DB Config Server pods.
ConfigServer *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"configServer,omitempty"`
// Engine Engine is the affinity configuration for the DB Engine pods.
Engine *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"engine,omitempty"`
// Proxy Proxy is the affinity configuration for the DB Proxy pods.
Proxy *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"proxy,omitempty"`
} `json:"psmdb,omitempty"`
// Pxc PXC is the affinity configuration for the PXC DB clusters.
Pxc *struct {
// Engine Engine is the affinity configuration for the DB Engine pods.
Engine *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"engine,omitempty"`
// Proxy Proxy is the affinity configuration for the DB Proxy pods.
Proxy *struct {
// NodeAffinity Describes node affinity scheduling rules for the pod.
NodeAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// Preference A node selector term, associated with the corresponding weight.
Preference struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"preference"`
// Weight Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *struct {
// NodeSelectorTerms Required. A list of node selector terms. The terms are ORed.
NodeSelectorTerms []struct {
// MatchExpressions A list of node selector requirements by node's labels.
MatchExpressions *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchFields A list of node selector requirements by node's fields.
MatchFields *[]struct {
// Key The label key that the selector applies to.
Key string `json:"key"`
// Operator Represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchFields,omitempty"`
} `json:"nodeSelectorTerms"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"nodeAffinity,omitempty"`
// PodAffinity Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
PodAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAffinity,omitempty"`
// PodAntiAffinity Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
PodAntiAffinity *struct {
// PreferredDuringSchedulingIgnoredDuringExecution 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.
PreferredDuringSchedulingIgnoredDuringExecution *[]struct {
// PodAffinityTerm Required. A pod affinity term, associated with the corresponding weight.
PodAffinityTerm struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"podAffinityTerm"`
// Weight weight associated with matching the corresponding podAffinityTerm,
// in the range 1-100.
Weight int32 `json:"weight"`
} `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingIgnoredDuringExecution 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.
RequiredDuringSchedulingIgnoredDuringExecution *[]struct {
// LabelSelector A label query over a set of resources, in this case pods.
// If it's null, this PodAffinityTerm matches with no Pods.
LabelSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"labelSelector,omitempty"`
// MatchLabelKeys MatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both matchLabelKeys and labelSelector.
// Also, matchLabelKeys cannot be set when labelSelector isn't set.
MatchLabelKeys *[]string `json:"matchLabelKeys,omitempty"`
// MismatchLabelKeys MismatchLabelKeys is a set of pod label keys to select which pods will
// be taken into consideration. The keys are used to lookup values from the
// incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
// to select the group of existing pods which pods will be taken into consideration
// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
// pod labels will be ignored. The default value is empty.
// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
// Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
MismatchLabelKeys *[]string `json:"mismatchLabelKeys,omitempty"`
// NamespaceSelector 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.
NamespaceSelector *struct {
// MatchExpressions matchExpressions is a list of label selector requirements. The requirements are ANDed.
MatchExpressions *[]struct {
// Key key is the label key that the selector applies to.
Key string `json:"key"`
// Operator operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists and DoesNotExist.
Operator string `json:"operator"`
// Values 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.
Values *[]string `json:"values,omitempty"`
} `json:"matchExpressions,omitempty"`
// MatchLabels 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.
MatchLabels *map[string]string `json:"matchLabels,omitempty"`
} `json:"namespaceSelector,omitempty"`
// Namespaces 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".
Namespaces *[]string `json:"namespaces,omitempty"`
// TopologyKey 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.
TopologyKey string `json:"topologyKey"`
} `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
} `json:"podAntiAffinity,omitempty"`
} `json:"proxy,omitempty"`
} `json:"pxc,omitempty"`
} `json:"affinityConfig,omitempty"`
// EngineType EngineType is type of DB engine that this policy can be applied to.
EngineType PodSchedulingPolicySpecEngineType `json:"engineType"`
} `json:"spec,omitempty"`
// Status PodSchedulingPolicyStatus defines the observed state of PodSchedulingPolicy.
Status *struct {
// InUse InUse is a flag that indicates if the policy is used by any DB cluster.
InUse *bool `json:"inUse,omitempty"`
// LastObservedGeneration LastObservedGeneration is the most recent generation observed for this PodSchedulingPolicy.
LastObservedGeneration *int64 `json:"lastObservedGeneration,omitempty"`
} `json:"status,omitempty"`
}
PodSchedulingPolicy PodSchedulingPolicy is the Schema for the Pod Scheduling Policy API.
type PodSchedulingPolicyList ¶ added in v1.7.0
type PodSchedulingPolicyList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]PodSchedulingPolicy `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
PodSchedulingPolicyList PodSchedulingPolicyList is an object that contains the list of the existing pod scheduling policies.
type PodSchedulingPolicySpecEngineType ¶ added in v1.7.0
type PodSchedulingPolicySpecEngineType string
PodSchedulingPolicySpecEngineType EngineType is type of DB engine that this policy can be applied to.
const ( PodSchedulingPolicySpecEngineTypePostgresql PodSchedulingPolicySpecEngineType = "postgresql" PodSchedulingPolicySpecEngineTypePsmdb PodSchedulingPolicySpecEngineType = "psmdb" PodSchedulingPolicySpecEngineTypePxc PodSchedulingPolicySpecEngineType = "pxc" )
Defines values for PodSchedulingPolicySpecEngineType.
type ResourcesAvailable ¶
type ResourcesAvailable struct {
CpuMillis *uint64 `json:"cpuMillis,omitempty"`
DiskSize *uint64 `json:"diskSize,omitempty"`
MemoryBytes *uint64 `json:"memoryBytes,omitempty"`
}
ResourcesAvailable defines model for .
type ResourcesCapacity ¶
type ResourcesCapacity struct {
CpuMillis *uint64 `json:"cpuMillis,omitempty"`
DiskSize *uint64 `json:"diskSize,omitempty"`
MemoryBytes *uint64 `json:"memoryBytes,omitempty"`
}
ResourcesCapacity defines model for .
type Secret ¶ added in v1.8.0
type Secret struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Data Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
Data *map[string][]byte `json:"data,omitempty"`
// Immutable Immutable, if set to true, ensures that data stored in the Secret cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. Defaulted to nil.
Immutable *bool `json:"immutable,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
// Metadata Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// StringData stringData allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API.
StringData *map[string]string `json:"stringData,omitempty"`
// Type Used to facilitate programmatic handling of secret data. More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
Type *string `json:"type,omitempty"`
}
Secret Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.
type ServerInterface ¶
type ServerInterface interface {
// Cluster info
// (GET /cluster-info)
GetKubernetesClusterInfo(ctx echo.Context) error
// List data importers
// (GET /data-importers)
ListDataImporters(ctx echo.Context, params ListDataImportersParams) error
// List load balancer configs
// (GET /load-balancer-configs)
ListLoadBalancerConfig(ctx echo.Context) error
// Create load balancer config
// (POST /load-balancer-configs)
CreateLoadBalancerConfig(ctx echo.Context) error
// Delete load balancer config
// (DELETE /load-balancer-configs/{config-name})
DeleteLoadBalancerConfig(ctx echo.Context, configName string) error
// Get load balancer config
// (GET /load-balancer-configs/{config-name})
GetLoadBalancerConfig(ctx echo.Context, configName string) error
// Update load balancer config
// (PUT /load-balancer-configs/{config-name})
UpdateLoadBalancerConfig(ctx echo.Context, configName string) error
// Managed namespaces
// (GET /namespaces)
ListNamespaces(ctx echo.Context) error
// List backup storages
// (GET /namespaces/{namespace}/backup-storages)
ListBackupStorages(ctx echo.Context, namespace string) error
// Create backup storage
// (POST /namespaces/{namespace}/backup-storages)
CreateBackupStorage(ctx echo.Context, namespace string) error
// Delete backup storage
// (DELETE /namespaces/{namespace}/backup-storages/{name})
DeleteBackupStorage(ctx echo.Context, namespace string, name string) error
// Get backup storage
// (GET /namespaces/{namespace}/backup-storages/{name})
GetBackupStorage(ctx echo.Context, namespace string, name string) error
// Update backup storage
// (PATCH /namespaces/{namespace}/backup-storages/{name})
UpdateBackupStorage(ctx echo.Context, namespace string, name string) error
// Create database cluster backup
// (POST /namespaces/{namespace}/database-cluster-backups)
CreateDatabaseClusterBackup(ctx echo.Context, namespace string) error
// Delete database cluster backup
// (DELETE /namespaces/{namespace}/database-cluster-backups/{name})
DeleteDatabaseClusterBackup(ctx echo.Context, namespace string, name string, params DeleteDatabaseClusterBackupParams) error
// Get database cluster backup
// (GET /namespaces/{namespace}/database-cluster-backups/{name})
GetDatabaseClusterBackup(ctx echo.Context, namespace string, name string) error
// Create database cluster restore
// (POST /namespaces/{namespace}/database-cluster-restores)
CreateDatabaseClusterRestore(ctx echo.Context, namespace string) error
// Delete database cluster restore
// (DELETE /namespaces/{namespace}/database-cluster-restores/{name})
DeleteDatabaseClusterRestore(ctx echo.Context, namespace string, name string) error
// Get database cluster restore
// (GET /namespaces/{namespace}/database-cluster-restores/{name})
GetDatabaseClusterRestore(ctx echo.Context, namespace string, name string) error
// Update database cluster restore
// (PUT /namespaces/{namespace}/database-cluster-restores/{name})
UpdateDatabaseClusterRestore(ctx echo.Context, namespace string, name string) error
// List database clusters
// (GET /namespaces/{namespace}/database-clusters)
ListDatabaseClusters(ctx echo.Context, namespace string) error
// Create database cluster
// (POST /namespaces/{namespace}/database-clusters)
CreateDatabaseCluster(ctx echo.Context, namespace string) error
// List database cluster backups
// (GET /namespaces/{namespace}/database-clusters/{cluster-name}/backups)
ListDatabaseClusterBackups(ctx echo.Context, namespace string, clusterName string) error
// List database cluster restores
// (GET /namespaces/{namespace}/database-clusters/{cluster-name}/restores)
ListDatabaseClusterRestores(ctx echo.Context, namespace string, clusterName string) error
// List data import jobs for a database cluster
// (GET /namespaces/{namespace}/database-clusters/{dbName}/data-import-jobs)
ListDataImportJobs(ctx echo.Context, namespace string, dbName string) error
// Create a secret for the given database cluster
// (POST /namespaces/{namespace}/database-clusters/{dbName}/secret)
CreateDatabaseClusterSecret(ctx echo.Context, namespace string, dbName string, params CreateDatabaseClusterSecretParams) error
// Delete database cluster
// (DELETE /namespaces/{namespace}/database-clusters/{name})
DeleteDatabaseCluster(ctx echo.Context, namespace string, name string, params DeleteDatabaseClusterParams) error
// Get database cluster
// (GET /namespaces/{namespace}/database-clusters/{name})
GetDatabaseCluster(ctx echo.Context, namespace string, name string) error
// Update database cluster
// (PUT /namespaces/{namespace}/database-clusters/{name})
UpdateDatabaseCluster(ctx echo.Context, namespace string, name string) error
// Get database cluster components
// (GET /namespaces/{namespace}/database-clusters/{name}/components)
GetDatabaseClusterComponents(ctx echo.Context, namespace string, name string) error
// Get database cluster credentials
// (GET /namespaces/{namespace}/database-clusters/{name}/credentials)
GetDatabaseClusterCredentials(ctx echo.Context, namespace string, name string) error
// Get the Point-in-Time recovery info
// (GET /namespaces/{namespace}/database-clusters/{name}/pitr)
GetDatabaseClusterPitr(ctx echo.Context, namespace string, name string) error
// List database engines
// (GET /namespaces/{namespace}/database-engines)
ListDatabaseEngines(ctx echo.Context, namespace string) error
// Get upgrade plan
// (GET /namespaces/{namespace}/database-engines/upgrade-plan)
GetUpgradePlan(ctx echo.Context, namespace string) error
// Upgrade database engine operators
// (POST /namespaces/{namespace}/database-engines/upgrade-plan/approval)
ApproveUpgradePlan(ctx echo.Context, namespace string) error
// Get database engine
// (GET /namespaces/{namespace}/database-engines/{name})
GetDatabaseEngine(ctx echo.Context, namespace string, name string) error
// Update database engine
// (PUT /namespaces/{namespace}/database-engines/{name})
UpdateDatabaseEngine(ctx echo.Context, namespace string, name string) error
// List Split-Horizon DNS Config instances.
// (GET /namespaces/{namespace}/engine-features/split-horizon-dns-configs)
ListSplitHorizonDNSConfigs(ctx echo.Context, namespace string) error
// Create Split-Horizon DNS Config for PSMDB.
// (POST /namespaces/{namespace}/engine-features/split-horizon-dns-configs)
CreateSplitHorizonDNSConfig(ctx echo.Context, namespace string) error
// Delete Split-Horizon DNS Config instance.
// (DELETE /namespaces/{namespace}/engine-features/split-horizon-dns-configs/{name})
DeleteSplitHorizonDNSConfig(ctx echo.Context, namespace string, name string) error
// Get Split-Horizon DNS Config instance.
// (GET /namespaces/{namespace}/engine-features/split-horizon-dns-configs/{name})
GetSplitHorizonDNSConfig(ctx echo.Context, namespace string, name string) error
// Update Split-Horizon DNS Config instance.
// (PATCH /namespaces/{namespace}/engine-features/split-horizon-dns-configs/{name})
UpdateSplitHorizonDNSConfig(ctx echo.Context, namespace string, name string) error
// List monitoring instances
// (GET /namespaces/{namespace}/monitoring-instances)
ListMonitoringInstances(ctx echo.Context, namespace string) error
// Create monitoring instance
// (POST /namespaces/{namespace}/monitoring-instances)
CreateMonitoringInstance(ctx echo.Context, namespace string) error
// Delete monitoring instnace
// (DELETE /namespaces/{namespace}/monitoring-instances/{name})
DeleteMonitoringInstance(ctx echo.Context, namespace string, name string) error
// Get monitoring instance
// (GET /namespaces/{namespace}/monitoring-instances/{name})
GetMonitoringInstance(ctx echo.Context, namespace string, name string) error
// Update monitoring instance
// (PATCH /namespaces/{namespace}/monitoring-instances/{name})
UpdateMonitoringInstance(ctx echo.Context, namespace string, name string) error
// Get user permissions
// (GET /permissions)
GetUserPermissions(ctx echo.Context) error
// List pod scheduling policies
// (GET /pod-scheduling-policies)
ListPodSchedulingPolicy(ctx echo.Context, params ListPodSchedulingPolicyParams) error
// Create pod scheduling policy
// (POST /pod-scheduling-policies)
CreatePodSchedulingPolicy(ctx echo.Context) error
// Delete pod scheduling policy
// (DELETE /pod-scheduling-policies/{policy-name})
DeletePodSchedulingPolicy(ctx echo.Context, policyName string) error
// Get pod scheduling policy
// (GET /pod-scheduling-policies/{policy-name})
GetPodSchedulingPolicy(ctx echo.Context, policyName string) error
// Update pod scheduling policy
// (PUT /pod-scheduling-policies/{policy-name})
UpdatePodSchedulingPolicy(ctx echo.Context, policyName string) error
// Cluster resources
// (GET /resources)
GetKubernetesClusterResources(ctx echo.Context) error
// Everest API Logout
// (DELETE /session)
DeleteSession(ctx echo.Context) error
// Everest API Login
// (POST /session)
CreateSession(ctx echo.Context) error
// Settings
// (GET /settings)
GetSettings(ctx echo.Context) error
// Version
// (GET /version)
VersionInfo(ctx echo.Context) error
}
ServerInterface represents all server handlers.
type ServerInterfaceWrapper ¶
type ServerInterfaceWrapper struct {
Handler ServerInterface
}
ServerInterfaceWrapper converts echo contexts to parameters.
func (*ServerInterfaceWrapper) ApproveUpgradePlan ¶ added in v1.1.0
func (w *ServerInterfaceWrapper) ApproveUpgradePlan(ctx echo.Context) error
ApproveUpgradePlan converts echo context to params.
func (*ServerInterfaceWrapper) CreateBackupStorage ¶
func (w *ServerInterfaceWrapper) CreateBackupStorage(ctx echo.Context) error
CreateBackupStorage converts echo context to params.
func (*ServerInterfaceWrapper) CreateDatabaseCluster ¶
func (w *ServerInterfaceWrapper) CreateDatabaseCluster(ctx echo.Context) error
CreateDatabaseCluster converts echo context to params.
func (*ServerInterfaceWrapper) CreateDatabaseClusterBackup ¶
func (w *ServerInterfaceWrapper) CreateDatabaseClusterBackup(ctx echo.Context) error
CreateDatabaseClusterBackup converts echo context to params.
func (*ServerInterfaceWrapper) CreateDatabaseClusterRestore ¶
func (w *ServerInterfaceWrapper) CreateDatabaseClusterRestore(ctx echo.Context) error
CreateDatabaseClusterRestore converts echo context to params.
func (*ServerInterfaceWrapper) CreateDatabaseClusterSecret ¶ added in v1.8.0
func (w *ServerInterfaceWrapper) CreateDatabaseClusterSecret(ctx echo.Context) error
CreateDatabaseClusterSecret converts echo context to params.
func (*ServerInterfaceWrapper) CreateLoadBalancerConfig ¶ added in v1.9.0
func (w *ServerInterfaceWrapper) CreateLoadBalancerConfig(ctx echo.Context) error
CreateLoadBalancerConfig converts echo context to params.
func (*ServerInterfaceWrapper) CreateMonitoringInstance ¶
func (w *ServerInterfaceWrapper) CreateMonitoringInstance(ctx echo.Context) error
CreateMonitoringInstance converts echo context to params.
func (*ServerInterfaceWrapper) CreatePodSchedulingPolicy ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) CreatePodSchedulingPolicy(ctx echo.Context) error
CreatePodSchedulingPolicy converts echo context to params.
func (*ServerInterfaceWrapper) CreateSession ¶ added in v1.0.0
func (w *ServerInterfaceWrapper) CreateSession(ctx echo.Context) error
CreateSession converts echo context to params.
func (*ServerInterfaceWrapper) CreateSplitHorizonDNSConfig ¶ added in v1.10.0
func (w *ServerInterfaceWrapper) CreateSplitHorizonDNSConfig(ctx echo.Context) error
CreateSplitHorizonDNSConfig converts echo context to params.
func (*ServerInterfaceWrapper) DeleteBackupStorage ¶
func (w *ServerInterfaceWrapper) DeleteBackupStorage(ctx echo.Context) error
DeleteBackupStorage converts echo context to params.
func (*ServerInterfaceWrapper) DeleteDatabaseCluster ¶
func (w *ServerInterfaceWrapper) DeleteDatabaseCluster(ctx echo.Context) error
DeleteDatabaseCluster converts echo context to params.
func (*ServerInterfaceWrapper) DeleteDatabaseClusterBackup ¶
func (w *ServerInterfaceWrapper) DeleteDatabaseClusterBackup(ctx echo.Context) error
DeleteDatabaseClusterBackup converts echo context to params.
func (*ServerInterfaceWrapper) DeleteDatabaseClusterRestore ¶
func (w *ServerInterfaceWrapper) DeleteDatabaseClusterRestore(ctx echo.Context) error
DeleteDatabaseClusterRestore converts echo context to params.
func (*ServerInterfaceWrapper) DeleteLoadBalancerConfig ¶ added in v1.9.0
func (w *ServerInterfaceWrapper) DeleteLoadBalancerConfig(ctx echo.Context) error
DeleteLoadBalancerConfig converts echo context to params.
func (*ServerInterfaceWrapper) DeleteMonitoringInstance ¶
func (w *ServerInterfaceWrapper) DeleteMonitoringInstance(ctx echo.Context) error
DeleteMonitoringInstance converts echo context to params.
func (*ServerInterfaceWrapper) DeletePodSchedulingPolicy ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) DeletePodSchedulingPolicy(ctx echo.Context) error
DeletePodSchedulingPolicy converts echo context to params.
func (*ServerInterfaceWrapper) DeleteSession ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) DeleteSession(ctx echo.Context) error
DeleteSession converts echo context to params.
func (*ServerInterfaceWrapper) DeleteSplitHorizonDNSConfig ¶ added in v1.10.0
func (w *ServerInterfaceWrapper) DeleteSplitHorizonDNSConfig(ctx echo.Context) error
DeleteSplitHorizonDNSConfig converts echo context to params.
func (*ServerInterfaceWrapper) GetBackupStorage ¶
func (w *ServerInterfaceWrapper) GetBackupStorage(ctx echo.Context) error
GetBackupStorage converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseCluster ¶
func (w *ServerInterfaceWrapper) GetDatabaseCluster(ctx echo.Context) error
GetDatabaseCluster converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseClusterBackup ¶
func (w *ServerInterfaceWrapper) GetDatabaseClusterBackup(ctx echo.Context) error
GetDatabaseClusterBackup converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseClusterComponents ¶ added in v1.0.0
func (w *ServerInterfaceWrapper) GetDatabaseClusterComponents(ctx echo.Context) error
GetDatabaseClusterComponents converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseClusterCredentials ¶
func (w *ServerInterfaceWrapper) GetDatabaseClusterCredentials(ctx echo.Context) error
GetDatabaseClusterCredentials converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseClusterPitr ¶
func (w *ServerInterfaceWrapper) GetDatabaseClusterPitr(ctx echo.Context) error
GetDatabaseClusterPitr converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseClusterRestore ¶
func (w *ServerInterfaceWrapper) GetDatabaseClusterRestore(ctx echo.Context) error
GetDatabaseClusterRestore converts echo context to params.
func (*ServerInterfaceWrapper) GetDatabaseEngine ¶
func (w *ServerInterfaceWrapper) GetDatabaseEngine(ctx echo.Context) error
GetDatabaseEngine converts echo context to params.
func (*ServerInterfaceWrapper) GetKubernetesClusterInfo ¶
func (w *ServerInterfaceWrapper) GetKubernetesClusterInfo(ctx echo.Context) error
GetKubernetesClusterInfo converts echo context to params.
func (*ServerInterfaceWrapper) GetKubernetesClusterResources ¶
func (w *ServerInterfaceWrapper) GetKubernetesClusterResources(ctx echo.Context) error
GetKubernetesClusterResources converts echo context to params.
func (*ServerInterfaceWrapper) GetLoadBalancerConfig ¶ added in v1.9.0
func (w *ServerInterfaceWrapper) GetLoadBalancerConfig(ctx echo.Context) error
GetLoadBalancerConfig converts echo context to params.
func (*ServerInterfaceWrapper) GetMonitoringInstance ¶
func (w *ServerInterfaceWrapper) GetMonitoringInstance(ctx echo.Context) error
GetMonitoringInstance converts echo context to params.
func (*ServerInterfaceWrapper) GetPodSchedulingPolicy ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) GetPodSchedulingPolicy(ctx echo.Context) error
GetPodSchedulingPolicy converts echo context to params.
func (*ServerInterfaceWrapper) GetSettings ¶ added in v1.0.0
func (w *ServerInterfaceWrapper) GetSettings(ctx echo.Context) error
GetSettings converts echo context to params.
func (*ServerInterfaceWrapper) GetSplitHorizonDNSConfig ¶ added in v1.10.0
func (w *ServerInterfaceWrapper) GetSplitHorizonDNSConfig(ctx echo.Context) error
GetSplitHorizonDNSConfig converts echo context to params.
func (*ServerInterfaceWrapper) GetUpgradePlan ¶ added in v1.1.0
func (w *ServerInterfaceWrapper) GetUpgradePlan(ctx echo.Context) error
GetUpgradePlan converts echo context to params.
func (*ServerInterfaceWrapper) GetUserPermissions ¶ added in v1.2.0
func (w *ServerInterfaceWrapper) GetUserPermissions(ctx echo.Context) error
GetUserPermissions converts echo context to params.
func (*ServerInterfaceWrapper) ListBackupStorages ¶
func (w *ServerInterfaceWrapper) ListBackupStorages(ctx echo.Context) error
ListBackupStorages converts echo context to params.
func (*ServerInterfaceWrapper) ListDataImportJobs ¶ added in v1.8.0
func (w *ServerInterfaceWrapper) ListDataImportJobs(ctx echo.Context) error
ListDataImportJobs converts echo context to params.
func (*ServerInterfaceWrapper) ListDataImporters ¶ added in v1.8.0
func (w *ServerInterfaceWrapper) ListDataImporters(ctx echo.Context) error
ListDataImporters converts echo context to params.
func (*ServerInterfaceWrapper) ListDatabaseClusterBackups ¶
func (w *ServerInterfaceWrapper) ListDatabaseClusterBackups(ctx echo.Context) error
ListDatabaseClusterBackups converts echo context to params.
func (*ServerInterfaceWrapper) ListDatabaseClusterRestores ¶
func (w *ServerInterfaceWrapper) ListDatabaseClusterRestores(ctx echo.Context) error
ListDatabaseClusterRestores converts echo context to params.
func (*ServerInterfaceWrapper) ListDatabaseClusters ¶
func (w *ServerInterfaceWrapper) ListDatabaseClusters(ctx echo.Context) error
ListDatabaseClusters converts echo context to params.
func (*ServerInterfaceWrapper) ListDatabaseEngines ¶
func (w *ServerInterfaceWrapper) ListDatabaseEngines(ctx echo.Context) error
ListDatabaseEngines converts echo context to params.
func (*ServerInterfaceWrapper) ListLoadBalancerConfig ¶ added in v1.9.0
func (w *ServerInterfaceWrapper) ListLoadBalancerConfig(ctx echo.Context) error
ListLoadBalancerConfig converts echo context to params.
func (*ServerInterfaceWrapper) ListMonitoringInstances ¶
func (w *ServerInterfaceWrapper) ListMonitoringInstances(ctx echo.Context) error
ListMonitoringInstances converts echo context to params.
func (*ServerInterfaceWrapper) ListNamespaces ¶
func (w *ServerInterfaceWrapper) ListNamespaces(ctx echo.Context) error
ListNamespaces converts echo context to params.
func (*ServerInterfaceWrapper) ListPodSchedulingPolicy ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) ListPodSchedulingPolicy(ctx echo.Context) error
ListPodSchedulingPolicy converts echo context to params.
func (*ServerInterfaceWrapper) ListSplitHorizonDNSConfigs ¶ added in v1.10.0
func (w *ServerInterfaceWrapper) ListSplitHorizonDNSConfigs(ctx echo.Context) error
ListSplitHorizonDNSConfigs converts echo context to params.
func (*ServerInterfaceWrapper) UpdateBackupStorage ¶
func (w *ServerInterfaceWrapper) UpdateBackupStorage(ctx echo.Context) error
UpdateBackupStorage converts echo context to params.
func (*ServerInterfaceWrapper) UpdateDatabaseCluster ¶
func (w *ServerInterfaceWrapper) UpdateDatabaseCluster(ctx echo.Context) error
UpdateDatabaseCluster converts echo context to params.
func (*ServerInterfaceWrapper) UpdateDatabaseClusterRestore ¶
func (w *ServerInterfaceWrapper) UpdateDatabaseClusterRestore(ctx echo.Context) error
UpdateDatabaseClusterRestore converts echo context to params.
func (*ServerInterfaceWrapper) UpdateDatabaseEngine ¶
func (w *ServerInterfaceWrapper) UpdateDatabaseEngine(ctx echo.Context) error
UpdateDatabaseEngine converts echo context to params.
func (*ServerInterfaceWrapper) UpdateLoadBalancerConfig ¶ added in v1.9.0
func (w *ServerInterfaceWrapper) UpdateLoadBalancerConfig(ctx echo.Context) error
UpdateLoadBalancerConfig converts echo context to params.
func (*ServerInterfaceWrapper) UpdateMonitoringInstance ¶
func (w *ServerInterfaceWrapper) UpdateMonitoringInstance(ctx echo.Context) error
UpdateMonitoringInstance converts echo context to params.
func (*ServerInterfaceWrapper) UpdatePodSchedulingPolicy ¶ added in v1.7.0
func (w *ServerInterfaceWrapper) UpdatePodSchedulingPolicy(ctx echo.Context) error
UpdatePodSchedulingPolicy converts echo context to params.
func (*ServerInterfaceWrapper) UpdateSplitHorizonDNSConfig ¶ added in v1.10.0
func (w *ServerInterfaceWrapper) UpdateSplitHorizonDNSConfig(ctx echo.Context) error
UpdateSplitHorizonDNSConfig converts echo context to params.
func (*ServerInterfaceWrapper) VersionInfo ¶
func (w *ServerInterfaceWrapper) VersionInfo(ctx echo.Context) error
VersionInfo converts echo context to params.
type Settings ¶ added in v1.0.0
type Settings struct {
// OidcConfig Everest OIDC provider configuration
OidcConfig OIDCConfig `json:"oidcConfig"`
}
Settings Everest global settings
type SplitHorizonDNSConfig ¶ added in v1.10.0
type SplitHorizonDNSConfig struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Spec Spec defines the desired state of SplitHorizonDNSConfig
Spec struct {
// BaseDomainNameSuffix BaseDomainNameSuffix is the base domain name suffix for generating domain names for each Pod in ReplicaSet.
// It should be a valid domain name suffix.
BaseDomainNameSuffix string `json:"baseDomainNameSuffix"`
// Tls TLS is the TLS configuration for the split-horizon DNS configuration.
Tls struct {
// Certificate Certificate is the TLS certificate and key for the split-horizon DNS configuration.
Certificate *struct {
// CaCrt CACert is based64 encoded ca.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
CaCrt string `json:"ca.crt"`
// CaKey CA Private Key is based64 encoded ca-key.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
CaKey string `json:"ca.key"`
} `json:"certificate,omitempty"`
// SecretName SecretName is the name of the secret containing the TLS certificate and key for the split-horizon DNS configuration.
SecretName string `json:"secretName"`
} `json:"tls"`
} `json:"spec"`
// Status Status defines the observed state of SplitHorizonDNSConfig
Status *struct {
// InUse InUse is a flag that indicates if the config is used by any DB cluster.
InUse *bool `json:"inUse,omitempty"`
// LastObservedGeneration LastObservedGeneration is the most recent generation observed for this SplitHorizonDNSConfig.
LastObservedGeneration *int64 `json:"lastObservedGeneration,omitempty"`
} `json:"status,omitempty"`
}
SplitHorizonDNSConfig SplitHorizonDNSConfig is the Schema for the splithorizondnsconfigs API.
type SplitHorizonDNSConfigList ¶ added in v1.10.0
type SplitHorizonDNSConfigList struct {
// ApiVersion 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
ApiVersion *string `json:"apiVersion,omitempty"`
Items *[]SplitHorizonDNSConfig `json:"items,omitempty"`
// Kind 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
Kind *string `json:"kind,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
SplitHorizonDNSConfigList SplitHorizonDNSConfigList is an object that contains the list of the existing split-horizon dns configs.
type SplitHorizonDNSConfigUpdateParams ¶ added in v1.10.0
type SplitHorizonDNSConfigUpdateParams struct {
// BaseDomainNameSuffix BaseDomainNameSuffix is the base domain name suffix for generating domain names for each Pod in ReplicaSet.
// It should be a valid domain name suffix.
BaseDomainNameSuffix *string `json:"baseDomainNameSuffix,omitempty"`
// Certificate Certificate is the TLS certificate and key for the split-horizon DNS configuration.
Certificate *struct {
// CaCrt CACert is based64 encoded ca.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
CaCrt string `json:"ca.crt"`
// CaKey CAKey is based64 encoded ca-key.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
CaKey string `json:"ca.key"`
} `json:"certificate,omitempty"`
}
SplitHorizonDNSConfigUpdateParams SplitHorizonDNSConfigUpdateParams is the Schema for the splithorizondnsconfigs update API.
type StorageClass ¶ added in v1.6.0
type StorageClass struct {
// AllowVolumeExpansion allowVolumeExpansion shows whether the storage class allow volume expand.
AllowVolumeExpansion *bool `json:"allowVolumeExpansion,omitempty"`
// Metadata Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
StorageClass StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.
StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.
func (*StorageClass) FromCR ¶ added in v1.6.0
func (out *StorageClass) FromCR(in *v1.StorageClass)
type UpdateBackupStorageJSONRequestBody ¶
type UpdateBackupStorageJSONRequestBody = UpdateBackupStorageParams
UpdateBackupStorageJSONRequestBody defines body for UpdateBackupStorage for application/json ContentType.
type UpdateBackupStorageParams ¶
type UpdateBackupStorageParams struct {
AccessKey *string `json:"accessKey,omitempty"`
// AllowedNamespaces List of namespaces allowed to use this backup storage
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllowedNamespaces *[]string `json:"allowedNamespaces,omitempty"`
// BucketName The cloud storage bucket/container name
BucketName *string `json:"bucketName,omitempty"`
Description *string `json:"description,omitempty"`
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
Region *string `json:"region,omitempty"`
SecretKey *string `json:"secretKey,omitempty"`
Url *string `json:"url,omitempty"`
VerifyTLS *bool `json:"verifyTLS,omitempty"`
}
UpdateBackupStorageParams Backup storage parameters
type UpdateDatabaseClusterJSONRequestBody ¶
type UpdateDatabaseClusterJSONRequestBody = DatabaseCluster
UpdateDatabaseClusterJSONRequestBody defines body for UpdateDatabaseCluster for application/json ContentType.
type UpdateDatabaseClusterRestoreJSONRequestBody ¶
type UpdateDatabaseClusterRestoreJSONRequestBody = DatabaseClusterRestore
UpdateDatabaseClusterRestoreJSONRequestBody defines body for UpdateDatabaseClusterRestore for application/json ContentType.
type UpdateDatabaseEngineJSONRequestBody ¶
type UpdateDatabaseEngineJSONRequestBody = DatabaseEngine
UpdateDatabaseEngineJSONRequestBody defines body for UpdateDatabaseEngine for application/json ContentType.
type UpdateLoadBalancerConfigJSONRequestBody ¶ added in v1.9.0
type UpdateLoadBalancerConfigJSONRequestBody = LoadBalancerConfig
UpdateLoadBalancerConfigJSONRequestBody defines body for UpdateLoadBalancerConfig for application/json ContentType.
type UpdateMonitoringInstanceJSONRequestBody ¶
type UpdateMonitoringInstanceJSONRequestBody = MonitoringInstanceUpdateParams
UpdateMonitoringInstanceJSONRequestBody defines body for UpdateMonitoringInstance for application/json ContentType.
type UpdatePodSchedulingPolicyJSONRequestBody ¶ added in v1.7.0
type UpdatePodSchedulingPolicyJSONRequestBody = PodSchedulingPolicy
UpdatePodSchedulingPolicyJSONRequestBody defines body for UpdatePodSchedulingPolicy for application/json ContentType.
type UpdateSplitHorizonDNSConfigJSONRequestBody ¶ added in v1.10.0
type UpdateSplitHorizonDNSConfigJSONRequestBody = SplitHorizonDNSConfigUpdateParams
UpdateSplitHorizonDNSConfigJSONRequestBody defines body for UpdateSplitHorizonDNSConfig for application/json ContentType.
type Upgrade ¶ added in v1.1.0
type Upgrade struct {
// CurrentVersion The current operator version
CurrentVersion *string `json:"currentVersion,omitempty"`
// Name Name of the operator
Name *string `json:"name,omitempty"`
// TargetVersion The next version of the operator to upgrade to.
TargetVersion *string `json:"targetVersion,omitempty"`
}
Upgrade defines model for Upgrade.
type UpgradePlan ¶ added in v1.1.0
type UpgradePlan struct {
PendingActions *[]UpgradeTask `json:"pendingActions,omitempty"`
Upgrades *[]Upgrade `json:"upgrades,omitempty"`
}
UpgradePlan Operators upgrade plan
type UpgradePlanApproval ¶ added in v1.1.0
type UpgradePlanApproval = map[string]interface{}
UpgradePlanApproval This no-op object is used to trigger the operator upgrade in a namespace.
type UpgradeTask ¶ added in v1.1.0
type UpgradeTask struct {
Message *string `json:"message,omitempty"`
// Name Name of the database cluster
Name *string `json:"name,omitempty"`
// PendingTask Pending task for the database cluster
PendingTask *UpgradeTaskPendingTask `json:"pendingTask,omitempty"`
}
UpgradeTask defines model for UpgradeTask.
type UpgradeTaskPendingTask ¶ added in v1.1.0
type UpgradeTaskPendingTask string
UpgradeTaskPendingTask Pending task for the database cluster
const ( NotReady UpgradeTaskPendingTask = "notReady" Ready UpgradeTaskPendingTask = "ready" Restart UpgradeTaskPendingTask = "restart" UpgradeEngine UpgradeTaskPendingTask = "upgradeEngine" )
Defines values for UpgradeTaskPendingTask.
type UserCredentials ¶ added in v1.0.0
type UserCredentials struct {
Password *string `json:"password,omitempty"`
Username *string `json:"username,omitempty"`
}
UserCredentials defines model for UserCredentials.
type UserPermissions ¶ added in v1.2.0
type UserPermissions struct {
Enabled bool `json:"enabled"`
Permissions *[][]string `json:"permissions,omitempty"`
}
UserPermissions defines model for UserPermissions.