UNPKG

cdk8s-plus-25

Version:

cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-25 synthesizes Kubernetes manifests for Kubernetes 1.25.0

1,753 lines (1,017 loc) 653 kB
# API Reference <a name="API Reference"></a> ## Constructs <a name="Constructs"></a> ### AbstractPod <a name="org.cdk8s.plus25.AbstractPod"></a> - *Implements:* [`org.cdk8s.plus25.IPodSelector`](#org.cdk8s.plus25.IPodSelector), [`org.cdk8s.plus25.INetworkPolicyPeer`](#org.cdk8s.plus25.INetworkPolicyPeer), [`org.cdk8s.plus25.ISubject`](#org.cdk8s.plus25.ISubject) #### Initializers <a name="org.cdk8s.plus25.AbstractPod.Initializer"></a> ```java import org.cdk8s.plus25.AbstractPod; AbstractPod.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .automountServiceAccountToken(java.lang.Boolean) // .containers(java.util.List<ContainerProps>) // .dns(PodDnsProps) // .dockerRegistryAuth(ISecret) // .hostAliases(java.util.List<HostAlias>) // .hostNetwork(java.lang.Boolean) // .initContainers(java.util.List<ContainerProps>) // .isolate(java.lang.Boolean) // .restartPolicy(RestartPolicy) // .securityContext(PodSecurityContextProps) // .serviceAccount(IServiceAccount) // .terminationGracePeriod(Duration) // .volumes(java.util.List<Volume>) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `automountServiceAccountToken`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.automountServiceAccountToken"></a> - *Type:* `java.lang.Boolean` - *Default:* false Indicates whether a service account token should be automatically mounted. > https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server --- ##### `containers`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.containers"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.ContainerProps`](#org.cdk8s.plus25.ContainerProps)> - *Default:* No containers. Note that a pod spec must include at least one container. List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. You can add additionnal containers using `podSpec.addContainer()` --- ##### `dns`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.dns"></a> - *Type:* [`org.cdk8s.plus25.PodDnsProps`](#org.cdk8s.plus25.PodDnsProps) - *Default:* policy: DnsPolicy.CLUSTER_FIRST hostnameAsFQDN: false DNS settings for the pod. > https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ --- ##### `dockerRegistryAuth`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.dockerRegistryAuth"></a> - *Type:* [`org.cdk8s.plus25.ISecret`](#org.cdk8s.plus25.ISecret) - *Default:* No auth. Images are assumed to be publicly available. A secret containing docker credentials for authenticating to a registry. --- ##### `hostAliases`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.hostAliases"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.HostAlias`](#org.cdk8s.plus25.HostAlias)> HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. --- ##### `hostNetwork`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.hostNetwork"></a> - *Type:* `java.lang.Boolean` - *Default:* false Host network for the pod. --- ##### `initContainers`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.initContainers"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.ContainerProps`](#org.cdk8s.plus25.ContainerProps)> - *Default:* No init containers. List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added ,removed or updated. > https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ --- ##### `isolate`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.isolate"></a> - *Type:* `java.lang.Boolean` - *Default:* false Isolates the pod. This will prevent any ingress or egress connections to / from this pod. You can however allow explicit connections post instantiation by using the `.connections` property. --- ##### `restartPolicy`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.restartPolicy"></a> - *Type:* [`org.cdk8s.plus25.RestartPolicy`](#org.cdk8s.plus25.RestartPolicy) - *Default:* RestartPolicy.ALWAYS Restart policy for all containers within the pod. > https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy --- ##### `securityContext`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.securityContext"></a> - *Type:* [`org.cdk8s.plus25.PodSecurityContextProps`](#org.cdk8s.plus25.PodSecurityContextProps) - *Default:* fsGroupChangePolicy: FsGroupChangePolicy.FsGroupChangePolicy.ALWAYS ensureNonRoot: true SecurityContext holds pod-level security attributes and common container settings. --- ##### `serviceAccount`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.serviceAccount"></a> - *Type:* [`org.cdk8s.plus25.IServiceAccount`](#org.cdk8s.plus25.IServiceAccount) - *Default:* No service account. A service account provides an identity for processes that run in a Pod. When you (a human) access the cluster (for example, using kubectl), you are authenticated by the apiserver as a particular User Account (currently this is usually admin, unless your cluster administrator has customized your cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, default). > https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ --- ##### `terminationGracePeriod`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.terminationGracePeriod"></a> - *Type:* [`org.cdk8s.Duration`](#org.cdk8s.Duration) - *Default:* Duration.seconds(30) Grace period until the pod is terminated. --- ##### `volumes`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPodProps.parameter.volumes"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.Volume`](#org.cdk8s.plus25.Volume)> - *Default:* No volumes. List of volumes that can be mounted by containers belonging to the pod. You can also add volumes later using `podSpec.addVolume()` > https://kubernetes.io/docs/concepts/storage/volumes --- #### Methods <a name="Methods"></a> ##### `addContainer` <a name="org.cdk8s.plus25.AbstractPod.addContainer"></a> ```java public addContainer(ContainerProps cont) ``` ###### `cont`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.cont"></a> - *Type:* [`org.cdk8s.plus25.ContainerProps`](#org.cdk8s.plus25.ContainerProps) --- ##### `addHostAlias` <a name="org.cdk8s.plus25.AbstractPod.addHostAlias"></a> ```java public addHostAlias(HostAlias hostAlias) ``` ###### `hostAlias`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.hostAlias"></a> - *Type:* [`org.cdk8s.plus25.HostAlias`](#org.cdk8s.plus25.HostAlias) --- ##### `addInitContainer` <a name="org.cdk8s.plus25.AbstractPod.addInitContainer"></a> ```java public addInitContainer(ContainerProps cont) ``` ###### `cont`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.cont"></a> - *Type:* [`org.cdk8s.plus25.ContainerProps`](#org.cdk8s.plus25.ContainerProps) --- ##### `addVolume` <a name="org.cdk8s.plus25.AbstractPod.addVolume"></a> ```java public addVolume(Volume vol) ``` ###### `vol`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.vol"></a> - *Type:* [`org.cdk8s.plus25.Volume`](#org.cdk8s.plus25.Volume) --- ##### `attachContainer` <a name="org.cdk8s.plus25.AbstractPod.attachContainer"></a> ```java public attachContainer(Container cont) ``` ###### `cont`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.parameter.cont"></a> - *Type:* [`org.cdk8s.plus25.Container`](#org.cdk8s.plus25.Container) --- ##### `toNetworkPolicyPeerConfig` <a name="org.cdk8s.plus25.AbstractPod.toNetworkPolicyPeerConfig"></a> ```java public toNetworkPolicyPeerConfig() ``` ##### `toPodSelector` <a name="org.cdk8s.plus25.AbstractPod.toPodSelector"></a> ```java public toPodSelector() ``` ##### `toPodSelectorConfig` <a name="org.cdk8s.plus25.AbstractPod.toPodSelectorConfig"></a> ```java public toPodSelectorConfig() ``` ##### `toSubjectConfiguration` <a name="org.cdk8s.plus25.AbstractPod.toSubjectConfiguration"></a> ```java public toSubjectConfiguration() ``` #### Properties <a name="Properties"></a> ##### `automountServiceAccountToken`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.automountServiceAccountToken"></a> ```java public java.lang.Boolean getAutomountServiceAccountToken(); ``` - *Type:* `java.lang.Boolean` --- ##### `containers`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.containers"></a> ```java public java.util.List<Container> getContainers(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.Container`](#org.cdk8s.plus25.Container)> --- ##### `dns`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.dns"></a> ```java public PodDns getDns(); ``` - *Type:* [`org.cdk8s.plus25.PodDns`](#org.cdk8s.plus25.PodDns) --- ##### `hostAliases`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.hostAliases"></a> ```java public java.util.List<HostAlias> getHostAliases(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.HostAlias`](#org.cdk8s.plus25.HostAlias)> --- ##### `initContainers`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.initContainers"></a> ```java public java.util.List<Container> getInitContainers(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.Container`](#org.cdk8s.plus25.Container)> --- ##### `podMetadata`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.podMetadata"></a> ```java public ApiObjectMetadataDefinition getPodMetadata(); ``` - *Type:* [`org.cdk8s.ApiObjectMetadataDefinition`](#org.cdk8s.ApiObjectMetadataDefinition) --- ##### `securityContext`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.securityContext"></a> ```java public PodSecurityContext getSecurityContext(); ``` - *Type:* [`org.cdk8s.plus25.PodSecurityContext`](#org.cdk8s.plus25.PodSecurityContext) --- ##### `volumes`<sup>Required</sup> <a name="org.cdk8s.plus25.AbstractPod.property.volumes"></a> ```java public java.util.List<Volume> getVolumes(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.Volume`](#org.cdk8s.plus25.Volume)> --- ##### `dockerRegistryAuth`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPod.property.dockerRegistryAuth"></a> ```java public ISecret getDockerRegistryAuth(); ``` - *Type:* [`org.cdk8s.plus25.ISecret`](#org.cdk8s.plus25.ISecret) --- ##### `hostNetwork`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPod.property.hostNetwork"></a> ```java public java.lang.Boolean getHostNetwork(); ``` - *Type:* `java.lang.Boolean` --- ##### `restartPolicy`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPod.property.restartPolicy"></a> ```java public RestartPolicy getRestartPolicy(); ``` - *Type:* [`org.cdk8s.plus25.RestartPolicy`](#org.cdk8s.plus25.RestartPolicy) --- ##### `serviceAccount`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPod.property.serviceAccount"></a> ```java public IServiceAccount getServiceAccount(); ``` - *Type:* [`org.cdk8s.plus25.IServiceAccount`](#org.cdk8s.plus25.IServiceAccount) --- ##### `terminationGracePeriod`<sup>Optional</sup> <a name="org.cdk8s.plus25.AbstractPod.property.terminationGracePeriod"></a> ```java public Duration getTerminationGracePeriod(); ``` - *Type:* [`org.cdk8s.Duration`](#org.cdk8s.Duration) --- ### AwsElasticBlockStorePersistentVolume <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume"></a> Represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. > https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #### Initializers <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.Initializer"></a> ```java import org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume; AwsElasticBlockStorePersistentVolume.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .accessModes(java.util.List<PersistentVolumeAccessMode>) // .claim(IPersistentVolumeClaim) // .mountOptions(java.util.List<java.lang.String>) // .reclaimPolicy(PersistentVolumeReclaimPolicy) // .storage(Size) // .storageClassName(java.lang.String) // .volumeMode(PersistentVolumeMode) .volumeId(java.lang.String) // .fsType(java.lang.String) // .partition(java.lang.Number) // .readOnly(java.lang.Boolean) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `accessModes`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.accessModes"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.PersistentVolumeAccessMode`](#org.cdk8s.plus25.PersistentVolumeAccessMode)> - *Default:* No access modes. Contains all ways the volume can be mounted. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes --- ##### `claim`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.claim"></a> - *Type:* [`org.cdk8s.plus25.IPersistentVolumeClaim`](#org.cdk8s.plus25.IPersistentVolumeClaim) - *Default:* Not bound to a specific claim. Part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding --- ##### `mountOptions`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.mountOptions"></a> - *Type:* java.util.List<`java.lang.String`> - *Default:* No options. A list of mount options, e.g. ["ro", "soft"]. Not validated - mount will simply fail if one is invalid. > https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options --- ##### `reclaimPolicy`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.reclaimPolicy"></a> - *Type:* [`org.cdk8s.plus25.PersistentVolumeReclaimPolicy`](#org.cdk8s.plus25.PersistentVolumeReclaimPolicy) - *Default:* PersistentVolumeReclaimPolicy.RETAIN When a user is done with their volume, they can delete the PVC objects from the API that allows reclamation of the resource. The reclaim policy tells the cluster what to do with the volume after it has been released of its claim. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming --- ##### `storage`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.storage"></a> - *Type:* [`org.cdk8s.Size`](#org.cdk8s.Size) - *Default:* No specified. What is the storage capacity of this volume. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources --- ##### `storageClassName`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.storageClassName"></a> - *Type:* `java.lang.String` - *Default:* Volume does not belong to any storage class. Name of StorageClass to which this persistent volume belongs. --- ##### `volumeMode`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.volumeMode"></a> - *Type:* [`org.cdk8s.plus25.PersistentVolumeMode`](#org.cdk8s.plus25.PersistentVolumeMode) - *Default:* VolumeMode.FILE_SYSTEM Defines what type of volume is required by the claim. --- ##### `volumeId`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.volumeId"></a> - *Type:* `java.lang.String` Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore > https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore --- ##### `fsType`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.fsType"></a> - *Type:* `java.lang.String` - *Default:* 'ext4' Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. > https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore --- ##### `partition`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.partition"></a> - *Type:* `java.lang.Number` - *Default:* No partition. The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). --- ##### `readOnly`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolumeProps.parameter.readOnly"></a> - *Type:* `java.lang.Boolean` - *Default:* false Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". > https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore --- #### Properties <a name="Properties"></a> ##### `fsType`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.property.fsType"></a> ```java public java.lang.String getFsType(); ``` - *Type:* `java.lang.String` File system type of this volume. --- ##### `readOnly`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.property.readOnly"></a> ```java public java.lang.Boolean getReadOnly(); ``` - *Type:* `java.lang.Boolean` Whether or not it is mounted as a read-only volume. --- ##### `volumeId`<sup>Required</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.property.volumeId"></a> ```java public java.lang.String getVolumeId(); ``` - *Type:* `java.lang.String` Volume id of this volume. --- ##### `partition`<sup>Optional</sup> <a name="org.cdk8s.plus25.AwsElasticBlockStorePersistentVolume.property.partition"></a> ```java public java.lang.Number getPartition(); ``` - *Type:* `java.lang.Number` Partition of this volume. --- ### AzureDiskPersistentVolume <a name="org.cdk8s.plus25.AzureDiskPersistentVolume"></a> AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #### Initializers <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.Initializer"></a> ```java import org.cdk8s.plus25.AzureDiskPersistentVolume; AzureDiskPersistentVolume.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .accessModes(java.util.List<PersistentVolumeAccessMode>) // .claim(IPersistentVolumeClaim) // .mountOptions(java.util.List<java.lang.String>) // .reclaimPolicy(PersistentVolumeReclaimPolicy) // .storage(Size) // .storageClassName(java.lang.String) // .volumeMode(PersistentVolumeMode) .diskName(java.lang.String) .diskUri(java.lang.String) // .cachingMode(AzureDiskPersistentVolumeCachingMode) // .fsType(java.lang.String) // .kind(AzureDiskPersistentVolumeKind) // .readOnly(java.lang.Boolean) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `accessModes`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.accessModes"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.PersistentVolumeAccessMode`](#org.cdk8s.plus25.PersistentVolumeAccessMode)> - *Default:* No access modes. Contains all ways the volume can be mounted. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes --- ##### `claim`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.claim"></a> - *Type:* [`org.cdk8s.plus25.IPersistentVolumeClaim`](#org.cdk8s.plus25.IPersistentVolumeClaim) - *Default:* Not bound to a specific claim. Part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding --- ##### `mountOptions`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.mountOptions"></a> - *Type:* java.util.List<`java.lang.String`> - *Default:* No options. A list of mount options, e.g. ["ro", "soft"]. Not validated - mount will simply fail if one is invalid. > https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options --- ##### `reclaimPolicy`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.reclaimPolicy"></a> - *Type:* [`org.cdk8s.plus25.PersistentVolumeReclaimPolicy`](#org.cdk8s.plus25.PersistentVolumeReclaimPolicy) - *Default:* PersistentVolumeReclaimPolicy.RETAIN When a user is done with their volume, they can delete the PVC objects from the API that allows reclamation of the resource. The reclaim policy tells the cluster what to do with the volume after it has been released of its claim. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming --- ##### `storage`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.storage"></a> - *Type:* [`org.cdk8s.Size`](#org.cdk8s.Size) - *Default:* No specified. What is the storage capacity of this volume. > https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources --- ##### `storageClassName`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.storageClassName"></a> - *Type:* `java.lang.String` - *Default:* Volume does not belong to any storage class. Name of StorageClass to which this persistent volume belongs. --- ##### `volumeMode`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.volumeMode"></a> - *Type:* [`org.cdk8s.plus25.PersistentVolumeMode`](#org.cdk8s.plus25.PersistentVolumeMode) - *Default:* VolumeMode.FILE_SYSTEM Defines what type of volume is required by the claim. --- ##### `diskName`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.diskName"></a> - *Type:* `java.lang.String` The Name of the data disk in the blob storage. --- ##### `diskUri`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.diskUri"></a> - *Type:* `java.lang.String` The URI the data disk in the blob storage. --- ##### `cachingMode`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.cachingMode"></a> - *Type:* [`org.cdk8s.plus25.AzureDiskPersistentVolumeCachingMode`](#org.cdk8s.plus25.AzureDiskPersistentVolumeCachingMode) - *Default:* AzureDiskPersistentVolumeCachingMode.NONE. Host Caching mode. --- ##### `fsType`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.fsType"></a> - *Type:* `java.lang.String` - *Default:* 'ext4' Filesystem type to mount. Must be a filesystem type supported by the host operating system. --- ##### `kind`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.kind"></a> - *Type:* [`org.cdk8s.plus25.AzureDiskPersistentVolumeKind`](#org.cdk8s.plus25.AzureDiskPersistentVolumeKind) - *Default:* AzureDiskPersistentVolumeKind.SHARED Kind of disk. --- ##### `readOnly`<sup>Optional</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolumeProps.parameter.readOnly"></a> - *Type:* `java.lang.Boolean` - *Default:* false Force the ReadOnly setting in VolumeMounts. --- #### Properties <a name="Properties"></a> ##### `azureKind`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.azureKind"></a> ```java public AzureDiskPersistentVolumeKind getAzureKind(); ``` - *Type:* [`org.cdk8s.plus25.AzureDiskPersistentVolumeKind`](#org.cdk8s.plus25.AzureDiskPersistentVolumeKind) Azure kind of this volume. --- ##### `cachingMode`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.cachingMode"></a> ```java public AzureDiskPersistentVolumeCachingMode getCachingMode(); ``` - *Type:* [`org.cdk8s.plus25.AzureDiskPersistentVolumeCachingMode`](#org.cdk8s.plus25.AzureDiskPersistentVolumeCachingMode) Caching mode of this volume. --- ##### `diskName`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.diskName"></a> ```java public java.lang.String getDiskName(); ``` - *Type:* `java.lang.String` Disk name of this volume. --- ##### `diskUri`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.diskUri"></a> ```java public java.lang.String getDiskUri(); ``` - *Type:* `java.lang.String` Disk URI of this volume. --- ##### `fsType`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.fsType"></a> ```java public java.lang.String getFsType(); ``` - *Type:* `java.lang.String` File system type of this volume. --- ##### `readOnly`<sup>Required</sup> <a name="org.cdk8s.plus25.AzureDiskPersistentVolume.property.readOnly"></a> ```java public java.lang.Boolean getReadOnly(); ``` - *Type:* `java.lang.Boolean` Whether or not it is mounted as a read-only volume. --- ### BasicAuthSecret <a name="org.cdk8s.plus25.BasicAuthSecret"></a> Create a secret for basic authentication. > https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret #### Initializers <a name="org.cdk8s.plus25.BasicAuthSecret.Initializer"></a> ```java import org.cdk8s.plus25.BasicAuthSecret; BasicAuthSecret.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .immutable(java.lang.Boolean) .password(java.lang.String) .username(java.lang.String) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.BasicAuthSecret.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.BasicAuthSecret.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.BasicAuthSecretProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `immutable`<sup>Optional</sup> <a name="org.cdk8s.plus25.BasicAuthSecretProps.parameter.immutable"></a> - *Type:* `java.lang.Boolean` - *Default:* false If set to true, ensures that data stored in the Secret cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. --- ##### `password`<sup>Required</sup> <a name="org.cdk8s.plus25.BasicAuthSecretProps.parameter.password"></a> - *Type:* `java.lang.String` The password or token for authentication. --- ##### `username`<sup>Required</sup> <a name="org.cdk8s.plus25.BasicAuthSecretProps.parameter.username"></a> - *Type:* `java.lang.String` The user name for authentication. --- ### ClusterRole <a name="org.cdk8s.plus25.ClusterRole"></a> - *Implements:* [`org.cdk8s.plus25.IClusterRole`](#org.cdk8s.plus25.IClusterRole), [`org.cdk8s.plus25.IRole`](#org.cdk8s.plus25.IRole) ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding. #### Initializers <a name="org.cdk8s.plus25.ClusterRole.Initializer"></a> ```java import org.cdk8s.plus25.ClusterRole; ClusterRole.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .aggregationLabels(java.util.Map<java.lang.String, java.lang.String>) // .rules(java.util.List<ClusterRolePolicyRule>) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.ClusterRoleProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `aggregationLabels`<sup>Optional</sup> <a name="org.cdk8s.plus25.ClusterRoleProps.parameter.aggregationLabels"></a> - *Type:* java.util.Map<java.lang.String, `java.lang.String`> Specify labels that should be used to locate ClusterRoles, whose rules will be automatically filled into this ClusterRole's rules. --- ##### `rules`<sup>Optional</sup> <a name="org.cdk8s.plus25.ClusterRoleProps.parameter.rules"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.ClusterRolePolicyRule`](#org.cdk8s.plus25.ClusterRolePolicyRule)> - *Default:* [] A list of rules the role should allow. --- #### Methods <a name="Methods"></a> ##### `aggregate` <a name="org.cdk8s.plus25.ClusterRole.aggregate"></a> ```java public aggregate(java.lang.String key, java.lang.String value) ``` ###### `key`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.key"></a> - *Type:* `java.lang.String` --- ###### `value`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.value"></a> - *Type:* `java.lang.String` --- ##### `allow` <a name="org.cdk8s.plus25.ClusterRole.allow"></a> ```java public allow(java.util.List<java.lang.String> verbs, IApiEndpoint endpoints) ``` ###### `verbs`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.verbs"></a> - *Type:* java.util.List<`java.lang.String`> --- ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The endpoints(s) to apply to. --- ##### `allowCreate` <a name="org.cdk8s.plus25.ClusterRole.allowCreate"></a> ```java public allowCreate(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowDelete` <a name="org.cdk8s.plus25.ClusterRole.allowDelete"></a> ```java public allowDelete(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowDeleteCollection` <a name="org.cdk8s.plus25.ClusterRole.allowDeleteCollection"></a> ```java public allowDeleteCollection(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowGet` <a name="org.cdk8s.plus25.ClusterRole.allowGet"></a> ```java public allowGet(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowList` <a name="org.cdk8s.plus25.ClusterRole.allowList"></a> ```java public allowList(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowPatch` <a name="org.cdk8s.plus25.ClusterRole.allowPatch"></a> ```java public allowPatch(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowRead` <a name="org.cdk8s.plus25.ClusterRole.allowRead"></a> ```java public allowRead(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowReadWrite` <a name="org.cdk8s.plus25.ClusterRole.allowReadWrite"></a> ```java public allowReadWrite(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowUpdate` <a name="org.cdk8s.plus25.ClusterRole.allowUpdate"></a> ```java public allowUpdate(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowWatch` <a name="org.cdk8s.plus25.ClusterRole.allowWatch"></a> ```java public allowWatch(IApiEndpoint endpoints) ``` ###### `endpoints`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.endpoints"></a> - *Type:* [`org.cdk8s.plus25.IApiEndpoint`](#org.cdk8s.plus25.IApiEndpoint) The resource(s) to apply to. --- ##### `bind` <a name="org.cdk8s.plus25.ClusterRole.bind"></a> ```java public bind(ISubject subjects) ``` ###### `subjects`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.subjects"></a> - *Type:* [`org.cdk8s.plus25.ISubject`](#org.cdk8s.plus25.ISubject) a list of subjects to bind to. --- ##### `bindInNamespace` <a name="org.cdk8s.plus25.ClusterRole.bindInNamespace"></a> ```java public bindInNamespace(java.lang.String namespace, ISubject subjects) ``` ###### `namespace`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.namespace"></a> - *Type:* `java.lang.String` the namespace to limit permissions to. --- ###### `subjects`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.subjects"></a> - *Type:* [`org.cdk8s.plus25.ISubject`](#org.cdk8s.plus25.ISubject) a list of subjects to bind to. --- ##### `combine` <a name="org.cdk8s.plus25.ClusterRole.combine"></a> ```java public combine(ClusterRole rol) ``` ###### `rol`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.rol"></a> - *Type:* [`org.cdk8s.plus25.ClusterRole`](#org.cdk8s.plus25.ClusterRole) --- #### Static Functions <a name="Static Functions"></a> ##### `fromClusterRoleName` <a name="org.cdk8s.plus25.ClusterRole.fromClusterRoleName"></a> ```java import org.cdk8s.plus25.ClusterRole; ClusterRole.fromClusterRoleName(Construct scope, java.lang.String id, java.lang.String name) ``` ###### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ###### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.id"></a> - *Type:* `java.lang.String` --- ###### `name`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.parameter.name"></a> - *Type:* `java.lang.String` --- #### Properties <a name="Properties"></a> ##### `resourceType`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.property.resourceType"></a> ```java public java.lang.String getResourceType(); ``` - *Type:* `java.lang.String` The name of a resource type as it appears in the relevant API endpoint. --- ##### `rules`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRole.property.rules"></a> ```java public java.util.List<ClusterRolePolicyRule> getRules(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.ClusterRolePolicyRule`](#org.cdk8s.plus25.ClusterRolePolicyRule)> Rules associaated with this Role. Returns a copy, use `allow` to add rules. --- ### ClusterRoleBinding <a name="org.cdk8s.plus25.ClusterRoleBinding"></a> A ClusterRoleBinding grants permissions cluster-wide to a user or set of users. #### Initializers <a name="org.cdk8s.plus25.ClusterRoleBinding.Initializer"></a> ```java import org.cdk8s.plus25.ClusterRoleBinding; ClusterRoleBinding.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) .role(IClusterRole) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.ClusterRoleBindingProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `role`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBindingProps.parameter.role"></a> - *Type:* [`org.cdk8s.plus25.IClusterRole`](#org.cdk8s.plus25.IClusterRole) The role to bind to. --- #### Methods <a name="Methods"></a> ##### `addSubjects` <a name="org.cdk8s.plus25.ClusterRoleBinding.addSubjects"></a> ```java public addSubjects(ISubject subjects) ``` ###### `subjects`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.parameter.subjects"></a> - *Type:* [`org.cdk8s.plus25.ISubject`](#org.cdk8s.plus25.ISubject) The subjects to add. --- #### Properties <a name="Properties"></a> ##### `resourceType`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.property.resourceType"></a> ```java public java.lang.String getResourceType(); ``` - *Type:* `java.lang.String` The name of a resource type as it appears in the relevant API endpoint. --- ##### `role`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.property.role"></a> ```java public IClusterRole getRole(); ``` - *Type:* [`org.cdk8s.plus25.IClusterRole`](#org.cdk8s.plus25.IClusterRole) --- ##### `subjects`<sup>Required</sup> <a name="org.cdk8s.plus25.ClusterRoleBinding.property.subjects"></a> ```java public java.util.List<ISubject> getSubjects(); ``` - *Type:* java.util.List<[`org.cdk8s.plus25.ISubject`](#org.cdk8s.plus25.ISubject)> --- ### ConfigMap <a name="org.cdk8s.plus25.ConfigMap"></a> - *Implements:* [`org.cdk8s.plus25.IConfigMap`](#org.cdk8s.plus25.IConfigMap) ConfigMap holds configuration data for pods to consume. #### Initializers <a name="org.cdk8s.plus25.ConfigMap.Initializer"></a> ```java import org.cdk8s.plus25.ConfigMap; ConfigMap.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .binaryData(java.util.Map<java.lang.String, java.lang.String>) // .data(java.util.Map<java.lang.String, java.lang.String>) // .immutable(java.lang.Boolean) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMapProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `binaryData`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMapProps.parameter.binaryData"></a> - *Type:* java.util.Map<java.lang.String, `java.lang.String`> BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. You can also add binary data using `configMap.addBinaryData()`. --- ##### `data`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMapProps.parameter.data"></a> - *Type:* java.util.Map<java.lang.String, `java.lang.String`> Data contains the configuration data. Each key must consist of alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process. You can also add data using `configMap.addData()`. --- ##### `immutable`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMapProps.parameter.immutable"></a> - *Type:* `java.lang.Boolean` - *Default:* false If set to true, ensures that data stored in the ConfigMap cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. --- #### Methods <a name="Methods"></a> ##### `addBinaryData` <a name="org.cdk8s.plus25.ConfigMap.addBinaryData"></a> ```java public addBinaryData(java.lang.String key, java.lang.String value) ``` ###### `key`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.key"></a> - *Type:* `java.lang.String` The key. --- ###### `value`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.value"></a> - *Type:* `java.lang.String` The value. --- ##### `addData` <a name="org.cdk8s.plus25.ConfigMap.addData"></a> ```java public addData(java.lang.String key, java.lang.String value) ``` ###### `key`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.key"></a> - *Type:* `java.lang.String` The key. --- ###### `value`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.value"></a> - *Type:* `java.lang.String` The value. --- ##### `addDirectory` <a name="org.cdk8s.plus25.ConfigMap.addDirectory"></a> ```java public addDirectory(java.lang.String localDir) public addDirectory(java.lang.String localDir, AddDirectoryOptions options) ``` ###### `localDir`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.localDir"></a> - *Type:* `java.lang.String` A path to a local directory. --- ###### `options`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.options"></a> - *Type:* [`org.cdk8s.plus25.AddDirectoryOptions`](#org.cdk8s.plus25.AddDirectoryOptions) Options. --- ##### `addFile` <a name="org.cdk8s.plus25.ConfigMap.addFile"></a> ```java public addFile(java.lang.String localFile) public addFile(java.lang.String localFile, java.lang.String key) ``` ###### `localFile`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.localFile"></a> - *Type:* `java.lang.String` The path to the local file. --- ###### `key`<sup>Optional</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.key"></a> - *Type:* `java.lang.String` The ConfigMap key (default to the file name). --- #### Static Functions <a name="Static Functions"></a> ##### `fromConfigMapName` <a name="org.cdk8s.plus25.ConfigMap.fromConfigMapName"></a> ```java import org.cdk8s.plus25.ConfigMap; ConfigMap.fromConfigMapName(Construct scope, java.lang.String id, java.lang.String name) ``` ###### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ###### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.id"></a> - *Type:* `java.lang.String` --- ###### `name`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.parameter.name"></a> - *Type:* `java.lang.String` --- #### Properties <a name="Properties"></a> ##### `binaryData`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.property.binaryData"></a> ```java public java.util.Map<java.lang.String, java.lang.String> getBinaryData(); ``` - *Type:* java.util.Map<java.lang.String, `java.lang.String`> The binary data associated with this config map. Returns a copy. To add data records, use `addBinaryData()` or `addData()`. --- ##### `data`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.property.data"></a> ```java public java.util.Map<java.lang.String, java.lang.String> getData(); ``` - *Type:* java.util.Map<java.lang.String, `java.lang.String`> The data associated with this config map. Returns an copy. To add data records, use `addData()` or `addBinaryData()`. --- ##### `immutable`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.property.immutable"></a> ```java public java.lang.Boolean getImmutable(); ``` - *Type:* `java.lang.Boolean` Whether or not this config map is immutable. --- ##### `resourceType`<sup>Required</sup> <a name="org.cdk8s.plus25.ConfigMap.property.resourceType"></a> ```java public java.lang.String getResourceType(); ``` - *Type:* `java.lang.String` The name of a resource type as it appears in the relevant API endpoint. --- ### CronJob <a name="org.cdk8s.plus25.CronJob"></a> A CronJob is responsible for creating a Job and scheduling it based on provided cron schedule. This helps running Jobs in a recurring manner. #### Initializers <a name="org.cdk8s.plus25.CronJob.Initializer"></a> ```java import org.cdk8s.plus25.CronJob; CronJob.Builder.create(Construct scope, java.lang.String id) // .metadata(ApiObjectMetadata) // .automountServiceAccountToken(java.lang.Boolean) // .containers(java.util.List<ContainerProps>) // .dns(PodDnsProps) // .dockerRegistryAuth(ISecret) // .hostAliases(java.util.List<HostAlias>) // .hostNetwork(java.lang.Boolean) // .initContainers(java.util.List<ContainerProps>) // .isolate(java.lang.Boolean) // .restartPolicy(RestartPolicy) // .securityContext(PodSecurityContextProps) // .serviceAccount(IServiceAccount) // .terminationGracePeriod(Duration) // .volumes(java.util.List<Volume>) // .podMetadata(ApiObjectMetadata) // .select(java.lang.Boolean) // .spread(java.lang.Boolean) // .activeDeadline(Duration) // .backoffLimit(java.lang.Number) // .ttlAfterFinished(Duration) .schedule(Cron) // .concurrencyPolicy(ConcurrencyPolicy) // .failedJobsRetained(java.lang.Number) // .startingDeadline(Duration) // .successfulJobsRetained(java.lang.Number) // .suspend(java.lang.Boolean) // .timeZone(java.lang.String) .build(); ``` ##### `scope`<sup>Required</sup> <a name="org.cdk8s.plus25.CronJob.parameter.scope"></a> - *Type:* [`software.constructs.Construct`](#software.constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="org.cdk8s.plus25.CronJob.parameter.id"></a> - *Type:* `java.lang.String` --- ##### `metadata`<sup>Optional</sup> <a name="org.cdk8s.plus25.CronJobProps.parameter.metadata"></a> - *Type:* [`org.cdk8s.ApiObjectMetadata`](#org.cdk8s.ApiObjectMetadata) Metadata that all persisted resources must have, which includes all objects users must create. --- ##### `automountServiceAccountToken`<sup>Optional</sup> <a name="org.cdk8s.plus25.CronJobProps.parameter.automountServiceAccountToken"></a> - *Type:* `java.lang.Boolean` - *Default:* false Indicates whether a service account token should be automatically mounted. > https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server --- ##### `containers`<sup>Optional</sup> <a name="org.cdk8s.plus25.CronJobProps.parameter.containers"></a> - *Type:* java.util.List<[`org.cdk8s.plus25.ContainerProps`](#org.cdk8s.plus25.ContainerProps)> - *Default:* No containers. Note that a pod spec must include at least one container. List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one containe