UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

379 lines (378 loc) 21.4 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetworkConnectivityPolicyBasedRouteConfig extends cdktf.TerraformMetaArguments { /** * An optional description of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#description NetworkConnectivityPolicyBasedRoute#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#id NetworkConnectivityPolicyBasedRoute#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. * * * **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/network_connectivity_policy_based_route#labels NetworkConnectivityPolicyBasedRoute#labels} */ readonly labels?: { [key: string]: string; }; /** * The name of the policy based route. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#name NetworkConnectivityPolicyBasedRoute#name} */ readonly name: string; /** * Fully-qualified URL of the network that this route applies to, for example: projects/my-project/global/networks/my-network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#network NetworkConnectivityPolicyBasedRoute#network} */ readonly network: string; /** * The IP address of a global-access-enabled L4 ILB that is the next hop for matching packets. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#next_hop_ilb_ip NetworkConnectivityPolicyBasedRoute#next_hop_ilb_ip} */ readonly nextHopIlbIp?: string; /** * Other routes that will be referenced to determine the next hop of the packet. Possible values: ["DEFAULT_ROUTING"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#next_hop_other_routes NetworkConnectivityPolicyBasedRoute#next_hop_other_routes} */ readonly nextHopOtherRoutes?: string; /** * The priority of this policy-based route. Priority is used to break ties in cases where there are more than one matching policy-based routes found. In cases where multiple policy-based routes are matched, the one with the lowest-numbered priority value wins. The default value is 1000. The priority value must be from 1 to 65535, inclusive. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#priority NetworkConnectivityPolicyBasedRoute#priority} */ readonly priority?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#project NetworkConnectivityPolicyBasedRoute#project} */ readonly project?: string; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#filter NetworkConnectivityPolicyBasedRoute#filter} */ readonly filter: NetworkConnectivityPolicyBasedRouteFilter; /** * interconnect_attachment block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#interconnect_attachment NetworkConnectivityPolicyBasedRoute#interconnect_attachment} */ readonly interconnectAttachment?: NetworkConnectivityPolicyBasedRouteInterconnectAttachment; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#timeouts NetworkConnectivityPolicyBasedRoute#timeouts} */ readonly timeouts?: NetworkConnectivityPolicyBasedRouteTimeouts; /** * virtual_machine block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#virtual_machine NetworkConnectivityPolicyBasedRoute#virtual_machine} */ readonly virtualMachine?: NetworkConnectivityPolicyBasedRouteVirtualMachine; } export interface NetworkConnectivityPolicyBasedRouteWarnings { } export declare function networkConnectivityPolicyBasedRouteWarningsToTerraform(struct?: NetworkConnectivityPolicyBasedRouteWarnings): any; export declare function networkConnectivityPolicyBasedRouteWarningsToHclTerraform(struct?: NetworkConnectivityPolicyBasedRouteWarnings): any; export declare class NetworkConnectivityPolicyBasedRouteWarningsOutputReference 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(): NetworkConnectivityPolicyBasedRouteWarnings | undefined; set internalValue(value: NetworkConnectivityPolicyBasedRouteWarnings | undefined); get code(): string; private _data; get data(): cdktf.StringMap; get warningMessage(): string; } export declare class NetworkConnectivityPolicyBasedRouteWarningsList 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): NetworkConnectivityPolicyBasedRouteWarningsOutputReference; } export interface NetworkConnectivityPolicyBasedRouteFilter { /** * The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#dest_range NetworkConnectivityPolicyBasedRoute#dest_range} */ readonly destRange?: string; /** * The IP protocol that this policy-based route applies to. Valid values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#ip_protocol NetworkConnectivityPolicyBasedRoute#ip_protocol} */ readonly ipProtocol?: string; /** * Internet protocol versions this policy-based route applies to. Possible values: ["IPV4"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#protocol_version NetworkConnectivityPolicyBasedRoute#protocol_version} */ readonly protocolVersion: string; /** * The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#src_range NetworkConnectivityPolicyBasedRoute#src_range} */ readonly srcRange?: string; } export declare function networkConnectivityPolicyBasedRouteFilterToTerraform(struct?: NetworkConnectivityPolicyBasedRouteFilterOutputReference | NetworkConnectivityPolicyBasedRouteFilter): any; export declare function networkConnectivityPolicyBasedRouteFilterToHclTerraform(struct?: NetworkConnectivityPolicyBasedRouteFilterOutputReference | NetworkConnectivityPolicyBasedRouteFilter): any; export declare class NetworkConnectivityPolicyBasedRouteFilterOutputReference 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(): NetworkConnectivityPolicyBasedRouteFilter | undefined; set internalValue(value: NetworkConnectivityPolicyBasedRouteFilter | undefined); private _destRange?; get destRange(): string; set destRange(value: string); resetDestRange(): void; get destRangeInput(): string | undefined; private _ipProtocol?; get ipProtocol(): string; set ipProtocol(value: string); resetIpProtocol(): void; get ipProtocolInput(): string | undefined; private _protocolVersion?; get protocolVersion(): string; set protocolVersion(value: string); get protocolVersionInput(): string | undefined; private _srcRange?; get srcRange(): string; set srcRange(value: string); resetSrcRange(): void; get srcRangeInput(): string | undefined; } export interface NetworkConnectivityPolicyBasedRouteInterconnectAttachment { /** * Cloud region to install this policy-based route on for Interconnect attachments. Use 'all' to install it on all Interconnect attachments. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#region NetworkConnectivityPolicyBasedRoute#region} */ readonly region: string; } export declare function networkConnectivityPolicyBasedRouteInterconnectAttachmentToTerraform(struct?: NetworkConnectivityPolicyBasedRouteInterconnectAttachmentOutputReference | NetworkConnectivityPolicyBasedRouteInterconnectAttachment): any; export declare function networkConnectivityPolicyBasedRouteInterconnectAttachmentToHclTerraform(struct?: NetworkConnectivityPolicyBasedRouteInterconnectAttachmentOutputReference | NetworkConnectivityPolicyBasedRouteInterconnectAttachment): any; export declare class NetworkConnectivityPolicyBasedRouteInterconnectAttachmentOutputReference 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(): NetworkConnectivityPolicyBasedRouteInterconnectAttachment | undefined; set internalValue(value: NetworkConnectivityPolicyBasedRouteInterconnectAttachment | undefined); private _region?; get region(): string; set region(value: string); get regionInput(): string | undefined; } export interface NetworkConnectivityPolicyBasedRouteTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#create NetworkConnectivityPolicyBasedRoute#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#delete NetworkConnectivityPolicyBasedRoute#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#update NetworkConnectivityPolicyBasedRoute#update} */ readonly update?: string; } export declare function networkConnectivityPolicyBasedRouteTimeoutsToTerraform(struct?: NetworkConnectivityPolicyBasedRouteTimeouts | cdktf.IResolvable): any; export declare function networkConnectivityPolicyBasedRouteTimeoutsToHclTerraform(struct?: NetworkConnectivityPolicyBasedRouteTimeouts | cdktf.IResolvable): any; export declare class NetworkConnectivityPolicyBasedRouteTimeoutsOutputReference 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(): NetworkConnectivityPolicyBasedRouteTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetworkConnectivityPolicyBasedRouteTimeouts | 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; } export interface NetworkConnectivityPolicyBasedRouteVirtualMachine { /** * A list of VM instance tags that this policy-based route applies to. VM instances that have ANY of tags specified here will install this PBR. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#tags NetworkConnectivityPolicyBasedRoute#tags} */ readonly tags: string[]; } export declare function networkConnectivityPolicyBasedRouteVirtualMachineToTerraform(struct?: NetworkConnectivityPolicyBasedRouteVirtualMachineOutputReference | NetworkConnectivityPolicyBasedRouteVirtualMachine): any; export declare function networkConnectivityPolicyBasedRouteVirtualMachineToHclTerraform(struct?: NetworkConnectivityPolicyBasedRouteVirtualMachineOutputReference | NetworkConnectivityPolicyBasedRouteVirtualMachine): any; export declare class NetworkConnectivityPolicyBasedRouteVirtualMachineOutputReference 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(): NetworkConnectivityPolicyBasedRouteVirtualMachine | undefined; set internalValue(value: NetworkConnectivityPolicyBasedRouteVirtualMachine | undefined); private _tags?; get tags(): string[]; set tags(value: string[]); get tagsInput(): string[] | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route google_network_connectivity_policy_based_route} */ export declare class NetworkConnectivityPolicyBasedRoute extends cdktf.TerraformResource { static readonly tfResourceType = "google_network_connectivity_policy_based_route"; /** * Generates CDKTF code for importing a NetworkConnectivityPolicyBasedRoute 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 NetworkConnectivityPolicyBasedRoute to import * @param importFromId The id of the existing NetworkConnectivityPolicyBasedRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_policy_based_route#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkConnectivityPolicyBasedRoute 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/network_connectivity_policy_based_route google_network_connectivity_policy_based_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 NetworkConnectivityPolicyBasedRouteConfig */ constructor(scope: Construct, id: string, config: NetworkConnectivityPolicyBasedRouteConfig); get createTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; get kind(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: 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 _nextHopIlbIp?; get nextHopIlbIp(): string; set nextHopIlbIp(value: string); resetNextHopIlbIp(): void; get nextHopIlbIpInput(): string | undefined; private _nextHopOtherRoutes?; get nextHopOtherRoutes(): string; set nextHopOtherRoutes(value: string); resetNextHopOtherRoutes(): void; get nextHopOtherRoutesInput(): 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; private _terraformLabels; get terraformLabels(): cdktf.StringMap; get updateTime(): string; private _warnings; get warnings(): NetworkConnectivityPolicyBasedRouteWarningsList; private _filter; get filter(): NetworkConnectivityPolicyBasedRouteFilterOutputReference; putFilter(value: NetworkConnectivityPolicyBasedRouteFilter): void; get filterInput(): NetworkConnectivityPolicyBasedRouteFilter | undefined; private _interconnectAttachment; get interconnectAttachment(): NetworkConnectivityPolicyBasedRouteInterconnectAttachmentOutputReference; putInterconnectAttachment(value: NetworkConnectivityPolicyBasedRouteInterconnectAttachment): void; resetInterconnectAttachment(): void; get interconnectAttachmentInput(): NetworkConnectivityPolicyBasedRouteInterconnectAttachment | undefined; private _timeouts; get timeouts(): NetworkConnectivityPolicyBasedRouteTimeoutsOutputReference; putTimeouts(value: NetworkConnectivityPolicyBasedRouteTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetworkConnectivityPolicyBasedRouteTimeouts | undefined; private _virtualMachine; get virtualMachine(): NetworkConnectivityPolicyBasedRouteVirtualMachineOutputReference; putVirtualMachine(value: NetworkConnectivityPolicyBasedRouteVirtualMachine): void; resetVirtualMachine(): void; get virtualMachineInput(): NetworkConnectivityPolicyBasedRouteVirtualMachine | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }