UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

287 lines (286 loc) 14.9 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetworkConnectivityInternalRangeConfig 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_internal_range#description NetworkConnectivityInternalRange#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#id NetworkConnectivityInternalRange#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; /** * The IP range that this internal range defines. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#ip_cidr_range NetworkConnectivityInternalRange#ip_cidr_range} */ readonly ipCidrRange?: 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_internal_range#labels NetworkConnectivityInternalRange#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_internal_range#name NetworkConnectivityInternalRange#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_internal_range#network NetworkConnectivityInternalRange#network} */ readonly network: string; /** * Optional. Types of resources that are allowed to overlap with the current internal range. Possible values: ["OVERLAP_ROUTE_RANGE", "OVERLAP_EXISTING_SUBNET_RANGE"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#overlaps NetworkConnectivityInternalRange#overlaps} */ readonly overlaps?: string[]; /** * The type of peering set for this internal range. Possible values: ["FOR_SELF", "FOR_PEER", "NOT_SHARED"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#peering NetworkConnectivityInternalRange#peering} */ readonly peering: string; /** * An alternate to ipCidrRange. Can be set when trying to create a reservation that automatically finds a free range of the given size. * If both ipCidrRange and prefixLength are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#prefix_length NetworkConnectivityInternalRange#prefix_length} */ readonly prefixLength?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#project NetworkConnectivityInternalRange#project} */ readonly project?: string; /** * Optional. Can be set to narrow down or pick a different address space while searching for a free range. * If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#target_cidr_range NetworkConnectivityInternalRange#target_cidr_range} */ readonly targetCidrRange?: string[]; /** * The type of usage set for this InternalRange. Possible values: ["FOR_VPC", "EXTERNAL_TO_VPC", "FOR_MIGRATION"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#usage NetworkConnectivityInternalRange#usage} */ readonly usage: string; /** * migration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#migration NetworkConnectivityInternalRange#migration} */ readonly migration?: NetworkConnectivityInternalRangeMigration; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#timeouts NetworkConnectivityInternalRange#timeouts} */ readonly timeouts?: NetworkConnectivityInternalRangeTimeouts; } export interface NetworkConnectivityInternalRangeMigration { /** * Resource path as an URI of the source resource, for example a subnet. * The project for the source resource should match the project for the * InternalRange. * An example /projects/{project}/regions/{region}/subnetworks/{subnet} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#source NetworkConnectivityInternalRange#source} */ readonly source: string; /** * Resource path of the target resource. The target project can be * different, as in the cases when migrating to peer networks. The resource * may not exist yet. * For example /projects/{project}/regions/{region}/subnetworks/{subnet} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#target NetworkConnectivityInternalRange#target} */ readonly target: string; } export declare function networkConnectivityInternalRangeMigrationToTerraform(struct?: NetworkConnectivityInternalRangeMigrationOutputReference | NetworkConnectivityInternalRangeMigration): any; export declare function networkConnectivityInternalRangeMigrationToHclTerraform(struct?: NetworkConnectivityInternalRangeMigrationOutputReference | NetworkConnectivityInternalRangeMigration): any; export declare class NetworkConnectivityInternalRangeMigrationOutputReference 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(): NetworkConnectivityInternalRangeMigration | undefined; set internalValue(value: NetworkConnectivityInternalRangeMigration | undefined); private _source?; get source(): string; set source(value: string); get sourceInput(): string | undefined; private _target?; get target(): string; set target(value: string); get targetInput(): string | undefined; } export interface NetworkConnectivityInternalRangeTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#create NetworkConnectivityInternalRange#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#delete NetworkConnectivityInternalRange#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#update NetworkConnectivityInternalRange#update} */ readonly update?: string; } export declare function networkConnectivityInternalRangeTimeoutsToTerraform(struct?: NetworkConnectivityInternalRangeTimeouts | cdktf.IResolvable): any; export declare function networkConnectivityInternalRangeTimeoutsToHclTerraform(struct?: NetworkConnectivityInternalRangeTimeouts | cdktf.IResolvable): any; export declare class NetworkConnectivityInternalRangeTimeoutsOutputReference 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(): NetworkConnectivityInternalRangeTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetworkConnectivityInternalRangeTimeouts | 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; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range google_network_connectivity_internal_range} */ export declare class NetworkConnectivityInternalRange extends cdktf.TerraformResource { static readonly tfResourceType = "google_network_connectivity_internal_range"; /** * Generates CDKTF code for importing a NetworkConnectivityInternalRange 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 NetworkConnectivityInternalRange to import * @param importFromId The id of the existing NetworkConnectivityInternalRange that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_connectivity_internal_range#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkConnectivityInternalRange 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_internal_range google_network_connectivity_internal_range} 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 NetworkConnectivityInternalRangeConfig */ constructor(scope: Construct, id: string, config: NetworkConnectivityInternalRangeConfig); 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; private _ipCidrRange?; get ipCidrRange(): string; set ipCidrRange(value: string); resetIpCidrRange(): void; get ipCidrRangeInput(): string | undefined; 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 _overlaps?; get overlaps(): string[]; set overlaps(value: string[]); resetOverlaps(): void; get overlapsInput(): string[] | undefined; private _peering?; get peering(): string; set peering(value: string); get peeringInput(): string | undefined; private _prefixLength?; get prefixLength(): number; set prefixLength(value: number); resetPrefixLength(): void; get prefixLengthInput(): number | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _targetCidrRange?; get targetCidrRange(): string[]; set targetCidrRange(value: string[]); resetTargetCidrRange(): void; get targetCidrRangeInput(): string[] | undefined; private _terraformLabels; get terraformLabels(): cdktf.StringMap; private _usage?; get usage(): string; set usage(value: string); get usageInput(): string | undefined; get users(): string[]; private _migration; get migration(): NetworkConnectivityInternalRangeMigrationOutputReference; putMigration(value: NetworkConnectivityInternalRangeMigration): void; resetMigration(): void; get migrationInput(): NetworkConnectivityInternalRangeMigration | undefined; private _timeouts; get timeouts(): NetworkConnectivityInternalRangeTimeoutsOutputReference; putTimeouts(value: NetworkConnectivityInternalRangeTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetworkConnectivityInternalRangeTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }