@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
880 lines (879 loc) • 53.2 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface EdgecontainerClusterConfig extends cdktf.TerraformMetaArguments {
/**
* The default maximum number of pods per node used if a maximum value is not
* specified explicitly for a node pool in this cluster. If unspecified, the
* Kubernetes default value will be used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#default_max_pods_per_node EdgecontainerCluster#default_max_pods_per_node}
*/
readonly defaultMaxPodsPerNode?: number;
/**
* Address pools for cluster data plane external load balancing.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#external_load_balancer_ipv4_address_pools EdgecontainerCluster#external_load_balancer_ipv4_address_pools}
*/
readonly externalLoadBalancerIpv4AddressPools?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#id EdgecontainerCluster#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;
/**
* User-defined labels for the edgecloud cluster.
*
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#labels EdgecontainerCluster#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* The location of the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#location EdgecontainerCluster#location}
*/
readonly location: string;
/**
* The GDCE cluster name.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#name EdgecontainerCluster#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#project EdgecontainerCluster#project}
*/
readonly project?: string;
/**
* The release channel a cluster is subscribed to. Possible values: ["RELEASE_CHANNEL_UNSPECIFIED", "NONE", "REGULAR"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#release_channel EdgecontainerCluster#release_channel}
*/
readonly releaseChannel?: string;
/**
* The target cluster version. For example: "1.5.0".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#target_version EdgecontainerCluster#target_version}
*/
readonly targetVersion?: string;
/**
* authorization block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#authorization EdgecontainerCluster#authorization}
*/
readonly authorization: EdgecontainerClusterAuthorization;
/**
* control_plane block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#control_plane EdgecontainerCluster#control_plane}
*/
readonly controlPlane?: EdgecontainerClusterControlPlane;
/**
* control_plane_encryption block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#control_plane_encryption EdgecontainerCluster#control_plane_encryption}
*/
readonly controlPlaneEncryption?: EdgecontainerClusterControlPlaneEncryption;
/**
* fleet block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#fleet EdgecontainerCluster#fleet}
*/
readonly fleet: EdgecontainerClusterFleet;
/**
* maintenance_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#maintenance_policy EdgecontainerCluster#maintenance_policy}
*/
readonly maintenancePolicy?: EdgecontainerClusterMaintenancePolicy;
/**
* networking block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#networking EdgecontainerCluster#networking}
*/
readonly networking: EdgecontainerClusterNetworking;
/**
* system_addons_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#system_addons_config EdgecontainerCluster#system_addons_config}
*/
readonly systemAddonsConfig?: EdgecontainerClusterSystemAddonsConfig;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#timeouts EdgecontainerCluster#timeouts}
*/
readonly timeouts?: EdgecontainerClusterTimeouts;
}
export interface EdgecontainerClusterMaintenanceEvents {
}
export declare function edgecontainerClusterMaintenanceEventsToTerraform(struct?: EdgecontainerClusterMaintenanceEvents): any;
export declare function edgecontainerClusterMaintenanceEventsToHclTerraform(struct?: EdgecontainerClusterMaintenanceEvents): any;
export declare class EdgecontainerClusterMaintenanceEventsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @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(): EdgecontainerClusterMaintenanceEvents | undefined;
set internalValue(value: EdgecontainerClusterMaintenanceEvents | undefined);
get createTime(): string;
get endTime(): string;
get operation(): string;
get schedule(): string;
get startTime(): string;
get state(): string;
get targetVersion(): string;
get type(): string;
get updateTime(): string;
get uuid(): string;
}
export declare class EdgecontainerClusterMaintenanceEventsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @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): EdgecontainerClusterMaintenanceEventsOutputReference;
}
export interface EdgecontainerClusterAuthorizationAdminUsers {
/**
* An active Google username.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#username EdgecontainerCluster#username}
*/
readonly username: string;
}
export declare function edgecontainerClusterAuthorizationAdminUsersToTerraform(struct?: EdgecontainerClusterAuthorizationAdminUsersOutputReference | EdgecontainerClusterAuthorizationAdminUsers): any;
export declare function edgecontainerClusterAuthorizationAdminUsersToHclTerraform(struct?: EdgecontainerClusterAuthorizationAdminUsersOutputReference | EdgecontainerClusterAuthorizationAdminUsers): any;
export declare class EdgecontainerClusterAuthorizationAdminUsersOutputReference 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(): EdgecontainerClusterAuthorizationAdminUsers | undefined;
set internalValue(value: EdgecontainerClusterAuthorizationAdminUsers | undefined);
private _username?;
get username(): string;
set username(value: string);
get usernameInput(): string | undefined;
}
export interface EdgecontainerClusterAuthorization {
/**
* admin_users block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#admin_users EdgecontainerCluster#admin_users}
*/
readonly adminUsers: EdgecontainerClusterAuthorizationAdminUsers;
}
export declare function edgecontainerClusterAuthorizationToTerraform(struct?: EdgecontainerClusterAuthorizationOutputReference | EdgecontainerClusterAuthorization): any;
export declare function edgecontainerClusterAuthorizationToHclTerraform(struct?: EdgecontainerClusterAuthorizationOutputReference | EdgecontainerClusterAuthorization): any;
export declare class EdgecontainerClusterAuthorizationOutputReference 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(): EdgecontainerClusterAuthorization | undefined;
set internalValue(value: EdgecontainerClusterAuthorization | undefined);
private _adminUsers;
get adminUsers(): EdgecontainerClusterAuthorizationAdminUsersOutputReference;
putAdminUsers(value: EdgecontainerClusterAuthorizationAdminUsers): void;
get adminUsersInput(): EdgecontainerClusterAuthorizationAdminUsers | undefined;
}
export interface EdgecontainerClusterControlPlaneLocal {
/**
* Only machines matching this filter will be allowed to host control
* plane nodes. The filtering language accepts strings like "name=<name>",
* and is documented here: [AIP-160](https://google.aip.dev/160).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#machine_filter EdgecontainerCluster#machine_filter}
*/
readonly machineFilter?: string;
/**
* The number of nodes to serve as replicas of the Control Plane.
* Only 1 and 3 are supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#node_count EdgecontainerCluster#node_count}
*/
readonly nodeCount?: number;
/**
* Name of the Google Distributed Cloud Edge zones where this node pool
* will be created. For example: 'us-central1-edge-customer-a'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#node_location EdgecontainerCluster#node_location}
*/
readonly nodeLocation?: string;
/**
* Policy configuration about how user applications are deployed. Possible values: ["SHARED_DEPLOYMENT_POLICY_UNSPECIFIED", "ALLOWED", "DISALLOWED"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#shared_deployment_policy EdgecontainerCluster#shared_deployment_policy}
*/
readonly sharedDeploymentPolicy?: string;
}
export declare function edgecontainerClusterControlPlaneLocalToTerraform(struct?: EdgecontainerClusterControlPlaneLocalOutputReference | EdgecontainerClusterControlPlaneLocal): any;
export declare function edgecontainerClusterControlPlaneLocalToHclTerraform(struct?: EdgecontainerClusterControlPlaneLocalOutputReference | EdgecontainerClusterControlPlaneLocal): any;
export declare class EdgecontainerClusterControlPlaneLocalOutputReference 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(): EdgecontainerClusterControlPlaneLocal | undefined;
set internalValue(value: EdgecontainerClusterControlPlaneLocal | undefined);
private _machineFilter?;
get machineFilter(): string;
set machineFilter(value: string);
resetMachineFilter(): void;
get machineFilterInput(): string | undefined;
private _nodeCount?;
get nodeCount(): number;
set nodeCount(value: number);
resetNodeCount(): void;
get nodeCountInput(): number | undefined;
private _nodeLocation?;
get nodeLocation(): string;
set nodeLocation(value: string);
resetNodeLocation(): void;
get nodeLocationInput(): string | undefined;
private _sharedDeploymentPolicy?;
get sharedDeploymentPolicy(): string;
set sharedDeploymentPolicy(value: string);
resetSharedDeploymentPolicy(): void;
get sharedDeploymentPolicyInput(): string | undefined;
}
export interface EdgecontainerClusterControlPlaneRemote {
/**
* Name of the Google Distributed Cloud Edge zones where this node pool
* will be created. For example: 'us-central1-edge-customer-a'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#node_location EdgecontainerCluster#node_location}
*/
readonly nodeLocation?: string;
}
export declare function edgecontainerClusterControlPlaneRemoteToTerraform(struct?: EdgecontainerClusterControlPlaneRemoteOutputReference | EdgecontainerClusterControlPlaneRemote): any;
export declare function edgecontainerClusterControlPlaneRemoteToHclTerraform(struct?: EdgecontainerClusterControlPlaneRemoteOutputReference | EdgecontainerClusterControlPlaneRemote): any;
export declare class EdgecontainerClusterControlPlaneRemoteOutputReference 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(): EdgecontainerClusterControlPlaneRemote | undefined;
set internalValue(value: EdgecontainerClusterControlPlaneRemote | undefined);
private _nodeLocation?;
get nodeLocation(): string;
set nodeLocation(value: string);
resetNodeLocation(): void;
get nodeLocationInput(): string | undefined;
}
export interface EdgecontainerClusterControlPlane {
/**
* local block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#local EdgecontainerCluster#local}
*/
readonly local?: EdgecontainerClusterControlPlaneLocal;
/**
* remote block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#remote EdgecontainerCluster#remote}
*/
readonly remote?: EdgecontainerClusterControlPlaneRemote;
}
export declare function edgecontainerClusterControlPlaneToTerraform(struct?: EdgecontainerClusterControlPlaneOutputReference | EdgecontainerClusterControlPlane): any;
export declare function edgecontainerClusterControlPlaneToHclTerraform(struct?: EdgecontainerClusterControlPlaneOutputReference | EdgecontainerClusterControlPlane): any;
export declare class EdgecontainerClusterControlPlaneOutputReference 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(): EdgecontainerClusterControlPlane | undefined;
set internalValue(value: EdgecontainerClusterControlPlane | undefined);
private _local;
get local(): EdgecontainerClusterControlPlaneLocalOutputReference;
putLocal(value: EdgecontainerClusterControlPlaneLocal): void;
resetLocal(): void;
get localInput(): EdgecontainerClusterControlPlaneLocal | undefined;
private _remote;
get remote(): EdgecontainerClusterControlPlaneRemoteOutputReference;
putRemote(value: EdgecontainerClusterControlPlaneRemote): void;
resetRemote(): void;
get remoteInput(): EdgecontainerClusterControlPlaneRemote | undefined;
}
export interface EdgecontainerClusterControlPlaneEncryptionKmsStatus {
}
export declare function edgecontainerClusterControlPlaneEncryptionKmsStatusToTerraform(struct?: EdgecontainerClusterControlPlaneEncryptionKmsStatus): any;
export declare function edgecontainerClusterControlPlaneEncryptionKmsStatusToHclTerraform(struct?: EdgecontainerClusterControlPlaneEncryptionKmsStatus): any;
export declare class EdgecontainerClusterControlPlaneEncryptionKmsStatusOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @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(): EdgecontainerClusterControlPlaneEncryptionKmsStatus | undefined;
set internalValue(value: EdgecontainerClusterControlPlaneEncryptionKmsStatus | undefined);
get code(): number;
get message(): string;
}
export declare class EdgecontainerClusterControlPlaneEncryptionKmsStatusList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @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): EdgecontainerClusterControlPlaneEncryptionKmsStatusOutputReference;
}
export interface EdgecontainerClusterControlPlaneEncryption {
/**
* The Cloud KMS CryptoKey e.g.
* projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
* to use for protecting control plane disks. If not specified, a
* Google-managed key will be used instead.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#kms_key EdgecontainerCluster#kms_key}
*/
readonly kmsKey?: string;
}
export declare function edgecontainerClusterControlPlaneEncryptionToTerraform(struct?: EdgecontainerClusterControlPlaneEncryptionOutputReference | EdgecontainerClusterControlPlaneEncryption): any;
export declare function edgecontainerClusterControlPlaneEncryptionToHclTerraform(struct?: EdgecontainerClusterControlPlaneEncryptionOutputReference | EdgecontainerClusterControlPlaneEncryption): any;
export declare class EdgecontainerClusterControlPlaneEncryptionOutputReference 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(): EdgecontainerClusterControlPlaneEncryption | undefined;
set internalValue(value: EdgecontainerClusterControlPlaneEncryption | undefined);
private _kmsKey?;
get kmsKey(): string;
set kmsKey(value: string);
resetKmsKey(): void;
get kmsKeyInput(): string | undefined;
get kmsKeyActiveVersion(): string;
get kmsKeyState(): string;
private _kmsStatus;
get kmsStatus(): EdgecontainerClusterControlPlaneEncryptionKmsStatusList;
}
export interface EdgecontainerClusterFleet {
/**
* The name of the Fleet host project where this cluster will be registered.
* Project names are formatted as
* 'projects/<project-number>'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#project EdgecontainerCluster#project}
*/
readonly project: string;
}
export declare function edgecontainerClusterFleetToTerraform(struct?: EdgecontainerClusterFleetOutputReference | EdgecontainerClusterFleet): any;
export declare function edgecontainerClusterFleetToHclTerraform(struct?: EdgecontainerClusterFleetOutputReference | EdgecontainerClusterFleet): any;
export declare class EdgecontainerClusterFleetOutputReference 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(): EdgecontainerClusterFleet | undefined;
set internalValue(value: EdgecontainerClusterFleet | undefined);
get membership(): string;
private _project?;
get project(): string;
set project(value: string);
get projectInput(): string | undefined;
}
export interface EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow {
/**
* The time that the window ends. The end time must take place after the
* start time.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#end_time EdgecontainerCluster#end_time}
*/
readonly endTime?: string;
/**
* The time that the window first starts.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#start_time EdgecontainerCluster#start_time}
*/
readonly startTime?: string;
}
export declare function edgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowToTerraform(struct?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowOutputReference | EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow): any;
export declare function edgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowOutputReference | EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow): any;
export declare class EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowOutputReference 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(): EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow | undefined);
private _endTime?;
get endTime(): string;
set endTime(value: string);
resetEndTime(): void;
get endTimeInput(): string | undefined;
private _startTime?;
get startTime(): string;
set startTime(value: string);
resetStartTime(): void;
get startTimeInput(): string | undefined;
}
export interface EdgecontainerClusterMaintenancePolicyMaintenanceExclusions {
/**
* A unique (per cluster) id for the window.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#id EdgecontainerCluster#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;
/**
* window block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#window EdgecontainerCluster#window}
*/
readonly window?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow;
}
export declare function edgecontainerClusterMaintenancePolicyMaintenanceExclusionsToTerraform(struct?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions | cdktf.IResolvable): any;
export declare function edgecontainerClusterMaintenancePolicyMaintenanceExclusionsToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions | cdktf.IResolvable): any;
export declare class EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsOutputReference 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(): EdgecontainerClusterMaintenancePolicyMaintenanceExclusions | cdktf.IResolvable | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions | cdktf.IResolvable | undefined);
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _window;
get window(): EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindowOutputReference;
putWindow(value: EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow): void;
resetWindow(): void;
get windowInput(): EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsWindow | undefined;
}
export declare class EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions[] | 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): EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsOutputReference;
}
export interface EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow {
/**
* The time that the window ends. The end time must take place after the
* start time.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#end_time EdgecontainerCluster#end_time}
*/
readonly endTime?: string;
/**
* The time that the window first starts.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#start_time EdgecontainerCluster#start_time}
*/
readonly startTime?: string;
}
export declare function edgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowToTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow): any;
export declare function edgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow): any;
export declare class EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowOutputReference 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(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow | undefined);
private _endTime?;
get endTime(): string;
set endTime(value: string);
resetEndTime(): void;
get endTimeInput(): string | undefined;
private _startTime?;
get startTime(): string;
set startTime(value: string);
resetStartTime(): void;
get startTimeInput(): string | undefined;
}
export interface EdgecontainerClusterMaintenancePolicyWindowRecurringWindow {
/**
* An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
* this window recurs. They go on for the span of time between the start and
* end time.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#recurrence EdgecontainerCluster#recurrence}
*/
readonly recurrence?: string;
/**
* window block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#window EdgecontainerCluster#window}
*/
readonly window?: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow;
}
export declare function edgecontainerClusterMaintenancePolicyWindowRecurringWindowToTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindowRecurringWindow): any;
export declare function edgecontainerClusterMaintenancePolicyWindowRecurringWindowToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindowRecurringWindow): any;
export declare class EdgecontainerClusterMaintenancePolicyWindowRecurringWindowOutputReference 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(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindow | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicyWindowRecurringWindow | undefined);
private _recurrence?;
get recurrence(): string;
set recurrence(value: string);
resetRecurrence(): void;
get recurrenceInput(): string | undefined;
private _window;
get window(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindowOutputReference;
putWindow(value: EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow): void;
resetWindow(): void;
get windowInput(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindowWindow | undefined;
}
export interface EdgecontainerClusterMaintenancePolicyWindow {
/**
* recurring_window block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#recurring_window EdgecontainerCluster#recurring_window}
*/
readonly recurringWindow: EdgecontainerClusterMaintenancePolicyWindowRecurringWindow;
}
export declare function edgecontainerClusterMaintenancePolicyWindowToTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindow): any;
export declare function edgecontainerClusterMaintenancePolicyWindowToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyWindowOutputReference | EdgecontainerClusterMaintenancePolicyWindow): any;
export declare class EdgecontainerClusterMaintenancePolicyWindowOutputReference 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(): EdgecontainerClusterMaintenancePolicyWindow | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicyWindow | undefined);
private _recurringWindow;
get recurringWindow(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindowOutputReference;
putRecurringWindow(value: EdgecontainerClusterMaintenancePolicyWindowRecurringWindow): void;
get recurringWindowInput(): EdgecontainerClusterMaintenancePolicyWindowRecurringWindow | undefined;
}
export interface EdgecontainerClusterMaintenancePolicy {
/**
* maintenance_exclusions block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#maintenance_exclusions EdgecontainerCluster#maintenance_exclusions}
*/
readonly maintenanceExclusions?: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions[] | cdktf.IResolvable;
/**
* window block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#window EdgecontainerCluster#window}
*/
readonly window: EdgecontainerClusterMaintenancePolicyWindow;
}
export declare function edgecontainerClusterMaintenancePolicyToTerraform(struct?: EdgecontainerClusterMaintenancePolicyOutputReference | EdgecontainerClusterMaintenancePolicy): any;
export declare function edgecontainerClusterMaintenancePolicyToHclTerraform(struct?: EdgecontainerClusterMaintenancePolicyOutputReference | EdgecontainerClusterMaintenancePolicy): any;
export declare class EdgecontainerClusterMaintenancePolicyOutputReference 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(): EdgecontainerClusterMaintenancePolicy | undefined;
set internalValue(value: EdgecontainerClusterMaintenancePolicy | undefined);
private _maintenanceExclusions;
get maintenanceExclusions(): EdgecontainerClusterMaintenancePolicyMaintenanceExclusionsList;
putMaintenanceExclusions(value: EdgecontainerClusterMaintenancePolicyMaintenanceExclusions[] | cdktf.IResolvable): void;
resetMaintenanceExclusions(): void;
get maintenanceExclusionsInput(): cdktf.IResolvable | EdgecontainerClusterMaintenancePolicyMaintenanceExclusions[] | undefined;
private _window;
get window(): EdgecontainerClusterMaintenancePolicyWindowOutputReference;
putWindow(value: EdgecontainerClusterMaintenancePolicyWindow): void;
get windowInput(): EdgecontainerClusterMaintenancePolicyWindow | undefined;
}
export interface EdgecontainerClusterNetworking {
/**
* All pods in the cluster are assigned an RFC1918 IPv4 address from these
* blocks. Only a single block is supported. This field cannot be changed
* after creation.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#cluster_ipv4_cidr_blocks EdgecontainerCluster#cluster_ipv4_cidr_blocks}
*/
readonly clusterIpv4CidrBlocks: string[];
/**
* If specified, dual stack mode is enabled and all pods in the cluster are
* assigned an IPv6 address from these blocks alongside from an IPv4
* address. Only a single block is supported. This field cannot be changed
* after creation.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#cluster_ipv6_cidr_blocks EdgecontainerCluster#cluster_ipv6_cidr_blocks}
*/
readonly clusterIpv6CidrBlocks?: string[];
/**
* All services in the cluster are assigned an RFC1918 IPv4 address from these
* blocks. Only a single block is supported. This field cannot be changed
* after creation.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#services_ipv4_cidr_blocks EdgecontainerCluster#services_ipv4_cidr_blocks}
*/
readonly servicesIpv4CidrBlocks: string[];
/**
* If specified, dual stack mode is enabled and all services in the cluster are
* assigned an IPv6 address from these blocks alongside from an IPv4
* address. Only a single block is supported. This field cannot be changed
* after creation.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#services_ipv6_cidr_blocks EdgecontainerCluster#services_ipv6_cidr_blocks}
*/
readonly servicesIpv6CidrBlocks?: string[];
}
export declare function edgecontainerClusterNetworkingToTerraform(struct?: EdgecontainerClusterNetworkingOutputReference | EdgecontainerClusterNetworking): any;
export declare function edgecontainerClusterNetworkingToHclTerraform(struct?: EdgecontainerClusterNetworkingOutputReference | EdgecontainerClusterNetworking): any;
export declare class EdgecontainerClusterNetworkingOutputReference 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(): EdgecontainerClusterNetworking | undefined;
set internalValue(value: EdgecontainerClusterNetworking | undefined);
private _clusterIpv4CidrBlocks?;
get clusterIpv4CidrBlocks(): string[];
set clusterIpv4CidrBlocks(value: string[]);
get clusterIpv4CidrBlocksInput(): string[] | undefined;
private _clusterIpv6CidrBlocks?;
get clusterIpv6CidrBlocks(): string[];
set clusterIpv6CidrBlocks(value: string[]);
resetClusterIpv6CidrBlocks(): void;
get clusterIpv6CidrBlocksInput(): string[] | undefined;
get networkType(): string;
private _servicesIpv4CidrBlocks?;
get servicesIpv4CidrBlocks(): string[];
set servicesIpv4CidrBlocks(value: string[]);
get servicesIpv4CidrBlocksInput(): string[] | undefined;
private _servicesIpv6CidrBlocks?;
get servicesIpv6CidrBlocks(): string[];
set servicesIpv6CidrBlocks(value: string[]);
resetServicesIpv6CidrBlocks(): void;
get servicesIpv6CidrBlocksInput(): string[] | undefined;
}
export interface EdgecontainerClusterSystemAddonsConfigIngress {
/**
* Whether Ingress is disabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#disabled EdgecontainerCluster#disabled}
*/
readonly disabled?: boolean | cdktf.IResolvable;
/**
* Ingress VIP.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#ipv4_vip EdgecontainerCluster#ipv4_vip}
*/
readonly ipv4Vip?: string;
}
export declare function edgecontainerClusterSystemAddonsConfigIngressToTerraform(struct?: EdgecontainerClusterSystemAddonsConfigIngressOutputReference | EdgecontainerClusterSystemAddonsConfigIngress): any;
export declare function edgecontainerClusterSystemAddonsConfigIngressToHclTerraform(struct?: EdgecontainerClusterSystemAddonsConfigIngressOutputReference | EdgecontainerClusterSystemAddonsConfigIngress): any;
export declare class EdgecontainerClusterSystemAddonsConfigIngressOutputReference 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(): EdgecontainerClusterSystemAddonsConfigIngress | undefined;
set internalValue(value: EdgecontainerClusterSystemAddonsConfigIngress | undefined);
private _disabled?;
get disabled(): boolean | cdktf.IResolvable;
set disabled(value: boolean | cdktf.IResolvable);
resetDisabled(): void;
get disabledInput(): boolean | cdktf.IResolvable | undefined;
private _ipv4Vip?;
get ipv4Vip(): string;
set ipv4Vip(value: string);
resetIpv4Vip(): void;
get ipv4VipInput(): string | undefined;
}
export interface EdgecontainerClusterSystemAddonsConfig {
/**
* ingress block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#ingress EdgecontainerCluster#ingress}
*/
readonly ingress?: EdgecontainerClusterSystemAddonsConfigIngress;
}
export declare function edgecontainerClusterSystemAddonsConfigToTerraform(struct?: EdgecontainerClusterSystemAddonsConfigOutputReference | EdgecontainerClusterSystemAddonsConfig): any;
export declare function edgecontainerClusterSystemAddonsConfigToHclTerraform(struct?: EdgecontainerClusterSystemAddonsConfigOutputReference | EdgecontainerClusterSystemAddonsConfig): any;
export declare class EdgecontainerClusterSystemAddonsConfigOutputReference 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(): EdgecontainerClusterSystemAddonsConfig | undefined;
set internalValue(value: EdgecontainerClusterSystemAddonsConfig | undefined);
private _ingress;
get ingress(): EdgecontainerClusterSystemAddonsConfigIngressOutputReference;
putIngress(value: EdgecontainerClusterSystemAddonsConfigIngress): void;
resetIngress(): void;
get ingressInput(): EdgecontainerClusterSystemAddonsConfigIngress | undefined;
}
export interface EdgecontainerClusterTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#create EdgecontainerCluster#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#delete EdgecontainerCluster#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#update EdgecontainerCluster#update}
*/
readonly update?: string;
}
export declare function edgecontainerClusterTimeoutsToTerraform(struct?: EdgecontainerClusterTimeouts | cdktf.IResolvable): any;
export declare function edgecontainerClusterTimeoutsToHclTerraform(struct?: EdgecontainerClusterTimeouts | cdktf.IResolvable): any;
export declare class EdgecontainerClusterTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): EdgecontainerClusterTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: EdgecontainerClusterTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster google_edgecontainer_cluster}
*/
export declare class EdgecontainerCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "google_edgecontainer_cluster";
/**
* Generates CDKTF code for importing a EdgecontainerCluster resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the EdgecontainerCluster to import
* @param importFromId The id of the existing EdgecontainerCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the EdgecontainerCluster to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/edgecontainer_cluster google_edgecontainer_cluster} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options EdgecontainerClusterConfig
*/
constructor(scope: Construct, id: string, config: EdgecontainerClusterConfig);
get clusterCaCertificate(): string;
get controlPlaneVersion(): string;
get createTime(): string;
private _defaultMaxPodsPerNode?;
get defaultMaxPodsPerNode(): number;
set defaultMaxPodsPerNode(value: number);
resetDefaultMaxPodsPerNode(): void;
get defaultMaxPodsPerNodeInput(): number | undefined;
private _effectiveLabels;
get effectiveLabels(): cdktf.StringMap;
get endpoint(): string;
private _externalLoadBalancerIpv4AddressPools?;
get externalLoadBalancerIpv4AddressPools(): string[];
set externalLoadBalancerIpv4AddressPools(value: string[]);
resetExternalLoadBalancerIpv4AddressPools(): void;
get externalLoadBalancerIpv4AddressPoolsInput(): string[] | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _location?;
get location(): string;
set location(value: string);
get locationInput(): string | undefined;
private _maintenanceEvents;
get maintenanceEvents(): EdgecontainerClusterMaintenanceEventsList;