VolumeConfig#
- pydantic model nublado.controller.config.VolumeConfig#
A volume that may be mounted inside a container.
- Parameters:
data (
Any)
Show JSON schema
{ "title": "VolumeConfig", "description": "A volume that may be mounted inside a container.", "type": "object", "properties": { "name": { "description": "Used as the Kubernetes volume name and therefore must be a valid Kubernetes name", "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "title": "Name of volume", "type": "string" }, "source": { "anyOf": [ { "$ref": "#/$defs/HostPathVolumeSource" }, { "$ref": "#/$defs/NFSVolumeSource" }, { "$ref": "#/$defs/PVCVolumeSource" } ], "title": "Source of volume" } }, "$defs": { "HostPathVolumeSource": { "additionalProperties": false, "description": "Path on Kubernetes node to mount in the container.", "properties": { "type": { "const": "hostPath", "title": "Type", "type": "string" }, "path": { "description": "Absolute host path to mount in the container", "examples": [ "/home" ], "pattern": "^/.*", "title": "Host path", "type": "string" } }, "required": [ "type", "path" ], "title": "HostPathVolumeSource", "type": "object" }, "NFSVolumeSource": { "additionalProperties": false, "description": "NFS volume to mount in the container.", "properties": { "type": { "const": "nfs", "title": "Type", "type": "string" }, "server": { "description": "Name or IP address of the NFS server for the volume", "examples": [ "10.13.105.122" ], "title": "NFS server", "type": "string" }, "serverPath": { "description": "Absolute path of NFS server export of the volume", "examples": [ "/share1/home" ], "pattern": "^/.*", "title": "Export path", "type": "string" }, "readOnly": { "default": false, "description": "Whether to mount the NFS volume read-only. If this is true, any mount of this volume will be read-only even if the mount is not marked as such.", "title": "Is read-only", "type": "boolean" } }, "required": [ "type", "server", "serverPath" ], "title": "NFSVolumeSource", "type": "object" }, "PVCVolumeResources": { "additionalProperties": false, "description": "Resources for a persistent volume claim.", "properties": { "requests": { "additionalProperties": { "type": "string" }, "title": "Resource requests", "type": "object" } }, "required": [ "requests" ], "title": "PVCVolumeResources", "type": "object" }, "PVCVolumeSource": { "additionalProperties": false, "description": "A PVC to create to materialize the volume to mount in the container.", "properties": { "type": { "const": "persistentVolumeClaim", "title": "Type", "type": "string" }, "accessModes": { "items": { "$ref": "#/$defs/VolumeAccessMode" }, "title": "Access mode", "type": "array" }, "storageClassName": { "title": "Storage class", "type": "string" }, "resources": { "$ref": "#/$defs/PVCVolumeResources", "title": "Resources for volume" }, "readOnly": { "default": false, "description": "Whether to force all mounts of this volume to read-only", "title": "Is read-only", "type": "boolean" } }, "required": [ "type", "accessModes", "storageClassName", "resources" ], "title": "PVCVolumeSource", "type": "object" }, "VolumeAccessMode": { "description": "Access mode for a persistent volume.", "enum": [ "ReadOnlyMany", "ReadWriteMany", "ReadWriteOnce", "ReadWriteOncePod" ], "title": "VolumeAccessMode", "type": "string" } }, "additionalProperties": false, "required": [ "name", "source" ] }
- Fields:
-
field name:
Annotated[str] [Required]# Used as the Kubernetes volume name and therefore must be a valid Kubernetes name
- Constraints:
pattern = ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
-
field source:
Annotated[Union[HostPathVolumeSource,NFSVolumeSource,PVCVolumeSource]] [Required]#