#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "ray.io", version = "v1", kind = "RayService", plural = "rayservices")]
#[kube(namespaced)]
#[kube(status = "RayServiceStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct RayServiceSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deploymentUnhealthySecondThreshold")]
pub deployment_unhealthy_second_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "excludeHeadPodFromServeSvc")]
pub exclude_head_pod_from_serve_svc: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "managedBy")]
pub managed_by: Option<String>,
#[serde(rename = "rayClusterConfig")]
pub ray_cluster_config: RayServiceRayClusterConfig,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayClusterDeletionDelaySeconds")]
pub ray_cluster_deletion_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serveConfigV2")]
pub serve_config_v2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serveService")]
pub serve_service: Option<RayServiceServeService>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceUnhealthySecondThreshold")]
pub service_unhealthy_second_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suspend: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradeStrategy")]
pub upgrade_strategy: Option<RayServiceUpgradeStrategy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authOptions")]
pub auth_options: Option<RayServiceRayClusterConfigAuthOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoscalerOptions")]
pub autoscaler_options: Option<RayServiceRayClusterConfigAutoscalerOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableInTreeAutoscaling")]
pub enable_in_tree_autoscaling: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcsFaultToleranceOptions")]
pub gcs_fault_tolerance_options: Option<RayServiceRayClusterConfigGcsFaultToleranceOptions>,
#[serde(rename = "headGroupSpec")]
pub head_group_spec: RayServiceRayClusterConfigHeadGroupSpec,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "headServiceAnnotations")]
pub head_service_annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "managedBy")]
pub managed_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayVersion")]
pub ray_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suspend: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradeStrategy")]
pub upgrade_strategy: Option<RayServiceRayClusterConfigUpgradeStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workerGroupSpecs")]
pub worker_group_specs: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAuthOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableK8sTokenAuth")]
pub enable_k8s_token_auth: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<RayServiceRayClusterConfigAuthOptionsMode>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum RayServiceRayClusterConfigAuthOptionsMode {
#[serde(rename = "disabled")]
Disabled,
#[serde(rename = "token")]
Token,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigAutoscalerOptionsEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigAutoscalerOptionsEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "idleTimeoutSeconds")]
pub idle_timeout_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigAutoscalerOptionsResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "upscalingMode")]
pub upscaling_mode: Option<RayServiceRayClusterConfigAutoscalerOptionsUpscalingMode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<RayServiceRayClusterConfigAutoscalerOptionsVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigAutoscalerOptionsVolumeMounts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigAutoscalerOptionsEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigAutoscalerOptionsResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigAutoscalerOptionsSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum RayServiceRayClusterConfigAutoscalerOptionsUpscalingMode {
Default,
Aggressive,
Conservative,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum RayServiceRayClusterConfigAutoscalerOptionsVersion {
#[serde(rename = "v1")]
V1,
#[serde(rename = "v2")]
V2,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigAutoscalerOptionsVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalStorageNamespace")]
pub external_storage_namespace: Option<String>,
#[serde(rename = "redisAddress")]
pub redis_address: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "redisPassword")]
pub redis_password: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPassword>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "redisUsername")]
pub redis_username: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPassword {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisPasswordValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsername {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigGcsFaultToleranceOptionsRedisUsernameValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableIngress")]
pub enable_ingress: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "headService")]
pub head_service: Option<RayServiceRayClusterConfigHeadGroupSpecHeadService>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayStartParams")]
pub ray_start_params: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
pub template: RayServiceRayClusterConfigHeadGroupSpecTemplate,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadService {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpec>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatus>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocateLoadBalancerNodePorts")]
pub allocate_load_balancer_node_ports: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIP")]
pub cluster_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIPs")]
pub cluster_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalIPs")]
pub external_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalName")]
pub external_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalTrafficPolicy")]
pub external_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheckNodePort")]
pub health_check_node_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "internalTrafficPolicy")]
pub internal_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilies")]
pub ip_families: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilyPolicy")]
pub ip_family_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerClass")]
pub load_balancer_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerIP")]
pub load_balancer_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerSourceRanges")]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "publishNotReadyAddresses")]
pub publish_not_ready_addresses: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinity")]
pub session_affinity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinityConfig")]
pub session_affinity_config: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecSessionAffinityConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trafficDistribution")]
pub traffic_distribution: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecPorts {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appProtocol")]
pub app_protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePort")]
pub node_port: Option<i32>,
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")]
pub target_port: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
pub client_ip: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceSpecSessionAffinityConfigClientIp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancer")]
pub load_balancer: Option<RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ingress: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancerIngress>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancerIngress {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipMode")]
pub ip_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancerIngressPorts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecHeadServiceStatusLoadBalancerIngressPorts {
pub error: String,
pub port: i32,
pub protocol: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDeadlineSeconds")]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automountServiceAccountToken")]
pub automount_service_account_token: Option<bool>,
pub containers: Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainers>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
pub dns_config: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
pub dns_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableServiceLinks")]
pub enable_service_links: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ephemeralContainers")]
pub ephemeral_containers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostAliases")]
pub host_aliases: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecHostAliases>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIPC")]
pub host_ipc: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPID")]
pub host_pid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostUsers")]
pub host_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostnameOverride")]
pub hostname_override: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initContainers")]
pub init_containers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")]
pub node_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub os: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecOs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub overhead: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preemptionPolicy")]
pub preemption_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessGates")]
pub readiness_gates: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecReadinessGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaims")]
pub resource_claims: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResourceClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeClassName")]
pub runtime_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")]
pub scheduler_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGates")]
pub scheduling_gates: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSchedulingGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGroup")]
pub scheduling_group: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSchedulingGroup>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "setHostnameAsFQDN")]
pub set_hostname_as_fqdn: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shareProcessNamespace")]
pub share_process_namespace: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subdomain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")]
pub topology_spread_constraints: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecDnsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nameservers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecDnsConfigOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetContainerName")]
pub target_container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecEphemeralContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecHostAliases {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostnames: Option<Vec<String>>,
pub ip: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecInitContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecOs {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecReadinessGates {
#[serde(rename = "conditionType")]
pub condition_type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResourceClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimName")]
pub resource_claim_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimTemplateName")]
pub resource_claim_template_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSchedulingGates {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSchedulingGroup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podGroupName")]
pub pod_group_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxChangePolicy")]
pub se_linux_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroupsPolicy")]
pub supplemental_groups_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraints {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraintsLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(rename = "maxSkew")]
pub max_skew: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")]
pub min_domains: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")]
pub node_affinity_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")]
pub node_taints_policy: Option<String>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
#[serde(rename = "whenUnsatisfiable")]
pub when_unsatisfiable: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraintsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")]
pub aws_elastic_block_store: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAwsElasticBlockStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")]
pub azure_disk: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAzureDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")]
pub azure_file: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAzureFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cephfs: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCephfs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cinder: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCinder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csi: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCsi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fc: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")]
pub flex_volume: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlexVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flocker: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlocker>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")]
pub gce_persistent_disk: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGcePersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")]
pub git_repo: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGitRepo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub glusterfs: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGlusterfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")]
pub host_path: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesHostPath>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iscsi: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesIscsi>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nfs: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesNfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")]
pub persistent_volume_claim: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPersistentVolumeClaim>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")]
pub photon_persistent_disk: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPhotonPersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")]
pub portworx_volume: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPortworxVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub projected: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjected>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quobyte: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesQuobyte>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rbd: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesRbd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")]
pub scale_io: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesScaleIo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storageos: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesStorageos>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")]
pub vsphere_volume: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesVsphereVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAwsElasticBlockStore {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAzureDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")]
pub caching_mode: Option<String>,
#[serde(rename = "diskName")]
pub disk_name: String,
#[serde(rename = "diskURI")]
pub disk_uri: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesAzureFile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(rename = "shareName")]
pub share_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCephfs {
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretFile")]
pub secret_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCephfsSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCephfsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCinder {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCinderSecretRef>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCinderSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCsi {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")]
pub node_publish_secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCsiNodePublishSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")]
pub volume_attributes: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesCsiNodePublishSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeral {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata>,
pub spec: RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFc {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lun: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetWWNs")]
pub target_ww_ns: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wwids: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlexVolume {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlexVolumeSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlexVolumeSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesFlocker {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")]
pub dataset_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetUUID")]
pub dataset_uuid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGcePersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(rename = "pdName")]
pub pd_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGitRepo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directory: Option<String>,
pub repository: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesGlusterfs {
pub endpoints: String,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesHostPath {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullPolicy")]
pub pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesIscsi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")]
pub chap_auth_discovery: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthSession")]
pub chap_auth_session: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initiatorName")]
pub initiator_name: Option<String>,
pub iqn: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "iscsiInterface")]
pub iscsi_interface: Option<String>,
pub lun: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub portals: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesIscsiSecretRef>,
#[serde(rename = "targetPortal")]
pub target_portal: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesIscsiSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesNfs {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub server: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPersistentVolumeClaim {
#[serde(rename = "claimName")]
pub claim_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPhotonPersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(rename = "pdID")]
pub pd_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesPortworxVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjected {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSources {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")]
pub cluster_trust_bundle: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podCertificate")]
pub pod_certificate: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesPodCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")]
pub service_account_token: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signerName")]
pub signer_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesPodCertificate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateChainPath")]
pub certificate_chain_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialBundlePath")]
pub credential_bundle_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPath")]
pub key_path: Option<String>,
#[serde(rename = "keyType")]
pub key_type: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxExpirationSeconds")]
pub max_expiration_seconds: Option<i32>,
#[serde(rename = "signerName")]
pub signer_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userAnnotations")]
pub user_annotations: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesProjectedSourcesServiceAccountToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")]
pub expiration_seconds: Option<i64>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesQuobyte {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub registry: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
pub volume: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesRbd {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyring: Option<String>,
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesRbdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesRbdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesScaleIo {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub gateway: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "protectionDomain")]
pub protection_domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretRef")]
pub secret_ref: RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesScaleIoSecretRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")]
pub ssl_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")]
pub storage_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePool")]
pub storage_pool: Option<String>,
pub system: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesScaleIoSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesSecret {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesStorageos {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesStorageosSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeNamespace")]
pub volume_namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesStorageosSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigHeadGroupSpecTemplateSpecVolumesVsphereVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyID")]
pub storage_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyName")]
pub storage_policy_name: Option<String>,
#[serde(rename = "volumePath")]
pub volume_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigUpgradeStrategy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<RayServiceRayClusterConfigUpgradeStrategyType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum RayServiceRayClusterConfigUpgradeStrategyType {
Recreate,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecs {
#[serde(rename = "groupName")]
pub group_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "idleTimeoutSeconds")]
pub idle_timeout_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(rename = "maxReplicas")]
pub max_replicas: i32,
#[serde(rename = "minReplicas")]
pub min_replicas: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "numOfHosts")]
pub num_of_hosts: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayStartParams")]
pub ray_start_params: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleStrategy")]
pub scale_strategy: Option<RayServiceRayClusterConfigWorkerGroupSpecsScaleStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suspend: Option<bool>,
pub template: RayServiceRayClusterConfigWorkerGroupSpecsTemplate,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsScaleStrategy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workersToDelete")]
pub workers_to_delete: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDeadlineSeconds")]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automountServiceAccountToken")]
pub automount_service_account_token: Option<bool>,
pub containers: Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainers>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
pub dns_config: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
pub dns_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableServiceLinks")]
pub enable_service_links: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ephemeralContainers")]
pub ephemeral_containers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostAliases")]
pub host_aliases: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecHostAliases>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIPC")]
pub host_ipc: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPID")]
pub host_pid: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostUsers")]
pub host_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostnameOverride")]
pub hostname_override: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initContainers")]
pub init_containers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")]
pub node_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub os: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecOs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub overhead: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preemptionPolicy")]
pub preemption_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessGates")]
pub readiness_gates: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecReadinessGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaims")]
pub resource_claims: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResourceClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeClassName")]
pub runtime_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")]
pub scheduler_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGates")]
pub scheduling_gates: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSchedulingGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGroup")]
pub scheduling_group: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSchedulingGroup>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "setHostnameAsFQDN")]
pub set_hostname_as_fqdn: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shareProcessNamespace")]
pub share_process_namespace: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subdomain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")]
pub topology_spread_constraints: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecDnsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nameservers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecDnsConfigOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetContainerName")]
pub target_container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecEphemeralContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecHostAliases {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostnames: Option<Vec<String>>,
pub ip: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFromConfigMapRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersEnvFromSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecInitContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecOs {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecReadinessGates {
#[serde(rename = "conditionType")]
pub condition_type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResourceClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimName")]
pub resource_claim_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimTemplateName")]
pub resource_claim_template_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSchedulingGates {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSchedulingGroup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podGroupName")]
pub pod_group_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxChangePolicy")]
pub se_linux_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroupsPolicy")]
pub supplemental_groups_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraints {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraintsLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(rename = "maxSkew")]
pub max_skew: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")]
pub min_domains: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")]
pub node_affinity_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")]
pub node_taints_policy: Option<String>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
#[serde(rename = "whenUnsatisfiable")]
pub when_unsatisfiable: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraintsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")]
pub aws_elastic_block_store: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAwsElasticBlockStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")]
pub azure_disk: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAzureDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")]
pub azure_file: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAzureFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cephfs: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCephfs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cinder: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCinder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csi: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCsi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fc: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")]
pub flex_volume: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlexVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flocker: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlocker>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")]
pub gce_persistent_disk: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGcePersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")]
pub git_repo: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGitRepo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub glusterfs: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGlusterfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")]
pub host_path: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesHostPath>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iscsi: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesIscsi>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nfs: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesNfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")]
pub persistent_volume_claim: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPersistentVolumeClaim>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")]
pub photon_persistent_disk: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPhotonPersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")]
pub portworx_volume: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPortworxVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub projected: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjected>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quobyte: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesQuobyte>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rbd: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesRbd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")]
pub scale_io: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesScaleIo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storageos: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesStorageos>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")]
pub vsphere_volume: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesVsphereVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAwsElasticBlockStore {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAzureDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")]
pub caching_mode: Option<String>,
#[serde(rename = "diskName")]
pub disk_name: String,
#[serde(rename = "diskURI")]
pub disk_uri: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesAzureFile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(rename = "shareName")]
pub share_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCephfs {
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretFile")]
pub secret_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCephfsSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCephfsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCinder {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCinderSecretRef>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCinderSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCsi {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")]
pub node_publish_secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCsiNodePublishSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")]
pub volume_attributes: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesCsiNodePublishSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeral {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata>,
pub spec: RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFc {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lun: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetWWNs")]
pub target_ww_ns: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wwids: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlexVolume {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlexVolumeSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlexVolumeSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesFlocker {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")]
pub dataset_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetUUID")]
pub dataset_uuid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGcePersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(rename = "pdName")]
pub pd_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGitRepo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directory: Option<String>,
pub repository: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesGlusterfs {
pub endpoints: String,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesHostPath {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullPolicy")]
pub pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesIscsi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")]
pub chap_auth_discovery: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthSession")]
pub chap_auth_session: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initiatorName")]
pub initiator_name: Option<String>,
pub iqn: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "iscsiInterface")]
pub iscsi_interface: Option<String>,
pub lun: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub portals: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesIscsiSecretRef>,
#[serde(rename = "targetPortal")]
pub target_portal: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesIscsiSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesNfs {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub server: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPersistentVolumeClaim {
#[serde(rename = "claimName")]
pub claim_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPhotonPersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(rename = "pdID")]
pub pd_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesPortworxVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjected {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSources {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")]
pub cluster_trust_bundle: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podCertificate")]
pub pod_certificate: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesPodCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")]
pub service_account_token: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signerName")]
pub signer_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesConfigMapItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesPodCertificate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateChainPath")]
pub certificate_chain_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialBundlePath")]
pub credential_bundle_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPath")]
pub key_path: Option<String>,
#[serde(rename = "keyType")]
pub key_type: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxExpirationSeconds")]
pub max_expiration_seconds: Option<i32>,
#[serde(rename = "signerName")]
pub signer_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "userAnnotations")]
pub user_annotations: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesProjectedSourcesServiceAccountToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")]
pub expiration_seconds: Option<i64>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesQuobyte {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub registry: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
pub volume: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesRbd {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyring: Option<String>,
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesRbdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesRbdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesScaleIo {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub gateway: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "protectionDomain")]
pub protection_domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretRef")]
pub secret_ref: RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesScaleIoSecretRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")]
pub ssl_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")]
pub storage_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePool")]
pub storage_pool: Option<String>,
pub system: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesScaleIoSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesSecret {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesStorageos {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesStorageosSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeNamespace")]
pub volume_namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesStorageosSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceRayClusterConfigWorkerGroupSpecsTemplateSpecVolumesVsphereVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyID")]
pub storage_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyName")]
pub storage_policy_name: Option<String>,
#[serde(rename = "volumePath")]
pub volume_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeService {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<RayServiceServeServiceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<RayServiceServeServiceSpec>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<RayServiceServeServiceStatus>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocateLoadBalancerNodePorts")]
pub allocate_load_balancer_node_ports: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIP")]
pub cluster_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterIPs")]
pub cluster_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalIPs")]
pub external_i_ps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalName")]
pub external_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalTrafficPolicy")]
pub external_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheckNodePort")]
pub health_check_node_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "internalTrafficPolicy")]
pub internal_traffic_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilies")]
pub ip_families: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipFamilyPolicy")]
pub ip_family_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerClass")]
pub load_balancer_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerIP")]
pub load_balancer_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancerSourceRanges")]
pub load_balancer_source_ranges: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceServeServiceSpecPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "publishNotReadyAddresses")]
pub publish_not_ready_addresses: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinity")]
pub session_affinity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionAffinityConfig")]
pub session_affinity_config: Option<RayServiceServeServiceSpecSessionAffinityConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trafficDistribution")]
pub traffic_distribution: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceSpecPorts {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appProtocol")]
pub app_protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePort")]
pub node_port: Option<i32>,
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")]
pub target_port: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceSpecSessionAffinityConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIP")]
pub client_ip: Option<RayServiceServeServiceSpecSessionAffinityConfigClientIp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceSpecSessionAffinityConfigClientIp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "loadBalancer")]
pub load_balancer: Option<RayServiceServeServiceStatusLoadBalancer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceStatusLoadBalancer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ingress: Option<Vec<RayServiceServeServiceStatusLoadBalancerIngress>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceStatusLoadBalancerIngress {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipMode")]
pub ip_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<RayServiceServeServiceStatusLoadBalancerIngressPorts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceServeServiceStatusLoadBalancerIngressPorts {
pub error: String,
pub port: i32,
pub protocol: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceUpgradeStrategy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterUpgradeOptions")]
pub cluster_upgrade_options: Option<RayServiceUpgradeStrategyClusterUpgradeOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceUpgradeStrategyClusterUpgradeOptions {
#[serde(rename = "gatewayClassName")]
pub gateway_class_name: String,
#[serde(rename = "intervalSeconds")]
pub interval_seconds: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSurgePercent")]
pub max_surge_percent: Option<i32>,
#[serde(rename = "stepSizePercent")]
pub step_size_percent: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeServiceStatus")]
pub active_service_status: Option<RayServiceStatusActiveServiceStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateTime")]
pub last_update_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "numServeEndpoints")]
pub num_serve_endpoints: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pendingServiceStatus")]
pub pending_service_status: Option<RayServiceStatusPendingServiceStatus>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceStatus")]
pub service_status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusActiveServiceStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "applicationStatuses")]
pub application_statuses: Option<BTreeMap<String, RayServiceStatusActiveServiceStatusApplicationStatuses>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastTrafficMigratedTime")]
pub last_traffic_migrated_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayClusterName")]
pub ray_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayClusterStatus")]
pub ray_cluster_status: Option<RayServiceStatusActiveServiceStatusRayClusterStatus>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetCapacity")]
pub target_capacity: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trafficRoutedPercent")]
pub traffic_routed_percent: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusActiveServiceStatusApplicationStatuses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serveDeploymentStatuses")]
pub serve_deployment_statuses: Option<BTreeMap<String, RayServiceStatusActiveServiceStatusApplicationStatusesServeDeploymentStatuses>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusActiveServiceStatusApplicationStatusesServeDeploymentStatuses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusActiveServiceStatusRayClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableWorkerReplicas")]
pub available_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredCPU")]
pub desired_cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredGPU")]
pub desired_gpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredMemory")]
pub desired_memory: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredTPU")]
pub desired_tpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredWorkerReplicas")]
pub desired_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub head: Option<RayServiceStatusActiveServiceStatusRayClusterStatusHead>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateTime")]
pub last_update_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxWorkerReplicas")]
pub max_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minWorkerReplicas")]
pub min_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readyWorkerReplicas")]
pub ready_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stateTransitionTimes")]
pub state_transition_times: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusActiveServiceStatusRayClusterStatusHead {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIP")]
pub pod_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podName")]
pub pod_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceIP")]
pub service_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceName")]
pub service_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusPendingServiceStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "applicationStatuses")]
pub application_statuses: Option<BTreeMap<String, RayServiceStatusPendingServiceStatusApplicationStatuses>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastTrafficMigratedTime")]
pub last_traffic_migrated_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayClusterName")]
pub ray_cluster_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rayClusterStatus")]
pub ray_cluster_status: Option<RayServiceStatusPendingServiceStatusRayClusterStatus>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetCapacity")]
pub target_capacity: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trafficRoutedPercent")]
pub traffic_routed_percent: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusPendingServiceStatusApplicationStatuses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serveDeploymentStatuses")]
pub serve_deployment_statuses: Option<BTreeMap<String, RayServiceStatusPendingServiceStatusApplicationStatusesServeDeploymentStatuses>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusPendingServiceStatusApplicationStatusesServeDeploymentStatuses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusPendingServiceStatusRayClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableWorkerReplicas")]
pub available_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredCPU")]
pub desired_cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredGPU")]
pub desired_gpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredMemory")]
pub desired_memory: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredTPU")]
pub desired_tpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredWorkerReplicas")]
pub desired_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub head: Option<RayServiceStatusPendingServiceStatusRayClusterStatusHead>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateTime")]
pub last_update_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxWorkerReplicas")]
pub max_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minWorkerReplicas")]
pub min_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readyWorkerReplicas")]
pub ready_worker_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stateTransitionTimes")]
pub state_transition_times: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct RayServiceStatusPendingServiceStatusRayClusterStatusHead {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIP")]
pub pod_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podName")]
pub pod_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceIP")]
pub service_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceName")]
pub service_name: Option<String>,
}