@cdktf/provider-kubernetes
Version:
Prebuilt kubernetes Provider for Terraform CDK (cdktf)
903 lines • 55.1 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface PodSecurityPolicyConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#id PodSecurityPolicy#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* metadata block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#metadata PodSecurityPolicy#metadata}
*/
readonly metadata: PodSecurityPolicyMetadata;
/**
* spec block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#spec PodSecurityPolicy#spec}
*/
readonly spec: PodSecurityPolicySpec;
}
export interface PodSecurityPolicyMetadata {
/**
* An unstructured key value map stored with the podsecuritypolicy that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#annotations PodSecurityPolicy#annotations}
*/
readonly annotations?: {
[key: string]: string;
};
/**
* Map of string keys and values that can be used to organize and categorize (scope and select) the podsecuritypolicy. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#labels PodSecurityPolicy#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Name of the podsecuritypolicy, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#name PodSecurityPolicy#name}
*/
readonly name?: string;
}
export declare function podSecurityPolicyMetadataToTerraform(struct?: PodSecurityPolicyMetadataOutputReference | PodSecurityPolicyMetadata): any;
export declare function podSecurityPolicyMetadataToHclTerraform(struct?: PodSecurityPolicyMetadataOutputReference | PodSecurityPolicyMetadata): any;
export declare class PodSecurityPolicyMetadataOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicyMetadata | undefined;
set internalValue(value: PodSecurityPolicyMetadata | undefined);
private _annotations?;
get annotations(): {
[key: string]: string;
};
set annotations(value: {
[key: string]: string;
});
resetAnnotations(): void;
get annotationsInput(): {
[key: string]: string;
} | undefined;
get generation(): number;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _name?;
get name(): string;
set name(value: string);
resetName(): void;
get nameInput(): string | undefined;
get resourceVersion(): string;
get uid(): string;
}
export interface PodSecurityPolicySpecAllowedFlexVolumes {
/**
* driver is the name of the Flexvolume driver.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#driver PodSecurityPolicy#driver}
*/
readonly driver: string;
}
export declare function podSecurityPolicySpecAllowedFlexVolumesToTerraform(struct?: PodSecurityPolicySpecAllowedFlexVolumes | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecAllowedFlexVolumesToHclTerraform(struct?: PodSecurityPolicySpecAllowedFlexVolumes | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecAllowedFlexVolumesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecAllowedFlexVolumes | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecAllowedFlexVolumes | cdktf.IResolvable | undefined);
private _driver?;
get driver(): string;
set driver(value: string);
get driverInput(): string | undefined;
}
export declare class PodSecurityPolicySpecAllowedFlexVolumesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecAllowedFlexVolumes[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecAllowedFlexVolumesOutputReference;
}
export interface PodSecurityPolicySpecAllowedHostPaths {
/**
* pathPrefix is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.
*
* Examples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#path_prefix PodSecurityPolicy#path_prefix}
*/
readonly pathPrefix: string;
/**
* when set to true, will allow host volumes matching the pathPrefix only if all volume mounts are readOnly.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#read_only PodSecurityPolicy#read_only}
*/
readonly readOnly?: boolean | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecAllowedHostPathsToTerraform(struct?: PodSecurityPolicySpecAllowedHostPaths | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecAllowedHostPathsToHclTerraform(struct?: PodSecurityPolicySpecAllowedHostPaths | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecAllowedHostPathsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecAllowedHostPaths | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecAllowedHostPaths | cdktf.IResolvable | undefined);
private _pathPrefix?;
get pathPrefix(): string;
set pathPrefix(value: string);
get pathPrefixInput(): string | undefined;
private _readOnly?;
get readOnly(): boolean | cdktf.IResolvable;
set readOnly(value: boolean | cdktf.IResolvable);
resetReadOnly(): void;
get readOnlyInput(): boolean | cdktf.IResolvable | undefined;
}
export declare class PodSecurityPolicySpecAllowedHostPathsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecAllowedHostPaths[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecAllowedHostPathsOutputReference;
}
export interface PodSecurityPolicySpecFsGroupRange {
/**
* max is the end of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#max PodSecurityPolicy#max}
*/
readonly max: number;
/**
* min is the start of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#min PodSecurityPolicy#min}
*/
readonly min: number;
}
export declare function podSecurityPolicySpecFsGroupRangeToTerraform(struct?: PodSecurityPolicySpecFsGroupRange | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecFsGroupRangeToHclTerraform(struct?: PodSecurityPolicySpecFsGroupRange | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecFsGroupRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecFsGroupRange | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecFsGroupRange | cdktf.IResolvable | undefined);
private _max?;
get max(): number;
set max(value: number);
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
get minInput(): number | undefined;
}
export declare class PodSecurityPolicySpecFsGroupRangeList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecFsGroupRange[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecFsGroupRangeOutputReference;
}
export interface PodSecurityPolicySpecFsGroup {
/**
* rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#rule PodSecurityPolicy#rule}
*/
readonly rule: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#range PodSecurityPolicy#range}
*/
readonly range?: PodSecurityPolicySpecFsGroupRange[] | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecFsGroupToTerraform(struct?: PodSecurityPolicySpecFsGroupOutputReference | PodSecurityPolicySpecFsGroup): any;
export declare function podSecurityPolicySpecFsGroupToHclTerraform(struct?: PodSecurityPolicySpecFsGroupOutputReference | PodSecurityPolicySpecFsGroup): any;
export declare class PodSecurityPolicySpecFsGroupOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpecFsGroup | undefined;
set internalValue(value: PodSecurityPolicySpecFsGroup | undefined);
private _rule?;
get rule(): string;
set rule(value: string);
get ruleInput(): string | undefined;
private _range;
get range(): PodSecurityPolicySpecFsGroupRangeList;
putRange(value: PodSecurityPolicySpecFsGroupRange[] | cdktf.IResolvable): void;
resetRange(): void;
get rangeInput(): cdktf.IResolvable | PodSecurityPolicySpecFsGroupRange[] | undefined;
}
export interface PodSecurityPolicySpecHostPorts {
/**
* max is the end of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#max PodSecurityPolicy#max}
*/
readonly max: number;
/**
* min is the start of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#min PodSecurityPolicy#min}
*/
readonly min: number;
}
export declare function podSecurityPolicySpecHostPortsToTerraform(struct?: PodSecurityPolicySpecHostPorts | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecHostPortsToHclTerraform(struct?: PodSecurityPolicySpecHostPorts | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecHostPortsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecHostPorts | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecHostPorts | cdktf.IResolvable | undefined);
private _max?;
get max(): number;
set max(value: number);
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
get minInput(): number | undefined;
}
export declare class PodSecurityPolicySpecHostPortsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecHostPorts[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecHostPortsOutputReference;
}
export interface PodSecurityPolicySpecRunAsGroupRange {
/**
* max is the end of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#max PodSecurityPolicy#max}
*/
readonly max: number;
/**
* min is the start of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#min PodSecurityPolicy#min}
*/
readonly min: number;
}
export declare function podSecurityPolicySpecRunAsGroupRangeToTerraform(struct?: PodSecurityPolicySpecRunAsGroupRange | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecRunAsGroupRangeToHclTerraform(struct?: PodSecurityPolicySpecRunAsGroupRange | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecRunAsGroupRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecRunAsGroupRange | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecRunAsGroupRange | cdktf.IResolvable | undefined);
private _max?;
get max(): number;
set max(value: number);
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
get minInput(): number | undefined;
}
export declare class PodSecurityPolicySpecRunAsGroupRangeList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecRunAsGroupRange[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecRunAsGroupRangeOutputReference;
}
export interface PodSecurityPolicySpecRunAsGroup {
/**
* rule is the strategy that will dictate the allowable RunAsGroup values that may be set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#rule PodSecurityPolicy#rule}
*/
readonly rule: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#range PodSecurityPolicy#range}
*/
readonly range?: PodSecurityPolicySpecRunAsGroupRange[] | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecRunAsGroupToTerraform(struct?: PodSecurityPolicySpecRunAsGroupOutputReference | PodSecurityPolicySpecRunAsGroup): any;
export declare function podSecurityPolicySpecRunAsGroupToHclTerraform(struct?: PodSecurityPolicySpecRunAsGroupOutputReference | PodSecurityPolicySpecRunAsGroup): any;
export declare class PodSecurityPolicySpecRunAsGroupOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpecRunAsGroup | undefined;
set internalValue(value: PodSecurityPolicySpecRunAsGroup | undefined);
private _rule?;
get rule(): string;
set rule(value: string);
get ruleInput(): string | undefined;
private _range;
get range(): PodSecurityPolicySpecRunAsGroupRangeList;
putRange(value: PodSecurityPolicySpecRunAsGroupRange[] | cdktf.IResolvable): void;
resetRange(): void;
get rangeInput(): cdktf.IResolvable | PodSecurityPolicySpecRunAsGroupRange[] | undefined;
}
export interface PodSecurityPolicySpecRunAsUserRange {
/**
* max is the end of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#max PodSecurityPolicy#max}
*/
readonly max: number;
/**
* min is the start of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#min PodSecurityPolicy#min}
*/
readonly min: number;
}
export declare function podSecurityPolicySpecRunAsUserRangeToTerraform(struct?: PodSecurityPolicySpecRunAsUserRange | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecRunAsUserRangeToHclTerraform(struct?: PodSecurityPolicySpecRunAsUserRange | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecRunAsUserRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecRunAsUserRange | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecRunAsUserRange | cdktf.IResolvable | undefined);
private _max?;
get max(): number;
set max(value: number);
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
get minInput(): number | undefined;
}
export declare class PodSecurityPolicySpecRunAsUserRangeList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecRunAsUserRange[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecRunAsUserRangeOutputReference;
}
export interface PodSecurityPolicySpecRunAsUser {
/**
* rule is the strategy that will dictate the allowable RunAsUser values that may be set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#rule PodSecurityPolicy#rule}
*/
readonly rule: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#range PodSecurityPolicy#range}
*/
readonly range?: PodSecurityPolicySpecRunAsUserRange[] | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecRunAsUserToTerraform(struct?: PodSecurityPolicySpecRunAsUserOutputReference | PodSecurityPolicySpecRunAsUser): any;
export declare function podSecurityPolicySpecRunAsUserToHclTerraform(struct?: PodSecurityPolicySpecRunAsUserOutputReference | PodSecurityPolicySpecRunAsUser): any;
export declare class PodSecurityPolicySpecRunAsUserOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpecRunAsUser | undefined;
set internalValue(value: PodSecurityPolicySpecRunAsUser | undefined);
private _rule?;
get rule(): string;
set rule(value: string);
get ruleInput(): string | undefined;
private _range;
get range(): PodSecurityPolicySpecRunAsUserRangeList;
putRange(value: PodSecurityPolicySpecRunAsUserRange[] | cdktf.IResolvable): void;
resetRange(): void;
get rangeInput(): cdktf.IResolvable | PodSecurityPolicySpecRunAsUserRange[] | undefined;
}
export interface PodSecurityPolicySpecSeLinuxSeLinuxOptions {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#level PodSecurityPolicy#level}
*/
readonly level: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#role PodSecurityPolicy#role}
*/
readonly role: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#type PodSecurityPolicy#type}
*/
readonly type: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#user PodSecurityPolicy#user}
*/
readonly user: string;
}
export declare function podSecurityPolicySpecSeLinuxSeLinuxOptionsToTerraform(struct?: PodSecurityPolicySpecSeLinuxSeLinuxOptions | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecSeLinuxSeLinuxOptionsToHclTerraform(struct?: PodSecurityPolicySpecSeLinuxSeLinuxOptions | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecSeLinuxSeLinuxOptionsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecSeLinuxSeLinuxOptions | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecSeLinuxSeLinuxOptions | cdktf.IResolvable | undefined);
private _level?;
get level(): string;
set level(value: string);
get levelInput(): string | undefined;
private _role?;
get role(): string;
set role(value: string);
get roleInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _user?;
get user(): string;
set user(value: string);
get userInput(): string | undefined;
}
export declare class PodSecurityPolicySpecSeLinuxSeLinuxOptionsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecSeLinuxSeLinuxOptions[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecSeLinuxSeLinuxOptionsOutputReference;
}
export interface PodSecurityPolicySpecSeLinux {
/**
* rule is the strategy that will dictate the allowable labels that may be set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#rule PodSecurityPolicy#rule}
*/
readonly rule: string;
/**
* se_linux_options block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#se_linux_options PodSecurityPolicy#se_linux_options}
*/
readonly seLinuxOptions?: PodSecurityPolicySpecSeLinuxSeLinuxOptions[] | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecSeLinuxToTerraform(struct?: PodSecurityPolicySpecSeLinuxOutputReference | PodSecurityPolicySpecSeLinux): any;
export declare function podSecurityPolicySpecSeLinuxToHclTerraform(struct?: PodSecurityPolicySpecSeLinuxOutputReference | PodSecurityPolicySpecSeLinux): any;
export declare class PodSecurityPolicySpecSeLinuxOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpecSeLinux | undefined;
set internalValue(value: PodSecurityPolicySpecSeLinux | undefined);
private _rule?;
get rule(): string;
set rule(value: string);
get ruleInput(): string | undefined;
private _seLinuxOptions;
get seLinuxOptions(): PodSecurityPolicySpecSeLinuxSeLinuxOptionsList;
putSeLinuxOptions(value: PodSecurityPolicySpecSeLinuxSeLinuxOptions[] | cdktf.IResolvable): void;
resetSeLinuxOptions(): void;
get seLinuxOptionsInput(): cdktf.IResolvable | PodSecurityPolicySpecSeLinuxSeLinuxOptions[] | undefined;
}
export interface PodSecurityPolicySpecSupplementalGroupsRange {
/**
* max is the end of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#max PodSecurityPolicy#max}
*/
readonly max: number;
/**
* min is the start of the range, inclusive.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#min PodSecurityPolicy#min}
*/
readonly min: number;
}
export declare function podSecurityPolicySpecSupplementalGroupsRangeToTerraform(struct?: PodSecurityPolicySpecSupplementalGroupsRange | cdktf.IResolvable): any;
export declare function podSecurityPolicySpecSupplementalGroupsRangeToHclTerraform(struct?: PodSecurityPolicySpecSupplementalGroupsRange | cdktf.IResolvable): any;
export declare class PodSecurityPolicySpecSupplementalGroupsRangeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): PodSecurityPolicySpecSupplementalGroupsRange | cdktf.IResolvable | undefined;
set internalValue(value: PodSecurityPolicySpecSupplementalGroupsRange | cdktf.IResolvable | undefined);
private _max?;
get max(): number;
set max(value: number);
get maxInput(): number | undefined;
private _min?;
get min(): number;
set min(value: number);
get minInput(): number | undefined;
}
export declare class PodSecurityPolicySpecSupplementalGroupsRangeList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: PodSecurityPolicySpecSupplementalGroupsRange[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): PodSecurityPolicySpecSupplementalGroupsRangeOutputReference;
}
export interface PodSecurityPolicySpecSupplementalGroups {
/**
* rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#rule PodSecurityPolicy#rule}
*/
readonly rule: string;
/**
* range block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#range PodSecurityPolicy#range}
*/
readonly range?: PodSecurityPolicySpecSupplementalGroupsRange[] | cdktf.IResolvable;
}
export declare function podSecurityPolicySpecSupplementalGroupsToTerraform(struct?: PodSecurityPolicySpecSupplementalGroupsOutputReference | PodSecurityPolicySpecSupplementalGroups): any;
export declare function podSecurityPolicySpecSupplementalGroupsToHclTerraform(struct?: PodSecurityPolicySpecSupplementalGroupsOutputReference | PodSecurityPolicySpecSupplementalGroups): any;
export declare class PodSecurityPolicySpecSupplementalGroupsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpecSupplementalGroups | undefined;
set internalValue(value: PodSecurityPolicySpecSupplementalGroups | undefined);
private _rule?;
get rule(): string;
set rule(value: string);
get ruleInput(): string | undefined;
private _range;
get range(): PodSecurityPolicySpecSupplementalGroupsRangeList;
putRange(value: PodSecurityPolicySpecSupplementalGroupsRange[] | cdktf.IResolvable): void;
resetRange(): void;
get rangeInput(): cdktf.IResolvable | PodSecurityPolicySpecSupplementalGroupsRange[] | undefined;
}
export interface PodSecurityPolicySpec {
/**
* allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allow_privilege_escalation PodSecurityPolicy#allow_privilege_escalation}
*/
readonly allowPrivilegeEscalation?: boolean | cdktf.IResolvable;
/**
* allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allowed_capabilities PodSecurityPolicy#allowed_capabilities}
*/
readonly allowedCapabilities?: string[];
/**
* AllowedProcMountTypes is an allowlist of allowed ProcMountTypes. Empty or nil indicates that only the DefaultProcMountType may be used. This requires the ProcMountType feature flag to be enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allowed_proc_mount_types PodSecurityPolicy#allowed_proc_mount_types}
*/
readonly allowedProcMountTypes?: string[];
/**
* allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "*" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to allowlist all allowed unsafe sysctls explicitly to avoid rejection.
*
* Examples: e.g. "foo/*" allows "foo/bar", "foo/baz", etc. e.g. "foo.*" allows "foo.bar", "foo.baz", etc.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allowed_unsafe_sysctls PodSecurityPolicy#allowed_unsafe_sysctls}
*/
readonly allowedUnsafeSysctls?: string[];
/**
* defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#default_add_capabilities PodSecurityPolicy#default_add_capabilities}
*/
readonly defaultAddCapabilities?: string[];
/**
* defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#default_allow_privilege_escalation PodSecurityPolicy#default_allow_privilege_escalation}
*/
readonly defaultAllowPrivilegeEscalation?: boolean | cdktf.IResolvable;
/**
* forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in "*" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.
*
* Examples: e.g. "foo/*" forbids "foo/bar", "foo/baz", etc. e.g. "foo.*" forbids "foo.bar", "foo.baz", etc.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#forbidden_sysctls PodSecurityPolicy#forbidden_sysctls}
*/
readonly forbiddenSysctls?: string[];
/**
* hostIPC determines if the policy allows the use of HostIPC in the pod spec.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#host_ipc PodSecurityPolicy#host_ipc}
*/
readonly hostIpc?: boolean | cdktf.IResolvable;
/**
* hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#host_network PodSecurityPolicy#host_network}
*/
readonly hostNetwork?: boolean | cdktf.IResolvable;
/**
* hostPID determines if the policy allows the use of HostPID in the pod spec.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#host_pid PodSecurityPolicy#host_pid}
*/
readonly hostPid?: boolean | cdktf.IResolvable;
/**
* privileged determines if a pod can request to be run as privileged.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#privileged PodSecurityPolicy#privileged}
*/
readonly privileged?: boolean | cdktf.IResolvable;
/**
* readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#read_only_root_filesystem PodSecurityPolicy#read_only_root_filesystem}
*/
readonly readOnlyRootFilesystem?: boolean | cdktf.IResolvable;
/**
* requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#required_drop_capabilities PodSecurityPolicy#required_drop_capabilities}
*/
readonly requiredDropCapabilities?: string[];
/**
* volumes is an allowlist of volume plugins. Empty indicates that no volumes may be used. To allow all volumes you may use '*'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#volumes PodSecurityPolicy#volumes}
*/
readonly volumes?: string[];
/**
* allowed_flex_volumes block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allowed_flex_volumes PodSecurityPolicy#allowed_flex_volumes}
*/
readonly allowedFlexVolumes?: PodSecurityPolicySpecAllowedFlexVolumes[] | cdktf.IResolvable;
/**
* allowed_host_paths block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#allowed_host_paths PodSecurityPolicy#allowed_host_paths}
*/
readonly allowedHostPaths?: PodSecurityPolicySpecAllowedHostPaths[] | cdktf.IResolvable;
/**
* fs_group block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#fs_group PodSecurityPolicy#fs_group}
*/
readonly fsGroup: PodSecurityPolicySpecFsGroup;
/**
* host_ports block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#host_ports PodSecurityPolicy#host_ports}
*/
readonly hostPorts?: PodSecurityPolicySpecHostPorts[] | cdktf.IResolvable;
/**
* run_as_group block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#run_as_group PodSecurityPolicy#run_as_group}
*/
readonly runAsGroup?: PodSecurityPolicySpecRunAsGroup;
/**
* run_as_user block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#run_as_user PodSecurityPolicy#run_as_user}
*/
readonly runAsUser: PodSecurityPolicySpecRunAsUser;
/**
* se_linux block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#se_linux PodSecurityPolicy#se_linux}
*/
readonly seLinux?: PodSecurityPolicySpecSeLinux;
/**
* supplemental_groups block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/pod_security_policy#supplemental_groups PodSecurityPolicy#supplemental_groups}
*/
readonly supplementalGroups: PodSecurityPolicySpecSupplementalGroups;
}
export declare function podSecurityPolicySpecToTerraform(struct?: PodSecurityPolicySpecOutputReference | PodSecurityPolicySpec): any;
export declare function podSecurityPolicySpecToHclTerraform(struct?: PodSecurityPolicySpecOutputReference | PodSecurityPolicySpec): any;
export declare class PodSecurityPolicySpecOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): PodSecurityPolicySpec | undefined;
set internalValue(value: PodSecurityPolicySpec | undefined);
private _allowPrivilegeEscalation?;
get allowPrivilegeEscalation(): boolean | cdktf.IResolvable;
set allowPrivilegeEscalation(value: boolean | cdktf.IResolvable);
resetAllowPrivilegeEscalation(): void;
get allowPrivilegeEscalationInput(): boolean | cdktf.IResolvable | undefined;
private _allowedCapabilities?;
get allowedCapabilities(): string[];
set allowedCapabilities(value: string[]);
resetAllowedCapabilities(): void;
get allowedCapabilitiesInput(): string[] | undefined;
private _allowedProcMountTypes?;
get allowedProcMountTypes(): string[];
set allowedProcMountTypes(value: string[]);
resetAllowedProcMountTypes(): void;
get allowedProcMountTypesInput(): string[] | undefined;
private _allowedUnsafeSysctls?;
get allowedUnsafeSysctls(): string[];
set allowedUnsafeSysctls(value: string[]);
resetAllowedUnsafeSysctls(): void;
get allowedUnsafeSysctlsInput(): string[] | undefined;
private _defaultAddCapabilities?;
get defaultAddCapabilities(): string[];
set defaultAddCapabilities(value: string[]);
resetDefaultAddCapabilities(): void;
get defaultAddCapabilitiesInput(): string[] | undefined;
private _defaultAllowPrivilegeEscalation?;
get defaultAllowPrivilegeEscalation(): boolean | cdktf.IResolvable;
set defaultAllowPrivilegeEscalation(value: boolean | cdktf.IResolvable);
resetDefaultAllowPrivilegeEscalation(): void;
get defaultAllowPrivilegeEscalationInput(): boolean | cdktf.IResolvable | undefined;
private _forbiddenSysctls?;
get forbiddenSysctls(): string[];
set forbiddenSysctls(value: string[]);
resetForbiddenSysctls(): void;
get forbiddenSysctlsInput(): string[] | undefined;
private _hostIpc?;
get hostIpc(): boolean | cdktf.IResolvable;
set hostIpc(value: boolean | cdktf.IResolvable);
resetHostIpc(): void;
get hostIpcInput(): boolean | cdktf.IResolvable | undefined;
private _hostNetwork?;
get hostNetwork(): boolean | cdktf.IResolvable;
set hostNetwork(value: boolean | cdktf.IResolvable);
resetHostNetwork(): void;
get hostNetworkInput(): boolean | cdktf.IResolvable | undefined;
private _hostPid?;
get hostPid(): boolean | cdktf.IResolvable;
set hostPid(value: boolean | cdktf.IResolvable);
resetHostPid(): void;
get hostPidInput(): boolean | cdktf.IResolvable | undefined;
private _privileged?;
get privileged(): boolean | cdktf.IResolvable;
set privileged(value: boolean | cdktf.IResolvable);
resetPrivileged(): void;
get privilegedInput(): boolean | cdktf.IResolvable | undefined;
private _readOnlyRootFilesystem?;
get readOnlyRoot