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

2,023 lines (1,131 loc) 496 kB
# API Reference <a name="API Reference"></a> ## Constructs <a name="Constructs"></a> ### AbstractPod <a name="cdk8s-plus-25.AbstractPod"></a> - *Implements:* [`cdk8s-plus-25.IPodSelector`](#cdk8s-plus-25.IPodSelector), [`cdk8s-plus-25.INetworkPolicyPeer`](#cdk8s-plus-25.INetworkPolicyPeer), [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject) #### Initializers <a name="cdk8s-plus-25.AbstractPod.Initializer"></a> ```typescript import { AbstractPod } from 'cdk8s-plus-25' new AbstractPod(scope: Construct, id: string, props?: AbstractPodProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.props"></a> - *Type:* [`cdk8s-plus-25.AbstractPodProps`](#cdk8s-plus-25.AbstractPodProps) --- #### Methods <a name="Methods"></a> ##### `addContainer` <a name="cdk8s-plus-25.AbstractPod.addContainer"></a> ```typescript public addContainer(cont: ContainerProps) ``` ###### `cont`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.cont"></a> - *Type:* [`cdk8s-plus-25.ContainerProps`](#cdk8s-plus-25.ContainerProps) --- ##### `addHostAlias` <a name="cdk8s-plus-25.AbstractPod.addHostAlias"></a> ```typescript public addHostAlias(hostAlias: HostAlias) ``` ###### `hostAlias`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.hostAlias"></a> - *Type:* [`cdk8s-plus-25.HostAlias`](#cdk8s-plus-25.HostAlias) --- ##### `addInitContainer` <a name="cdk8s-plus-25.AbstractPod.addInitContainer"></a> ```typescript public addInitContainer(cont: ContainerProps) ``` ###### `cont`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.cont"></a> - *Type:* [`cdk8s-plus-25.ContainerProps`](#cdk8s-plus-25.ContainerProps) --- ##### `addVolume` <a name="cdk8s-plus-25.AbstractPod.addVolume"></a> ```typescript public addVolume(vol: Volume) ``` ###### `vol`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.vol"></a> - *Type:* [`cdk8s-plus-25.Volume`](#cdk8s-plus-25.Volume) --- ##### `attachContainer` <a name="cdk8s-plus-25.AbstractPod.attachContainer"></a> ```typescript public attachContainer(cont: Container) ``` ###### `cont`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.parameter.cont"></a> - *Type:* [`cdk8s-plus-25.Container`](#cdk8s-plus-25.Container) --- ##### `toNetworkPolicyPeerConfig` <a name="cdk8s-plus-25.AbstractPod.toNetworkPolicyPeerConfig"></a> ```typescript public toNetworkPolicyPeerConfig() ``` ##### `toPodSelector` <a name="cdk8s-plus-25.AbstractPod.toPodSelector"></a> ```typescript public toPodSelector() ``` ##### `toPodSelectorConfig` <a name="cdk8s-plus-25.AbstractPod.toPodSelectorConfig"></a> ```typescript public toPodSelectorConfig() ``` ##### `toSubjectConfiguration` <a name="cdk8s-plus-25.AbstractPod.toSubjectConfiguration"></a> ```typescript public toSubjectConfiguration() ``` #### Properties <a name="Properties"></a> ##### `automountServiceAccountToken`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.automountServiceAccountToken"></a> ```typescript public readonly automountServiceAccountToken: boolean; ``` - *Type:* `boolean` --- ##### `containers`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.containers"></a> ```typescript public readonly containers: Container[]; ``` - *Type:* [`cdk8s-plus-25.Container`](#cdk8s-plus-25.Container)[] --- ##### `dns`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.dns"></a> ```typescript public readonly dns: PodDns; ``` - *Type:* [`cdk8s-plus-25.PodDns`](#cdk8s-plus-25.PodDns) --- ##### `hostAliases`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.hostAliases"></a> ```typescript public readonly hostAliases: HostAlias[]; ``` - *Type:* [`cdk8s-plus-25.HostAlias`](#cdk8s-plus-25.HostAlias)[] --- ##### `initContainers`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.initContainers"></a> ```typescript public readonly initContainers: Container[]; ``` - *Type:* [`cdk8s-plus-25.Container`](#cdk8s-plus-25.Container)[] --- ##### `podMetadata`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.podMetadata"></a> ```typescript public readonly podMetadata: ApiObjectMetadataDefinition; ``` - *Type:* [`cdk8s.ApiObjectMetadataDefinition`](#cdk8s.ApiObjectMetadataDefinition) --- ##### `securityContext`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.securityContext"></a> ```typescript public readonly securityContext: PodSecurityContext; ``` - *Type:* [`cdk8s-plus-25.PodSecurityContext`](#cdk8s-plus-25.PodSecurityContext) --- ##### `volumes`<sup>Required</sup> <a name="cdk8s-plus-25.AbstractPod.property.volumes"></a> ```typescript public readonly volumes: Volume[]; ``` - *Type:* [`cdk8s-plus-25.Volume`](#cdk8s-plus-25.Volume)[] --- ##### `dockerRegistryAuth`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.property.dockerRegistryAuth"></a> ```typescript public readonly dockerRegistryAuth: ISecret; ``` - *Type:* [`cdk8s-plus-25.ISecret`](#cdk8s-plus-25.ISecret) --- ##### `hostNetwork`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.property.hostNetwork"></a> ```typescript public readonly hostNetwork: boolean; ``` - *Type:* `boolean` --- ##### `restartPolicy`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.property.restartPolicy"></a> ```typescript public readonly restartPolicy: RestartPolicy; ``` - *Type:* [`cdk8s-plus-25.RestartPolicy`](#cdk8s-plus-25.RestartPolicy) --- ##### `serviceAccount`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.property.serviceAccount"></a> ```typescript public readonly serviceAccount: IServiceAccount; ``` - *Type:* [`cdk8s-plus-25.IServiceAccount`](#cdk8s-plus-25.IServiceAccount) --- ##### `terminationGracePeriod`<sup>Optional</sup> <a name="cdk8s-plus-25.AbstractPod.property.terminationGracePeriod"></a> ```typescript public readonly terminationGracePeriod: Duration; ``` - *Type:* [`cdk8s.Duration`](#cdk8s.Duration) --- ### AwsElasticBlockStorePersistentVolume <a name="cdk8s-plus-25.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="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.Initializer"></a> ```typescript import { AwsElasticBlockStorePersistentVolume } from 'cdk8s-plus-25' new AwsElasticBlockStorePersistentVolume(scope: Construct, id: string, props: AwsElasticBlockStorePersistentVolumeProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.parameter.props"></a> - *Type:* [`cdk8s-plus-25.AwsElasticBlockStorePersistentVolumeProps`](#cdk8s-plus-25.AwsElasticBlockStorePersistentVolumeProps) --- #### Properties <a name="Properties"></a> ##### `fsType`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.property.fsType"></a> ```typescript public readonly fsType: string; ``` - *Type:* `string` File system type of this volume. --- ##### `readOnly`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.property.readOnly"></a> ```typescript public readonly readOnly: boolean; ``` - *Type:* `boolean` Whether or not it is mounted as a read-only volume. --- ##### `volumeId`<sup>Required</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.property.volumeId"></a> ```typescript public readonly volumeId: string; ``` - *Type:* `string` Volume id of this volume. --- ##### `partition`<sup>Optional</sup> <a name="cdk8s-plus-25.AwsElasticBlockStorePersistentVolume.property.partition"></a> ```typescript public readonly partition: number; ``` - *Type:* `number` Partition of this volume. --- ### AzureDiskPersistentVolume <a name="cdk8s-plus-25.AzureDiskPersistentVolume"></a> AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #### Initializers <a name="cdk8s-plus-25.AzureDiskPersistentVolume.Initializer"></a> ```typescript import { AzureDiskPersistentVolume } from 'cdk8s-plus-25' new AzureDiskPersistentVolume(scope: Construct, id: string, props: AzureDiskPersistentVolumeProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.parameter.props"></a> - *Type:* [`cdk8s-plus-25.AzureDiskPersistentVolumeProps`](#cdk8s-plus-25.AzureDiskPersistentVolumeProps) --- #### Properties <a name="Properties"></a> ##### `azureKind`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.azureKind"></a> ```typescript public readonly azureKind: AzureDiskPersistentVolumeKind; ``` - *Type:* [`cdk8s-plus-25.AzureDiskPersistentVolumeKind`](#cdk8s-plus-25.AzureDiskPersistentVolumeKind) Azure kind of this volume. --- ##### `cachingMode`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.cachingMode"></a> ```typescript public readonly cachingMode: AzureDiskPersistentVolumeCachingMode; ``` - *Type:* [`cdk8s-plus-25.AzureDiskPersistentVolumeCachingMode`](#cdk8s-plus-25.AzureDiskPersistentVolumeCachingMode) Caching mode of this volume. --- ##### `diskName`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.diskName"></a> ```typescript public readonly diskName: string; ``` - *Type:* `string` Disk name of this volume. --- ##### `diskUri`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.diskUri"></a> ```typescript public readonly diskUri: string; ``` - *Type:* `string` Disk URI of this volume. --- ##### `fsType`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.fsType"></a> ```typescript public readonly fsType: string; ``` - *Type:* `string` File system type of this volume. --- ##### `readOnly`<sup>Required</sup> <a name="cdk8s-plus-25.AzureDiskPersistentVolume.property.readOnly"></a> ```typescript public readonly readOnly: boolean; ``` - *Type:* `boolean` Whether or not it is mounted as a read-only volume. --- ### BasicAuthSecret <a name="cdk8s-plus-25.BasicAuthSecret"></a> Create a secret for basic authentication. > https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret #### Initializers <a name="cdk8s-plus-25.BasicAuthSecret.Initializer"></a> ```typescript import { BasicAuthSecret } from 'cdk8s-plus-25' new BasicAuthSecret(scope: Construct, id: string, props: BasicAuthSecretProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.BasicAuthSecret.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.BasicAuthSecret.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.BasicAuthSecret.parameter.props"></a> - *Type:* [`cdk8s-plus-25.BasicAuthSecretProps`](#cdk8s-plus-25.BasicAuthSecretProps) --- ### ClusterRole <a name="cdk8s-plus-25.ClusterRole"></a> - *Implements:* [`cdk8s-plus-25.IClusterRole`](#cdk8s-plus-25.IClusterRole), [`cdk8s-plus-25.IRole`](#cdk8s-plus-25.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="cdk8s-plus-25.ClusterRole.Initializer"></a> ```typescript import { ClusterRole } from 'cdk8s-plus-25' new ClusterRole(scope: Construct, id: string, props?: ClusterRoleProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.props"></a> - *Type:* [`cdk8s-plus-25.ClusterRoleProps`](#cdk8s-plus-25.ClusterRoleProps) --- #### Methods <a name="Methods"></a> ##### `aggregate` <a name="cdk8s-plus-25.ClusterRole.aggregate"></a> ```typescript public aggregate(key: string, value: string) ``` ###### `key`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.key"></a> - *Type:* `string` --- ###### `value`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.value"></a> - *Type:* `string` --- ##### `allow` <a name="cdk8s-plus-25.ClusterRole.allow"></a> ```typescript public allow(verbs: string[], endpoints: IApiEndpoint) ``` ###### `verbs`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.verbs"></a> - *Type:* `string`[] --- ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The endpoints(s) to apply to. --- ##### `allowCreate` <a name="cdk8s-plus-25.ClusterRole.allowCreate"></a> ```typescript public allowCreate(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowDelete` <a name="cdk8s-plus-25.ClusterRole.allowDelete"></a> ```typescript public allowDelete(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowDeleteCollection` <a name="cdk8s-plus-25.ClusterRole.allowDeleteCollection"></a> ```typescript public allowDeleteCollection(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowGet` <a name="cdk8s-plus-25.ClusterRole.allowGet"></a> ```typescript public allowGet(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowList` <a name="cdk8s-plus-25.ClusterRole.allowList"></a> ```typescript public allowList(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowPatch` <a name="cdk8s-plus-25.ClusterRole.allowPatch"></a> ```typescript public allowPatch(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowRead` <a name="cdk8s-plus-25.ClusterRole.allowRead"></a> ```typescript public allowRead(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowReadWrite` <a name="cdk8s-plus-25.ClusterRole.allowReadWrite"></a> ```typescript public allowReadWrite(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowUpdate` <a name="cdk8s-plus-25.ClusterRole.allowUpdate"></a> ```typescript public allowUpdate(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `allowWatch` <a name="cdk8s-plus-25.ClusterRole.allowWatch"></a> ```typescript public allowWatch(endpoints: IApiEndpoint) ``` ###### `endpoints`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.endpoints"></a> - *Type:* [`cdk8s-plus-25.IApiEndpoint`](#cdk8s-plus-25.IApiEndpoint) The resource(s) to apply to. --- ##### `bind` <a name="cdk8s-plus-25.ClusterRole.bind"></a> ```typescript public bind(subjects: ISubject) ``` ###### `subjects`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.subjects"></a> - *Type:* [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject) a list of subjects to bind to. --- ##### `bindInNamespace` <a name="cdk8s-plus-25.ClusterRole.bindInNamespace"></a> ```typescript public bindInNamespace(namespace: string, subjects: ISubject) ``` ###### `namespace`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.namespace"></a> - *Type:* `string` the namespace to limit permissions to. --- ###### `subjects`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.subjects"></a> - *Type:* [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject) a list of subjects to bind to. --- ##### `combine` <a name="cdk8s-plus-25.ClusterRole.combine"></a> ```typescript public combine(rol: ClusterRole) ``` ###### `rol`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.rol"></a> - *Type:* [`cdk8s-plus-25.ClusterRole`](#cdk8s-plus-25.ClusterRole) --- #### Static Functions <a name="Static Functions"></a> ##### `fromClusterRoleName` <a name="cdk8s-plus-25.ClusterRole.fromClusterRoleName"></a> ```typescript import { ClusterRole } from 'cdk8s-plus-25' ClusterRole.fromClusterRoleName(scope: Construct, id: string, name: string) ``` ###### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ###### `id`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.id"></a> - *Type:* `string` --- ###### `name`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.parameter.name"></a> - *Type:* `string` --- #### Properties <a name="Properties"></a> ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ##### `rules`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRole.property.rules"></a> ```typescript public readonly rules: ClusterRolePolicyRule[]; ``` - *Type:* [`cdk8s-plus-25.ClusterRolePolicyRule`](#cdk8s-plus-25.ClusterRolePolicyRule)[] Rules associaated with this Role. Returns a copy, use `allow` to add rules. --- ### ClusterRoleBinding <a name="cdk8s-plus-25.ClusterRoleBinding"></a> A ClusterRoleBinding grants permissions cluster-wide to a user or set of users. #### Initializers <a name="cdk8s-plus-25.ClusterRoleBinding.Initializer"></a> ```typescript import { ClusterRoleBinding } from 'cdk8s-plus-25' new ClusterRoleBinding(scope: Construct, id: string, props: ClusterRoleBindingProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.parameter.props"></a> - *Type:* [`cdk8s-plus-25.ClusterRoleBindingProps`](#cdk8s-plus-25.ClusterRoleBindingProps) --- #### Methods <a name="Methods"></a> ##### `addSubjects` <a name="cdk8s-plus-25.ClusterRoleBinding.addSubjects"></a> ```typescript public addSubjects(subjects: ISubject) ``` ###### `subjects`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.parameter.subjects"></a> - *Type:* [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject) The subjects to add. --- #### Properties <a name="Properties"></a> ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ##### `role`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.property.role"></a> ```typescript public readonly role: IClusterRole; ``` - *Type:* [`cdk8s-plus-25.IClusterRole`](#cdk8s-plus-25.IClusterRole) --- ##### `subjects`<sup>Required</sup> <a name="cdk8s-plus-25.ClusterRoleBinding.property.subjects"></a> ```typescript public readonly subjects: ISubject[]; ``` - *Type:* [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject)[] --- ### ConfigMap <a name="cdk8s-plus-25.ConfigMap"></a> - *Implements:* [`cdk8s-plus-25.IConfigMap`](#cdk8s-plus-25.IConfigMap) ConfigMap holds configuration data for pods to consume. #### Initializers <a name="cdk8s-plus-25.ConfigMap.Initializer"></a> ```typescript import { ConfigMap } from 'cdk8s-plus-25' new ConfigMap(scope: Construct, id: string, props?: ConfigMapProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.props"></a> - *Type:* [`cdk8s-plus-25.ConfigMapProps`](#cdk8s-plus-25.ConfigMapProps) --- #### Methods <a name="Methods"></a> ##### `addBinaryData` <a name="cdk8s-plus-25.ConfigMap.addBinaryData"></a> ```typescript public addBinaryData(key: string, value: string) ``` ###### `key`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.key"></a> - *Type:* `string` The key. --- ###### `value`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.value"></a> - *Type:* `string` The value. --- ##### `addData` <a name="cdk8s-plus-25.ConfigMap.addData"></a> ```typescript public addData(key: string, value: string) ``` ###### `key`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.key"></a> - *Type:* `string` The key. --- ###### `value`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.value"></a> - *Type:* `string` The value. --- ##### `addDirectory` <a name="cdk8s-plus-25.ConfigMap.addDirectory"></a> ```typescript public addDirectory(localDir: string, options?: AddDirectoryOptions) ``` ###### `localDir`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.localDir"></a> - *Type:* `string` A path to a local directory. --- ###### `options`<sup>Optional</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.options"></a> - *Type:* [`cdk8s-plus-25.AddDirectoryOptions`](#cdk8s-plus-25.AddDirectoryOptions) Options. --- ##### `addFile` <a name="cdk8s-plus-25.ConfigMap.addFile"></a> ```typescript public addFile(localFile: string, key?: string) ``` ###### `localFile`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.localFile"></a> - *Type:* `string` The path to the local file. --- ###### `key`<sup>Optional</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.key"></a> - *Type:* `string` The ConfigMap key (default to the file name). --- #### Static Functions <a name="Static Functions"></a> ##### `fromConfigMapName` <a name="cdk8s-plus-25.ConfigMap.fromConfigMapName"></a> ```typescript import { ConfigMap } from 'cdk8s-plus-25' ConfigMap.fromConfigMapName(scope: Construct, id: string, name: string) ``` ###### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ###### `id`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.id"></a> - *Type:* `string` --- ###### `name`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.parameter.name"></a> - *Type:* `string` --- #### Properties <a name="Properties"></a> ##### `binaryData`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.property.binaryData"></a> ```typescript public readonly binaryData: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: `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="cdk8s-plus-25.ConfigMap.property.data"></a> ```typescript public readonly data: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: `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="cdk8s-plus-25.ConfigMap.property.immutable"></a> ```typescript public readonly immutable: boolean; ``` - *Type:* `boolean` Whether or not this config map is immutable. --- ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.ConfigMap.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ### CronJob <a name="cdk8s-plus-25.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="cdk8s-plus-25.CronJob.Initializer"></a> ```typescript import { CronJob } from 'cdk8s-plus-25' new CronJob(scope: Construct, id: string, props: CronJobProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.parameter.props"></a> - *Type:* [`cdk8s-plus-25.CronJobProps`](#cdk8s-plus-25.CronJobProps) --- #### Properties <a name="Properties"></a> ##### `concurrencyPolicy`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.concurrencyPolicy"></a> ```typescript public readonly concurrencyPolicy: string; ``` - *Type:* `string` The policy used by this cron job to determine the concurrency mode in which to schedule jobs. --- ##### `failedJobsRetained`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.failedJobsRetained"></a> ```typescript public readonly failedJobsRetained: number; ``` - *Type:* `number` The number of failed jobs retained by this cron job. --- ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` Represents the resource type. --- ##### `schedule`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.schedule"></a> ```typescript public readonly schedule: Cron; ``` - *Type:* [`cdk8s.Cron`](#cdk8s.Cron) The schedule this cron job is scheduled to run in. --- ##### `startingDeadline`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.startingDeadline"></a> ```typescript public readonly startingDeadline: Duration; ``` - *Type:* [`cdk8s.Duration`](#cdk8s.Duration) The time by which the running cron job needs to schedule the next job execution. The job is considered as failed if it misses this deadline. --- ##### `successfulJobsRetained`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.successfulJobsRetained"></a> ```typescript public readonly successfulJobsRetained: number; ``` - *Type:* `number` The number of successful jobs retained by this cron job. --- ##### `suspend`<sup>Required</sup> <a name="cdk8s-plus-25.CronJob.property.suspend"></a> ```typescript public readonly suspend: boolean; ``` - *Type:* `boolean` Whether or not the cron job is currently suspended or not. --- ##### `timeZone`<sup>Optional</sup> <a name="cdk8s-plus-25.CronJob.property.timeZone"></a> ```typescript public readonly timeZone: string; ``` - *Type:* `string` The timezone which this cron job would follow to schedule jobs. --- ### DaemonSet <a name="cdk8s-plus-25.DaemonSet"></a> A DaemonSet ensures that all (or some) Nodes run a copy of a Pod. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage collected. Deleting a DaemonSet will clean up the Pods it created. Some typical uses of a DaemonSet are: - running a cluster storage daemon on every node - running a logs collection daemon on every node - running a node monitoring daemon on every node In a simple case, one DaemonSet, covering all nodes, would be used for each type of daemon. A more complex setup might use multiple DaemonSets for a single type of daemon, but with different flags and/or different memory and cpu requests for different hardware types. #### Initializers <a name="cdk8s-plus-25.DaemonSet.Initializer"></a> ```typescript import { DaemonSet } from 'cdk8s-plus-25' new DaemonSet(scope: Construct, id: string, props?: DaemonSetProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.DaemonSet.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.DaemonSet.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.DaemonSet.parameter.props"></a> - *Type:* [`cdk8s-plus-25.DaemonSetProps`](#cdk8s-plus-25.DaemonSetProps) --- #### Properties <a name="Properties"></a> ##### `minReadySeconds`<sup>Required</sup> <a name="cdk8s-plus-25.DaemonSet.property.minReadySeconds"></a> ```typescript public readonly minReadySeconds: number; ``` - *Type:* `number` --- ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.DaemonSet.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ### Deployment <a name="cdk8s-plus-25.Deployment"></a> - *Implements:* [`cdk8s-plus-25.IScalable`](#cdk8s-plus-25.IScalable) A Deployment provides declarative updates for Pods and ReplicaSets. You describe a desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state at a controlled rate. You can define Deployments to create new ReplicaSets, or to remove existing Deployments and adopt all their resources with new Deployments. > Note: Do not manage ReplicaSets owned by a Deployment. Consider opening an issue in the main Kubernetes repository if your use case is not covered below. Use Case The following are typical use cases for Deployments: - Create a Deployment to rollout a ReplicaSet. The ReplicaSet creates Pods in the background. Check the status of the rollout to see if it succeeds or not. - Declare the new state of the Pods by updating the PodTemplateSpec of the Deployment. A new ReplicaSet is created and the Deployment manages moving the Pods from the old ReplicaSet to the new one at a controlled rate. Each new ReplicaSet updates the revision of the Deployment. - Rollback to an earlier Deployment revision if the current state of the Deployment is not stable. Each rollback updates the revision of the Deployment. - Scale up the Deployment to facilitate more load. - Pause the Deployment to apply multiple fixes to its PodTemplateSpec and then resume it to start a new rollout. - Use the status of the Deployment as an indicator that a rollout has stuck. - Clean up older ReplicaSets that you don't need anymore. #### Initializers <a name="cdk8s-plus-25.Deployment.Initializer"></a> ```typescript import { Deployment } from 'cdk8s-plus-25' new Deployment(scope: Construct, id: string, props?: DeploymentProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.Deployment.parameter.props"></a> - *Type:* [`cdk8s-plus-25.DeploymentProps`](#cdk8s-plus-25.DeploymentProps) --- #### Methods <a name="Methods"></a> ##### `exposeViaIngress` <a name="cdk8s-plus-25.Deployment.exposeViaIngress"></a> ```typescript public exposeViaIngress(path: string, options?: ExposeDeploymentViaIngressOptions) ``` ###### `path`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.parameter.path"></a> - *Type:* `string` The ingress path to register under. --- ###### `options`<sup>Optional</sup> <a name="cdk8s-plus-25.Deployment.parameter.options"></a> - *Type:* [`cdk8s-plus-25.ExposeDeploymentViaIngressOptions`](#cdk8s-plus-25.ExposeDeploymentViaIngressOptions) Additional options. --- ##### `exposeViaService` <a name="cdk8s-plus-25.Deployment.exposeViaService"></a> ```typescript public exposeViaService(options?: DeploymentExposeViaServiceOptions) ``` ###### `options`<sup>Optional</sup> <a name="cdk8s-plus-25.Deployment.parameter.options"></a> - *Type:* [`cdk8s-plus-25.DeploymentExposeViaServiceOptions`](#cdk8s-plus-25.DeploymentExposeViaServiceOptions) Options to determine details of the service and port exposed. --- ##### `markHasAutoscaler` <a name="cdk8s-plus-25.Deployment.markHasAutoscaler"></a> ```typescript public markHasAutoscaler() ``` ##### `toScalingTarget` <a name="cdk8s-plus-25.Deployment.toScalingTarget"></a> ```typescript public toScalingTarget() ``` #### Properties <a name="Properties"></a> ##### `minReady`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.property.minReady"></a> ```typescript public readonly minReady: Duration; ``` - *Type:* [`cdk8s.Duration`](#cdk8s.Duration) Minimum duration for which a newly created pod should be ready without any of its container crashing, for it to be considered available. --- ##### `progressDeadline`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.property.progressDeadline"></a> ```typescript public readonly progressDeadline: Duration; ``` - *Type:* [`cdk8s.Duration`](#cdk8s.Duration) The maximum duration for a deployment to make progress before it is considered to be failed. --- ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ##### `strategy`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.property.strategy"></a> ```typescript public readonly strategy: DeploymentStrategy; ``` - *Type:* [`cdk8s-plus-25.DeploymentStrategy`](#cdk8s-plus-25.DeploymentStrategy) --- ##### `replicas`<sup>Optional</sup> <a name="cdk8s-plus-25.Deployment.property.replicas"></a> ```typescript public readonly replicas: number; ``` - *Type:* `number` Number of desired pods. --- ##### `hasAutoscaler`<sup>Required</sup> <a name="cdk8s-plus-25.Deployment.property.hasAutoscaler"></a> ```typescript public readonly hasAutoscaler: boolean; ``` - *Type:* `boolean` If this is a target of an autoscaler. --- ### DockerConfigSecret <a name="cdk8s-plus-25.DockerConfigSecret"></a> Create a secret for storing credentials for accessing a container image registry. > https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets #### Initializers <a name="cdk8s-plus-25.DockerConfigSecret.Initializer"></a> ```typescript import { DockerConfigSecret } from 'cdk8s-plus-25' new DockerConfigSecret(scope: Construct, id: string, props: DockerConfigSecretProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.DockerConfigSecret.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.DockerConfigSecret.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.DockerConfigSecret.parameter.props"></a> - *Type:* [`cdk8s-plus-25.DockerConfigSecretProps`](#cdk8s-plus-25.DockerConfigSecretProps) --- ### GCEPersistentDiskPersistentVolume <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume"></a> GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. > https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #### Initializers <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.Initializer"></a> ```typescript import { GCEPersistentDiskPersistentVolume } from 'cdk8s-plus-25' new GCEPersistentDiskPersistentVolume(scope: Construct, id: string, props: GCEPersistentDiskPersistentVolumeProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.parameter.props"></a> - *Type:* [`cdk8s-plus-25.GCEPersistentDiskPersistentVolumeProps`](#cdk8s-plus-25.GCEPersistentDiskPersistentVolumeProps) --- #### Properties <a name="Properties"></a> ##### `fsType`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.property.fsType"></a> ```typescript public readonly fsType: string; ``` - *Type:* `string` File system type of this volume. --- ##### `pdName`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.property.pdName"></a> ```typescript public readonly pdName: string; ``` - *Type:* `string` PD resource in GCE of this volume. --- ##### `readOnly`<sup>Required</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.property.readOnly"></a> ```typescript public readonly readOnly: boolean; ``` - *Type:* `boolean` Whether or not it is mounted as a read-only volume. --- ##### `partition`<sup>Optional</sup> <a name="cdk8s-plus-25.GCEPersistentDiskPersistentVolume.property.partition"></a> ```typescript public readonly partition: number; ``` - *Type:* `number` Partition of this volume. --- ### Group <a name="cdk8s-plus-25.Group"></a> - *Implements:* [`cdk8s-plus-25.ISubject`](#cdk8s-plus-25.ISubject) Represents a group. #### Methods <a name="Methods"></a> ##### `toSubjectConfiguration` <a name="cdk8s-plus-25.Group.toSubjectConfiguration"></a> ```typescript public toSubjectConfiguration() ``` #### Static Functions <a name="Static Functions"></a> ##### `fromName` <a name="cdk8s-plus-25.Group.fromName"></a> ```typescript import { Group } from 'cdk8s-plus-25' Group.fromName(scope: Construct, id: string, name: string) ``` ###### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.Group.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ###### `id`<sup>Required</sup> <a name="cdk8s-plus-25.Group.parameter.id"></a> - *Type:* `string` --- ###### `name`<sup>Required</sup> <a name="cdk8s-plus-25.Group.parameter.name"></a> - *Type:* `string` --- #### Properties <a name="Properties"></a> ##### `kind`<sup>Required</sup> <a name="cdk8s-plus-25.Group.property.kind"></a> ```typescript public readonly kind: string; ``` - *Type:* `string` --- ##### `name`<sup>Required</sup> <a name="cdk8s-plus-25.Group.property.name"></a> ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `apiGroup`<sup>Optional</sup> <a name="cdk8s-plus-25.Group.property.apiGroup"></a> ```typescript public readonly apiGroup: string; ``` - *Type:* `string` --- ### HorizontalPodAutoscaler <a name="cdk8s-plus-25.HorizontalPodAutoscaler"></a> A HorizontalPodAutoscaler scales a workload up or down in response to a metric change. This allows your services to scale up when demand is high and scale down when they are no longer needed. Typical use cases for HorizontalPodAutoscaler: * When Memory usage is above 70%, scale up the number of replicas to meet the demand. * When CPU usage is below 30%, scale down the number of replicas to save resources. * When a service is experiencing a spike in traffic, scale up the number of replicas to meet the demand. Then, when the traffic subsides, scale down the number of replicas to save resources. The autoscaler uses the following algorithm to determine the number of replicas to scale: `desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]` HorizontalPodAutoscaler's can be used to with any `Scalable` workload: * Deployment * StatefulSet **Targets that already have a replica count defined:** Remove any replica counts from the target resource before associating with a HorizontalPodAutoscaler. If this isn't done, then any time a change to that object is applied, Kubernetes will scale the current number of Pods to the value of the target.replicas key. This may not be desired and could lead to unexpected behavior. > https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#implicit-maintenance-mode-deactivation #### Initializers <a name="cdk8s-plus-25.HorizontalPodAutoscaler.Initializer"></a> ```typescript import { HorizontalPodAutoscaler } from 'cdk8s-plus-25' new HorizontalPodAutoscaler(scope: Construct, id: string, props: HorizontalPodAutoscalerProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.parameter.props"></a> - *Type:* [`cdk8s-plus-25.HorizontalPodAutoscalerProps`](#cdk8s-plus-25.HorizontalPodAutoscalerProps) --- #### Properties <a name="Properties"></a> ##### `maxReplicas`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.maxReplicas"></a> ```typescript public readonly maxReplicas: number; ``` - *Type:* `number` The maximum number of replicas that can be scaled up to. --- ##### `minReplicas`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.minReplicas"></a> ```typescript public readonly minReplicas: number; ``` - *Type:* `number` The minimum number of replicas that can be scaled down to. --- ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ##### `scaleDown`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.scaleDown"></a> ```typescript public readonly scaleDown: ScalingRules; ``` - *Type:* [`cdk8s-plus-25.ScalingRules`](#cdk8s-plus-25.ScalingRules) The scaling behavior when scaling down. --- ##### `scaleUp`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.scaleUp"></a> ```typescript public readonly scaleUp: ScalingRules; ``` - *Type:* [`cdk8s-plus-25.ScalingRules`](#cdk8s-plus-25.ScalingRules) The scaling behavior when scaling up. --- ##### `target`<sup>Required</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.target"></a> ```typescript public readonly target: IScalable; ``` - *Type:* [`cdk8s-plus-25.IScalable`](#cdk8s-plus-25.IScalable) The workload to scale up or down. --- ##### `metrics`<sup>Optional</sup> <a name="cdk8s-plus-25.HorizontalPodAutoscaler.property.metrics"></a> ```typescript public readonly metrics: Metric[]; ``` - *Type:* [`cdk8s-plus-25.Metric`](#cdk8s-plus-25.Metric)[] The metric conditions that trigger a scale up or scale down. --- ### Ingress <a name="cdk8s-plus-25.Ingress"></a> Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. #### Initializers <a name="cdk8s-plus-25.Ingress.Initializer"></a> ```typescript import { Ingress } from 'cdk8s-plus-25' new Ingress(scope: Construct, id: string, props?: IngressProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.id"></a> - *Type:* `string` --- ##### `props`<sup>Optional</sup> <a name="cdk8s-plus-25.Ingress.parameter.props"></a> - *Type:* [`cdk8s-plus-25.IngressProps`](#cdk8s-plus-25.IngressProps) --- #### Methods <a name="Methods"></a> ##### `addDefaultBackend` <a name="cdk8s-plus-25.Ingress.addDefaultBackend"></a> ```typescript public addDefaultBackend(backend: IngressBackend) ``` ###### `backend`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.backend"></a> - *Type:* [`cdk8s-plus-25.IngressBackend`](#cdk8s-plus-25.IngressBackend) The backend to use for requests that do not match any rule. --- ##### `addHostDefaultBackend` <a name="cdk8s-plus-25.Ingress.addHostDefaultBackend"></a> ```typescript public addHostDefaultBackend(host: string, backend: IngressBackend) ``` ###### `host`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.host"></a> - *Type:* `string` The host name to match. --- ###### `backend`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.backend"></a> - *Type:* [`cdk8s-plus-25.IngressBackend`](#cdk8s-plus-25.IngressBackend) The backend to route to. --- ##### `addHostRule` <a name="cdk8s-plus-25.Ingress.addHostRule"></a> ```typescript public addHostRule(host: string, path: string, backend: IngressBackend, pathType?: HttpIngressPathType) ``` ###### `host`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.host"></a> - *Type:* `string` The host name. --- ###### `path`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.path"></a> - *Type:* `string` The HTTP path. --- ###### `backend`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.backend"></a> - *Type:* [`cdk8s-plus-25.IngressBackend`](#cdk8s-plus-25.IngressBackend) The backend to route requests to. --- ###### `pathType`<sup>Optional</sup> <a name="cdk8s-plus-25.Ingress.parameter.pathType"></a> - *Type:* [`cdk8s-plus-25.HttpIngressPathType`](#cdk8s-plus-25.HttpIngressPathType) How the path is matched against request paths. --- ##### `addRule` <a name="cdk8s-plus-25.Ingress.addRule"></a> ```typescript public addRule(path: string, backend: IngressBackend, pathType?: HttpIngressPathType) ``` ###### `path`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.path"></a> - *Type:* `string` The HTTP path. --- ###### `backend`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.backend"></a> - *Type:* [`cdk8s-plus-25.IngressBackend`](#cdk8s-plus-25.IngressBackend) The backend to route requests to. --- ###### `pathType`<sup>Optional</sup> <a name="cdk8s-plus-25.Ingress.parameter.pathType"></a> - *Type:* [`cdk8s-plus-25.HttpIngressPathType`](#cdk8s-plus-25.HttpIngressPathType) How the path is matched against request paths. --- ##### `addRules` <a name="cdk8s-plus-25.Ingress.addRules"></a> ```typescript public addRules(rules: IngressRule) ``` ###### `rules`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.rules"></a> - *Type:* [`cdk8s-plus-25.IngressRule`](#cdk8s-plus-25.IngressRule) The rules to add. --- ##### `addTls` <a name="cdk8s-plus-25.Ingress.addTls"></a> ```typescript public addTls(tls: IngressTls[]) ``` ###### `tls`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.parameter.tls"></a> - *Type:* [`cdk8s-plus-25.IngressTls`](#cdk8s-plus-25.IngressTls)[] --- #### Properties <a name="Properties"></a> ##### `resourceType`<sup>Required</sup> <a name="cdk8s-plus-25.Ingress.property.resourceType"></a> ```typescript public readonly resourceType: string; ``` - *Type:* `string` The name of a resource type as it appears in the relevant API endpoint. --- ### Job <a name="cdk8s-plus-25.Job"></a> A Job creates one or more Pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete. Deleting a Job will clean up the Pods it created. A simple case is to create one Job object in order to reliably run one Pod to completion. The Job object will start a new Pod if the first Pod fails or is deleted (for example due to a node hardware failure or a node reboot). You can also use a Job to run multiple Pods in parallel. #### Initializers <a name="cdk8s-plus-25.Job.Initializer"></a> ```typescript import { Job } from 'cdk8s-plus-25' new Job(scope: Construct, id: string, props?: JobProps) ``` ##### `scope`<sup>Required</sup> <a name="cdk8s-plus-25.Job.parameter.scope"></a> - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`<sup>Required</sup> <a name="cdk8s-plus-25.Job.par