// things that are allowed to see the host machine. Most containers will NOT need this.
// things that are allowed to see the host machine. Most containers will NOT need this.
// TODO(jonesdl) We need to restrict who can use host directory mounts and
// TODO(jonesdl) We need to restrict who can use host directory mounts and
// who can/can not mount host directories as read/write.
// who can/can not mount host directories as read/write.
HostDir*HostPathVolumeSource`json:"hostDir" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host"`
HostDir*HostPathVolumeSource`json:"hostDir,omitempty" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host"`
// EmptyDir represents a temporary directory that shares a pod's lifetime.
// EmptyDir represents a temporary directory that shares a pod's lifetime.
EmptyDir*EmptyDirVolumeSource`json:"emptyDir" description:"temporary directory that shares a pod's lifetime"`
EmptyDir*EmptyDirVolumeSource`json:"emptyDir,omitempty" description:"temporary directory that shares a pod's lifetime"`
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk" description:"GCE disk resource attached to the host machine on demand"`
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk,omitempty" description:"GCE disk resource attached to the host machine on demand"`
// AWSElasticBlockStore represents an AWS Disk resource that is attached to a
// AWSElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore" description:"AWS disk resource attached to the host machine on demand"`
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore,omitempty" description:"AWS disk resource attached to the host machine on demand"`
// GitRepo represents a git repository at a particular revision.
// GitRepo represents a git repository at a particular revision.
GitRepo*GitRepoVolumeSource`json:"gitRepo" description:"git repository at a particular revision"`
GitRepo*GitRepoVolumeSource`json:"gitRepo,omitempty" description:"git repository at a particular revision"`
// Secret represents a secret to populate the volume with
// Secret represents a secret to populate the volume with
Secret*SecretVolumeSource`json:"secret" description:"secret to populate volume with"`
Secret*SecretVolumeSource`json:"secret,omitempty" description:"secret to populate volume with"`
// NFS represents an NFS mount on the host that shares a pod's lifetime
// NFS represents an NFS mount on the host that shares a pod's lifetime
NFS*NFSVolumeSource`json:"nfs" description:"NFS volume that will be mounted in the host machine "`
NFS*NFSVolumeSource`json:"nfs,omitempty" description:"NFS volume that will be mounted in the host machine "`
// ISCSI represents an ISCSI Disk resource that is attached to a
// ISCSI represents an ISCSI Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
ISCSI*ISCSIVolumeSource`json:"iscsi" description:"iSCSI disk attached to host machine on demand"`
ISCSI*ISCSIVolumeSource`json:"iscsi,omitempty" description:"iSCSI disk attached to host machine on demand"`
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime
Glusterfs*GlusterfsVolumeSource`json:"glusterfs" description:"Glusterfs volume that will be mounted on the host machine "`
Glusterfs*GlusterfsVolumeSource`json:"glusterfs,omitempty" description:"Glusterfs volume that will be mounted on the host machine "`
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace
PersistentVolumeClaimVolumeSource*PersistentVolumeClaimVolumeSource`json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace"`
PersistentVolumeClaimVolumeSource*PersistentVolumeClaimVolumeSource`json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
RBD*RBDVolumeSource`json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine"`
}
}
// Similar to VolumeSource but meant for the administrator who creates PVs.
// Similar to VolumeSource but meant for the administrator who creates PVs.
...
@@ -142,18 +142,18 @@ type VolumeSource struct {
...
@@ -142,18 +142,18 @@ type VolumeSource struct {
typePersistentVolumeSourcestruct{
typePersistentVolumeSourcestruct{
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk" description:"GCE disk resource provisioned by an admin"`
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk,omitempty" description:"GCE disk resource provisioned by an admin"`
// AWSElasticBlockStore represents an AWS EBS volume that is attached to a
// AWSElasticBlockStore represents an AWS EBS volume that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore" description:"AWS disk resource provisioned by an admin"`
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore,omitempty" description:"AWS disk resource provisioned by an admin"`
// HostPath represents a directory on the host.
// HostPath represents a directory on the host.
// This is useful for development and testing only.
// This is useful for development and testing only.
// on-host storage is not supported in any way.
// on-host storage is not supported in any way.
HostPath*HostPathVolumeSource`json:"hostPath" description:"a HostPath provisioned by a developer or tester; for develment use only"`
HostPath*HostPathVolumeSource`json:"hostPath,omitempty" description:"a HostPath provisioned by a developer or tester; for develment use only"`
// Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod
// Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod
Glusterfs*GlusterfsVolumeSource`json:"glusterfs" description:"Glusterfs volume resource provisioned by an admin"`
Glusterfs*GlusterfsVolumeSource`json:"glusterfs,omitempty" description:"Glusterfs volume resource provisioned by an admin"`
// NFS represents an NFS mount on the host
// NFS represents an NFS mount on the host
NFS*NFSVolumeSource`json:"nfs" description:"NFS volume resource provisioned by an admin"`
NFS*NFSVolumeSource`json:"nfs,omitempty" description:"NFS volume resource provisioned by an admin"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
// ISCSI represents an ISCSI Disk resource that is attached to a
// ISCSI represents an ISCSI Disk resource that is attached to a
...
@@ -163,7 +163,7 @@ type PersistentVolumeSource struct {
...
@@ -163,7 +163,7 @@ type PersistentVolumeSource struct {
typePersistentVolumeClaimVolumeSourcestruct{
typePersistentVolumeClaimVolumeSourcestruct{
// ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume
// ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume
ClaimNamestring`json:"claimName,omitempty" description:"the name of the claim in the same namespace to be mounted as a volume"`
ClaimNamestring`json:"claimName" description:"the name of the claim in the same namespace to be mounted as a volume"`
// Optional: Defaults to false (read/write). ReadOnly here
// Optional: Defaults to false (read/write). ReadOnly here
// will force the ReadOnly setting in VolumeMounts
// will force the ReadOnly setting in VolumeMounts
ReadOnlybool`json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"`
ReadOnlybool`json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"`
// VolumeSource represents the source location of a volume to mount.
// VolumeSource represents the source location of a volume to mount.
// Only one of its members may be specified.
// Only one of its members may be specified.
//
// http://docs.k8s.io/volumes.md#types-of-volumes
typeVolumeSourcestruct{
typeVolumeSourcestruct{
// HostDir represents a pre-existing directory on the host machine that is directly
// HostDir represents a pre-existing directory on the host machine that is directly
// exposed to the container. This is generally used for system agents or other privileged
// exposed to the container. This is generally used for system agents or other privileged
// things that are allowed to see the host machine. Most containers will NOT need this.
// things that are allowed to see the host machine. Most containers will NOT need this.
// TODO(jonesdl) We need to restrict who can use host directory mounts and
// TODO(jonesdl) We need to restrict who can use host directory mounts and
// who can/can not mount host directories as read/write.
// who can/can not mount host directories as read/write.
HostDir*HostPathVolumeSource`json:"hostDir" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host"`
HostDir*HostPathVolumeSource`json:"hostDir,omitempty" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host"`
// EmptyDir represents a temporary directory that shares a pod's lifetime.
// EmptyDir represents a temporary directory that shares a pod's lifetime.
EmptyDir*EmptyDirVolumeSource`json:"emptyDir" description:"temporary directory that shares a pod's lifetime"`
EmptyDir*EmptyDirVolumeSource`json:"emptyDir,omitempty" description:"temporary directory that shares a pod's lifetime"`
// A persistent disk that is mounted to the
// A persistent disk that is mounted to the
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk" description:"GCE disk resource attached to the host machine on demand"`
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk,omitempty" description:"GCE disk resource attached to the host machine on demand"`
// An AWS persistent disk that is mounted to the
// An AWS persistent disk that is mounted to the
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore" description:"AWS disk resource attached to the host machine on demand"`
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore,omitempty" description:"AWS disk resource attached to the host machine on demand"`
// GitRepo represents a git repository at a particular revision.
// GitRepo represents a git repository at a particular revision.
GitRepo*GitRepoVolumeSource`json:"gitRepo" description:"git repository at a particular revision"`
GitRepo*GitRepoVolumeSource`json:"gitRepo,omitempty" description:"git repository at a particular revision"`
// Secret is a secret to populate the volume with
// Secret is a secret to populate the volume with
Secret*SecretVolumeSource`json:"secret" description:"secret to populate volume"`
Secret*SecretVolumeSource`json:"secret,omitempty" description:"secret to populate volume"`
// NFS represents an NFS mount on the host that shares a pod's lifetime
// NFS represents an NFS mount on the host that shares a pod's lifetime
NFS*NFSVolumeSource`json:"nfs" description:"NFS volume that will be mounted in the host machine"`
NFS*NFSVolumeSource`json:"nfs,omitempty" description:"NFS volume that will be mounted in the host machine"`
// ISCSI represents an ISCSI Disk resource that is attached to a
// ISCSI represents an ISCSI Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
ISCSI*ISCSIVolumeSource`json:"iscsi" description:"iSCSI disk attached to host machine on demand"`
ISCSI*ISCSIVolumeSource`json:"iscsi,omitempty" description:"iSCSI disk attached to host machine on demand"`
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime
// Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime
Glusterfs*GlusterfsVolumeSource`json:"glusterfs" description:"Glusterfs volume that will be mounted on the host machine "`
Glusterfs*GlusterfsVolumeSource`json:"glusterfs,omitempty" description:"Glusterfs volume that will be mounted on the host machine "`
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace
PersistentVolumeClaimVolumeSource*PersistentVolumeClaimVolumeSource`json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace"`
PersistentVolumeClaimVolumeSource*PersistentVolumeClaimVolumeSource`json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
RBD*RBDVolumeSource`json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine"`
}
}
// Similar to VolumeSource but meant for the administrator who creates PVs.
// Similar to VolumeSource but meant for the administrator who creates PVs.
...
@@ -99,18 +97,18 @@ type VolumeSource struct {
...
@@ -99,18 +97,18 @@ type VolumeSource struct {
typePersistentVolumeSourcestruct{
typePersistentVolumeSourcestruct{
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk" description:"GCE disk resource provisioned by an admin"`
GCEPersistentDisk*GCEPersistentDiskVolumeSource`json:"persistentDisk,omitempty" description:"GCE disk resource provisioned by an admin"`
// AWSElasticBlockStore represents an AWS Disk resource that is attached to a
// AWSElasticBlockStore represents an AWS Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// kubelet's host machine and then exposed to the pod.
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore" description:"AWS disk resource provisioned by an admin"`
AWSElasticBlockStore*AWSElasticBlockStoreVolumeSource`json:"awsElasticBlockStore,omitempty" description:"AWS disk resource provisioned by an admin"`
// HostPath represents a directory on the host.
// HostPath represents a directory on the host.
// This is useful for development and testing only.
// This is useful for development and testing only.
// on-host storage is not supported in any way.
// on-host storage is not supported in any way.
HostPath*HostPathVolumeSource`json:"hostPath" description:"a HostPath provisioned by a developer or tester; for develment use only"`
HostPath*HostPathVolumeSource`json:"hostPath,omitempty" description:"a HostPath provisioned by a developer or tester; for develment use only"`
// Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod
// Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod
Glusterfs*GlusterfsVolumeSource`json:"glusterfs" description:"Glusterfs volume resource provisioned by an admin"`
Glusterfs*GlusterfsVolumeSource`json:"glusterfs,omitempty" description:"Glusterfs volume resource provisioned by an admin"`
// NFS represents an NFS mount on the host
// NFS represents an NFS mount on the host
NFS*NFSVolumeSource`json:"nfs" description:"NFS volume resource provisioned by an admin"`
NFS*NFSVolumeSource`json:"nfs,omitempty" description:"NFS volume resource provisioned by an admin"`
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
// RBD represents a Rados Block Device mount on the host that shares a pod's lifetime
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
RBD*RBDVolumeSource`json:"rbd" description:"rados block volume that will be mounted on the host machine"`
// ISCSI represents an ISCSI Disk resource that is attached to a
// ISCSI represents an ISCSI Disk resource that is attached to a
...
@@ -120,7 +118,7 @@ type PersistentVolumeSource struct {
...
@@ -120,7 +118,7 @@ type PersistentVolumeSource struct {
typePersistentVolumeClaimVolumeSourcestruct{
typePersistentVolumeClaimVolumeSourcestruct{
// ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume
// ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume
ClaimNamestring`json:"claimName,omitempty" description:"the name of the claim in the same namespace to be mounted as a volume"`
ClaimNamestring`json:"claimName" description:"the name of the claim in the same namespace to be mounted as a volume"`
// Optional: Defaults to false (read/write). ReadOnly here
// Optional: Defaults to false (read/write). ReadOnly here
// will force the ReadOnly setting in VolumeMounts
// will force the ReadOnly setting in VolumeMounts
ReadOnlybool`json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"`
ReadOnlybool`json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"`