UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

271 lines (270 loc) 14.1 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GatewayConnectionTunnelConfig extends cdktf.TerraformMetaArguments { /** * ID of the upcloud_gateway_connection resource to which the tunnel belongs * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#connection_id GatewayConnectionTunnel#connection_id} */ readonly connectionId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#id GatewayConnectionTunnel#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; /** * Public (UpCloud) endpoint address of this tunnel * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#local_address_name GatewayConnectionTunnel#local_address_name} */ readonly localAddressName: string; /** * The name of the tunnel, should be unique within the connection * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#name GatewayConnectionTunnel#name} */ readonly name: string; /** * Remote public IP address of the tunnel * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#remote_address GatewayConnectionTunnel#remote_address} */ readonly remoteAddress: string; /** * ipsec_auth_psk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#ipsec_auth_psk GatewayConnectionTunnel#ipsec_auth_psk} */ readonly ipsecAuthPsk: GatewayConnectionTunnelIpsecAuthPsk; /** * ipsec_properties block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#ipsec_properties GatewayConnectionTunnel#ipsec_properties} */ readonly ipsecProperties?: GatewayConnectionTunnelIpsecProperties; } export interface GatewayConnectionTunnelIpsecAuthPsk { /** * The pre-shared key. This value is only used during resource creation and is not returned in the state. It is not possible to update this value. If you need to update it, delete the connection and create a new one. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#psk GatewayConnectionTunnel#psk} */ readonly psk: string; } export declare function gatewayConnectionTunnelIpsecAuthPskToTerraform(struct?: GatewayConnectionTunnelIpsecAuthPskOutputReference | GatewayConnectionTunnelIpsecAuthPsk): any; export declare function gatewayConnectionTunnelIpsecAuthPskToHclTerraform(struct?: GatewayConnectionTunnelIpsecAuthPskOutputReference | GatewayConnectionTunnelIpsecAuthPsk): any; export declare class GatewayConnectionTunnelIpsecAuthPskOutputReference 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(): GatewayConnectionTunnelIpsecAuthPsk | undefined; set internalValue(value: GatewayConnectionTunnelIpsecAuthPsk | undefined); private _psk?; get psk(): string; set psk(value: string); get pskInput(): string | undefined; } export interface GatewayConnectionTunnelIpsecProperties { /** * IKE child SA rekey time in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#child_rekey_time GatewayConnectionTunnel#child_rekey_time} */ readonly childRekeyTime?: number; /** * Delay before sending Dead Peer Detection packets if no traffic is detected, in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#dpd_delay GatewayConnectionTunnel#dpd_delay} */ readonly dpdDelay?: number; /** * Timeout period for DPD reply before considering the peer to be dead, in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#dpd_timeout GatewayConnectionTunnel#dpd_timeout} */ readonly dpdTimeout?: number; /** * Maximum IKE SA lifetime in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#ike_lifetime GatewayConnectionTunnel#ike_lifetime} */ readonly ikeLifetime?: number; /** * List of Phase 1: Proposal algorithms. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase1_algorithms GatewayConnectionTunnel#phase1_algorithms} */ readonly phase1Algorithms?: string[]; /** * List of Phase 1 Diffie-Hellman group numbers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase1_dh_group_numbers GatewayConnectionTunnel#phase1_dh_group_numbers} */ readonly phase1DhGroupNumbers?: number[]; /** * List of Phase 1 integrity algorithms. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase1_integrity_algorithms GatewayConnectionTunnel#phase1_integrity_algorithms} */ readonly phase1IntegrityAlgorithms?: string[]; /** * List of Phase 2: Security Association algorithms. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase2_algorithms GatewayConnectionTunnel#phase2_algorithms} */ readonly phase2Algorithms?: string[]; /** * List of Phase 2 Diffie-Hellman group numbers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase2_dh_group_numbers GatewayConnectionTunnel#phase2_dh_group_numbers} */ readonly phase2DhGroupNumbers?: number[]; /** * List of Phase 2 integrity algorithms. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#phase2_integrity_algorithms GatewayConnectionTunnel#phase2_integrity_algorithms} */ readonly phase2IntegrityAlgorithms?: string[]; /** * IKE SA rekey time in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#rekey_time GatewayConnectionTunnel#rekey_time} */ readonly rekeyTime?: number; } export declare function gatewayConnectionTunnelIpsecPropertiesToTerraform(struct?: GatewayConnectionTunnelIpsecPropertiesOutputReference | GatewayConnectionTunnelIpsecProperties): any; export declare function gatewayConnectionTunnelIpsecPropertiesToHclTerraform(struct?: GatewayConnectionTunnelIpsecPropertiesOutputReference | GatewayConnectionTunnelIpsecProperties): any; export declare class GatewayConnectionTunnelIpsecPropertiesOutputReference 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(): GatewayConnectionTunnelIpsecProperties | undefined; set internalValue(value: GatewayConnectionTunnelIpsecProperties | undefined); private _childRekeyTime?; get childRekeyTime(): number; set childRekeyTime(value: number); resetChildRekeyTime(): void; get childRekeyTimeInput(): number | undefined; private _dpdDelay?; get dpdDelay(): number; set dpdDelay(value: number); resetDpdDelay(): void; get dpdDelayInput(): number | undefined; private _dpdTimeout?; get dpdTimeout(): number; set dpdTimeout(value: number); resetDpdTimeout(): void; get dpdTimeoutInput(): number | undefined; private _ikeLifetime?; get ikeLifetime(): number; set ikeLifetime(value: number); resetIkeLifetime(): void; get ikeLifetimeInput(): number | undefined; private _phase1Algorithms?; get phase1Algorithms(): string[]; set phase1Algorithms(value: string[]); resetPhase1Algorithms(): void; get phase1AlgorithmsInput(): string[] | undefined; private _phase1DhGroupNumbers?; get phase1DhGroupNumbers(): number[]; set phase1DhGroupNumbers(value: number[]); resetPhase1DhGroupNumbers(): void; get phase1DhGroupNumbersInput(): number[] | undefined; private _phase1IntegrityAlgorithms?; get phase1IntegrityAlgorithms(): string[]; set phase1IntegrityAlgorithms(value: string[]); resetPhase1IntegrityAlgorithms(): void; get phase1IntegrityAlgorithmsInput(): string[] | undefined; private _phase2Algorithms?; get phase2Algorithms(): string[]; set phase2Algorithms(value: string[]); resetPhase2Algorithms(): void; get phase2AlgorithmsInput(): string[] | undefined; private _phase2DhGroupNumbers?; get phase2DhGroupNumbers(): number[]; set phase2DhGroupNumbers(value: number[]); resetPhase2DhGroupNumbers(): void; get phase2DhGroupNumbersInput(): number[] | undefined; private _phase2IntegrityAlgorithms?; get phase2IntegrityAlgorithms(): string[]; set phase2IntegrityAlgorithms(value: string[]); resetPhase2IntegrityAlgorithms(): void; get phase2IntegrityAlgorithmsInput(): string[] | undefined; private _rekeyTime?; get rekeyTime(): number; set rekeyTime(value: number); resetRekeyTime(): void; get rekeyTimeInput(): number | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel upcloud_gateway_connection_tunnel} */ export declare class GatewayConnectionTunnel extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_gateway_connection_tunnel"; /** * Generates CDKTF code for importing a GatewayConnectionTunnel 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 GatewayConnectionTunnel to import * @param importFromId The id of the existing GatewayConnectionTunnel that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GatewayConnectionTunnel 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/upcloudltd/upcloud/5.23.3/docs/resources/gateway_connection_tunnel upcloud_gateway_connection_tunnel} 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 GatewayConnectionTunnelConfig */ constructor(scope: Construct, id: string, config: GatewayConnectionTunnelConfig); private _connectionId?; get connectionId(): string; set connectionId(value: string); get connectionIdInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _localAddressName?; get localAddressName(): string; set localAddressName(value: string); get localAddressNameInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; get operationalState(): string; private _remoteAddress?; get remoteAddress(): string; set remoteAddress(value: string); get remoteAddressInput(): string | undefined; get uuid(): string; private _ipsecAuthPsk; get ipsecAuthPsk(): GatewayConnectionTunnelIpsecAuthPskOutputReference; putIpsecAuthPsk(value: GatewayConnectionTunnelIpsecAuthPsk): void; get ipsecAuthPskInput(): GatewayConnectionTunnelIpsecAuthPsk | undefined; private _ipsecProperties; get ipsecProperties(): GatewayConnectionTunnelIpsecPropertiesOutputReference; putIpsecProperties(value: GatewayConnectionTunnelIpsecProperties): void; resetIpsecProperties(): void; get ipsecPropertiesInput(): GatewayConnectionTunnelIpsecProperties | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }