UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

880 lines (879 loc) 53.2 kB
/** * 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;