@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
386 lines (385 loc) • 18.5 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ComputeRouteConfig extends cdktf.TerraformMetaArguments {
/**
* An optional description of this resource. Provide this property
* when you create the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#description ComputeRoute#description}
*/
readonly description?: string;
/**
* The destination range of outgoing packets that this route applies to.
* Only IPv4 is supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#dest_range ComputeRoute#dest_range}
*/
readonly destRange: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#id ComputeRoute#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.36.0/docs/resources/compute_route#name ComputeRoute#name}
*/
readonly name: string;
/**
* The network that this route applies to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#network ComputeRoute#network}
*/
readonly network: string;
/**
* URL to a gateway that should handle matching packets.
* Currently, you can only specify the internet gateway, using a full or
* partial valid URL:
* * 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway'
* * 'projects/project/global/gateways/default-internet-gateway'
* * 'global/gateways/default-internet-gateway'
* * The string 'default-internet-gateway'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_gateway ComputeRoute#next_hop_gateway}
*/
readonly nextHopGateway?: string;
/**
* The IP address or URL to a forwarding rule of type
* loadBalancingScheme=INTERNAL that should handle matching
* packets.
*
* With the GA provider you can only specify the forwarding
* rule as a partial or full URL. For example, the following
* are all valid values:
* * 10.128.0.56
* * https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule
* * regions/region/forwardingRules/forwardingRule
*
* When the beta provider, you can also specify the IP address
* of a forwarding rule from the same VPC or any peered VPC.
*
* Note that this can only be used when the destinationRange is
* a public (non-RFC 1918) IP CIDR range.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_ilb ComputeRoute#next_hop_ilb}
*/
readonly nextHopIlb?: string;
/**
* URL to an instance that should handle matching packets.
* You can specify this as a full or partial URL. For example:
* * 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance'
* * 'projects/project/zones/zone/instances/instance'
* * 'zones/zone/instances/instance'
* * Just the instance name, with the zone in 'next_hop_instance_zone'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_instance ComputeRoute#next_hop_instance}
*/
readonly nextHopInstance?: string;
/**
* The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_instance_zone ComputeRoute#next_hop_instance_zone}
*/
readonly nextHopInstanceZone?: string;
/**
* Network IP address of an instance that should handle matching packets.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_ip ComputeRoute#next_hop_ip}
*/
readonly nextHopIp?: string;
/**
* URL to a VpnTunnel that should handle matching packets.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#next_hop_vpn_tunnel ComputeRoute#next_hop_vpn_tunnel}
*/
readonly nextHopVpnTunnel?: string;
/**
* The priority of this route. Priority is used to break ties in cases
* where there is more than one matching route of equal prefix length.
*
* In the case of two routes with equal prefix length, the one with the
* lowest-numbered priority value wins.
*
* Default value is 1000. Valid range is 0 through 65535.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#priority ComputeRoute#priority}
*/
readonly priority?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#project ComputeRoute#project}
*/
readonly project?: string;
/**
* A list of instance tags to which this route applies.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#tags ComputeRoute#tags}
*/
readonly tags?: string[];
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#timeouts ComputeRoute#timeouts}
*/
readonly timeouts?: ComputeRouteTimeouts;
}
export interface ComputeRouteAsPaths {
}
export declare function computeRouteAsPathsToTerraform(struct?: ComputeRouteAsPaths): any;
export declare function computeRouteAsPathsToHclTerraform(struct?: ComputeRouteAsPaths): any;
export declare class ComputeRouteAsPathsOutputReference 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(): ComputeRouteAsPaths | undefined;
set internalValue(value: ComputeRouteAsPaths | undefined);
get asLists(): number[];
get pathSegmentType(): string;
}
export declare class ComputeRouteAsPathsList 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): ComputeRouteAsPathsOutputReference;
}
export interface ComputeRouteWarningsData {
}
export declare function computeRouteWarningsDataToTerraform(struct?: ComputeRouteWarningsData): any;
export declare function computeRouteWarningsDataToHclTerraform(struct?: ComputeRouteWarningsData): any;
export declare class ComputeRouteWarningsDataOutputReference 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(): ComputeRouteWarningsData | undefined;
set internalValue(value: ComputeRouteWarningsData | undefined);
get key(): string;
get value(): string;
}
export declare class ComputeRouteWarningsDataList 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): ComputeRouteWarningsDataOutputReference;
}
export interface ComputeRouteWarnings {
}
export declare function computeRouteWarningsToTerraform(struct?: ComputeRouteWarnings): any;
export declare function computeRouteWarningsToHclTerraform(struct?: ComputeRouteWarnings): any;
export declare class ComputeRouteWarningsOutputReference 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(): ComputeRouteWarnings | undefined;
set internalValue(value: ComputeRouteWarnings | undefined);
get code(): string;
private _data;
get data(): ComputeRouteWarningsDataList;
get message(): string;
}
export declare class ComputeRouteWarningsList 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): ComputeRouteWarningsOutputReference;
}
export interface ComputeRouteTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#create ComputeRoute#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#delete ComputeRoute#delete}
*/
readonly delete?: string;
}
export declare function computeRouteTimeoutsToTerraform(struct?: ComputeRouteTimeouts | cdktf.IResolvable): any;
export declare function computeRouteTimeoutsToHclTerraform(struct?: ComputeRouteTimeouts | cdktf.IResolvable): any;
export declare class ComputeRouteTimeoutsOutputReference 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(): ComputeRouteTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: ComputeRouteTimeouts | 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;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route google_compute_route}
*/
export declare class ComputeRoute extends cdktf.TerraformResource {
static readonly tfResourceType = "google_compute_route";
/**
* Generates CDKTF code for importing a ComputeRoute 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 ComputeRoute to import
* @param importFromId The id of the existing ComputeRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_route#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ComputeRoute 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.36.0/docs/resources/compute_route google_compute_route} 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 ComputeRouteConfig
*/
constructor(scope: Construct, id: string, config: ComputeRouteConfig);
private _asPaths;
get asPaths(): ComputeRouteAsPathsList;
get creationTimestamp(): string;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _destRange?;
get destRange(): string;
set destRange(value: string);
get destRangeInput(): 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 _nextHopGateway?;
get nextHopGateway(): string;
set nextHopGateway(value: string);
resetNextHopGateway(): void;
get nextHopGatewayInput(): string | undefined;
get nextHopHub(): string;
private _nextHopIlb?;
get nextHopIlb(): string;
set nextHopIlb(value: string);
resetNextHopIlb(): void;
get nextHopIlbInput(): string | undefined;
private _nextHopInstance?;
get nextHopInstance(): string;
set nextHopInstance(value: string);
resetNextHopInstance(): void;
get nextHopInstanceInput(): string | undefined;
private _nextHopInstanceZone?;
get nextHopInstanceZone(): string;
set nextHopInstanceZone(value: string);
resetNextHopInstanceZone(): void;
get nextHopInstanceZoneInput(): string | undefined;
get nextHopInterRegionCost(): string;
private _nextHopIp?;
get nextHopIp(): string;
set nextHopIp(value: string);
resetNextHopIp(): void;
get nextHopIpInput(): string | undefined;
get nextHopMed(): string;
get nextHopNetwork(): string;
get nextHopOrigin(): string;
get nextHopPeering(): string;
private _nextHopVpnTunnel?;
get nextHopVpnTunnel(): string;
set nextHopVpnTunnel(value: string);
resetNextHopVpnTunnel(): void;
get nextHopVpnTunnelInput(): string | undefined;
private _priority?;
get priority(): number;
set priority(value: number);
resetPriority(): void;
get priorityInput(): number | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get routeStatus(): string;
get routeType(): string;
get selfLink(): string;
private _tags?;
get tags(): string[];
set tags(value: string[]);
resetTags(): void;
get tagsInput(): string[] | undefined;
private _warnings;
get warnings(): ComputeRouteWarningsList;
private _timeouts;
get timeouts(): ComputeRouteTimeoutsOutputReference;
putTimeouts(value: ComputeRouteTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | ComputeRouteTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}