UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

386 lines (385 loc) 18.5 kB
/** * 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; }; }