@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
207 lines (206 loc) • 8.9 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface NetworkConfig extends cdktf.TerraformMetaArguments {
/**
* User defined key-value pairs to classify the network.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#labels Network#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Name of the network.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#name Network#name}
*/
readonly name: string;
/**
* UUID of a router to attach to this network.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#router Network#router}
*/
readonly router?: string;
/**
* The zone the network is in, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#zone Network#zone}
*/
readonly zone: string;
/**
* ip_network block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#ip_network Network#ip_network}
*/
readonly ipNetwork?: NetworkIpNetwork[] | cdktf.IResolvable;
}
export interface NetworkIpNetwork {
/**
* The CIDR range of the subnet
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#address Network#address}
*/
readonly address: string;
/**
* Is DHCP enabled?
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#dhcp Network#dhcp}
*/
readonly dhcp: boolean | cdktf.IResolvable;
/**
* Is the gateway the DHCP default route?
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#dhcp_default_route Network#dhcp_default_route}
*/
readonly dhcpDefaultRoute?: boolean | cdktf.IResolvable;
/**
* The DNS servers given by DHCP
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#dhcp_dns Network#dhcp_dns}
*/
readonly dhcpDns?: string[];
/**
* The additional DHCP classless static routes given by DHCP
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#dhcp_routes Network#dhcp_routes}
*/
readonly dhcpRoutes?: string[];
/**
* IP address family
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#family Network#family}
*/
readonly family: string;
/**
* Gateway address given by DHCP
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#gateway Network#gateway}
*/
readonly gateway?: string;
}
export declare function networkIpNetworkToTerraform(struct?: NetworkIpNetwork | cdktf.IResolvable): any;
export declare function networkIpNetworkToHclTerraform(struct?: NetworkIpNetwork | cdktf.IResolvable): any;
export declare class NetworkIpNetworkOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): NetworkIpNetwork | cdktf.IResolvable | undefined;
set internalValue(value: NetworkIpNetwork | cdktf.IResolvable | undefined);
private _address?;
get address(): string;
set address(value: string);
get addressInput(): string | undefined;
private _dhcp?;
get dhcp(): boolean | cdktf.IResolvable;
set dhcp(value: boolean | cdktf.IResolvable);
get dhcpInput(): boolean | cdktf.IResolvable | undefined;
private _dhcpDefaultRoute?;
get dhcpDefaultRoute(): boolean | cdktf.IResolvable;
set dhcpDefaultRoute(value: boolean | cdktf.IResolvable);
resetDhcpDefaultRoute(): void;
get dhcpDefaultRouteInput(): boolean | cdktf.IResolvable | undefined;
private _dhcpDns?;
get dhcpDns(): string[];
set dhcpDns(value: string[]);
resetDhcpDns(): void;
get dhcpDnsInput(): string[] | undefined;
private _dhcpRoutes?;
get dhcpRoutes(): string[];
set dhcpRoutes(value: string[]);
resetDhcpRoutes(): void;
get dhcpRoutesInput(): string[] | undefined;
private _family?;
get family(): string;
set family(value: string);
get familyInput(): string | undefined;
private _gateway?;
get gateway(): string;
set gateway(value: string);
resetGateway(): void;
get gatewayInput(): string | undefined;
}
export declare class NetworkIpNetworkList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: NetworkIpNetwork[] | cdktf.IResolvable;
/**
* @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): NetworkIpNetworkOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network upcloud_network}
*/
export declare class Network extends cdktf.TerraformResource {
static readonly tfResourceType = "upcloud_network";
/**
* Generates CDKTF code for importing a Network 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 Network to import
* @param importFromId The id of the existing Network that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/network#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the Network 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/network upcloud_network} 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 NetworkConfig
*/
constructor(scope: Construct, id: string, config: NetworkConfig);
get id(): 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 _router?;
get router(): string;
set router(value: string);
resetRouter(): void;
get routerInput(): string | undefined;
get type(): string;
private _zone?;
get zone(): string;
set zone(value: string);
get zoneInput(): string | undefined;
private _ipNetwork;
get ipNetwork(): NetworkIpNetworkList;
putIpNetwork(value: NetworkIpNetwork[] | cdktf.IResolvable): void;
resetIpNetwork(): void;
get ipNetworkInput(): cdktf.IResolvable | NetworkIpNetwork[] | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}