UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

250 lines (249 loc) 12.9 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeHaVpnGatewayConfig extends cdktf.TerraformMetaArguments { /** * An optional description of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#description ComputeHaVpnGateway#description} */ readonly description?: string; /** * The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used. Default value: "IPV4" Possible values: ["IPV4", "IPV6"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#gateway_ip_version ComputeHaVpnGateway#gateway_ip_version} */ readonly gatewayIpVersion?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#id ComputeHaVpnGateway#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; /** * Name of the resource. Provided by the client when the resource is * created. The name must be 1-63 characters long, and comply with * RFC1035. Specifically, the name must be 1-63 characters long and * match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means * the first character must be a lowercase letter, and all following * characters must be a dash, lowercase letter, or digit, except the last * character, which cannot be a dash. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#name ComputeHaVpnGateway#name} */ readonly name: string; /** * The network this VPN gateway is accepting traffic for. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#network ComputeHaVpnGateway#network} */ readonly network: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#project ComputeHaVpnGateway#project} */ readonly project?: string; /** * The region this gateway should sit in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#region ComputeHaVpnGateway#region} */ readonly region?: string; /** * The stack type for this VPN gateway to identify the IP protocols that are enabled. * If not specified, IPV4_ONLY will be used. Default value: "IPV4_ONLY" Possible values: ["IPV4_ONLY", "IPV4_IPV6", "IPV6_ONLY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#stack_type ComputeHaVpnGateway#stack_type} */ readonly stackType?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#timeouts ComputeHaVpnGateway#timeouts} */ readonly timeouts?: ComputeHaVpnGatewayTimeouts; /** * vpn_interfaces block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#vpn_interfaces ComputeHaVpnGateway#vpn_interfaces} */ readonly vpnInterfaces?: ComputeHaVpnGatewayVpnInterfaces[] | cdktf.IResolvable; } export interface ComputeHaVpnGatewayTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#create ComputeHaVpnGateway#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#delete ComputeHaVpnGateway#delete} */ readonly delete?: string; } export declare function computeHaVpnGatewayTimeoutsToTerraform(struct?: ComputeHaVpnGatewayTimeouts | cdktf.IResolvable): any; export declare function computeHaVpnGatewayTimeoutsToHclTerraform(struct?: ComputeHaVpnGatewayTimeouts | cdktf.IResolvable): any; export declare class ComputeHaVpnGatewayTimeoutsOutputReference 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(): ComputeHaVpnGatewayTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeHaVpnGatewayTimeouts | 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; } export interface ComputeHaVpnGatewayVpnInterfaces { /** * The numeric ID of this VPN gateway interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#id ComputeHaVpnGateway#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?: number; /** * URL of the interconnect attachment resource. When the value * of this field is present, the VPN Gateway will be used for * IPsec-encrypted Cloud Interconnect; all Egress or Ingress * traffic for this VPN Gateway interface will go through the * specified interconnect attachment resource. * * Not currently available publicly. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#interconnect_attachment ComputeHaVpnGateway#interconnect_attachment} */ readonly interconnectAttachment?: string; } export declare function computeHaVpnGatewayVpnInterfacesToTerraform(struct?: ComputeHaVpnGatewayVpnInterfaces | cdktf.IResolvable): any; export declare function computeHaVpnGatewayVpnInterfacesToHclTerraform(struct?: ComputeHaVpnGatewayVpnInterfaces | cdktf.IResolvable): any; export declare class ComputeHaVpnGatewayVpnInterfacesOutputReference 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(): ComputeHaVpnGatewayVpnInterfaces | cdktf.IResolvable | undefined; set internalValue(value: ComputeHaVpnGatewayVpnInterfaces | cdktf.IResolvable | undefined); private _id?; get id(): number; set id(value: number); resetId(): void; get idInput(): number | undefined; private _interconnectAttachment?; get interconnectAttachment(): string; set interconnectAttachment(value: string); resetInterconnectAttachment(): void; get interconnectAttachmentInput(): string | undefined; get ipAddress(): string; } export declare class ComputeHaVpnGatewayVpnInterfacesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeHaVpnGatewayVpnInterfaces[] | 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): ComputeHaVpnGatewayVpnInterfacesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway google_compute_ha_vpn_gateway} */ export declare class ComputeHaVpnGateway extends cdktf.TerraformResource { static readonly tfResourceType = "google_compute_ha_vpn_gateway"; /** * Generates CDKTF code for importing a ComputeHaVpnGateway 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 ComputeHaVpnGateway to import * @param importFromId The id of the existing ComputeHaVpnGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/compute_ha_vpn_gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeHaVpnGateway 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.4.0/docs/resources/compute_ha_vpn_gateway google_compute_ha_vpn_gateway} 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 ComputeHaVpnGatewayConfig */ constructor(scope: Construct, id: string, config: ComputeHaVpnGatewayConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _gatewayIpVersion?; get gatewayIpVersion(): string; set gatewayIpVersion(value: string); resetGatewayIpVersion(): void; get gatewayIpVersionInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _network?; get network(): string; set network(value: string); get networkInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _region?; get region(): string; set region(value: string); resetRegion(): void; get regionInput(): string | undefined; get selfLink(): string; private _stackType?; get stackType(): string; set stackType(value: string); resetStackType(): void; get stackTypeInput(): string | undefined; private _timeouts; get timeouts(): ComputeHaVpnGatewayTimeoutsOutputReference; putTimeouts(value: ComputeHaVpnGatewayTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ComputeHaVpnGatewayTimeouts | undefined; private _vpnInterfaces; get vpnInterfaces(): ComputeHaVpnGatewayVpnInterfacesList; putVpnInterfaces(value: ComputeHaVpnGatewayVpnInterfaces[] | cdktf.IResolvable): void; resetVpnInterfaces(): void; get vpnInterfacesInput(): cdktf.IResolvable | ComputeHaVpnGatewayVpnInterfaces[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }