@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
377 lines (376 loc) • 18.8 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.32.0/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.32.0/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.32.0/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.32.0/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.32.0/docs/resources/network#ip_network Network#ip_network}
*/
readonly ipNetwork?: NetworkIpNetwork[] | cdktf.IResolvable;
}
export interface NetworkEffectiveRoutes {
}
export declare function networkEffectiveRoutesToTerraform(struct?: NetworkEffectiveRoutes): any;
export declare function networkEffectiveRoutesToHclTerraform(struct?: NetworkEffectiveRoutes): any;
export declare class NetworkEffectiveRoutesOutputReference 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(): NetworkEffectiveRoutes | undefined;
set internalValue(value: NetworkEffectiveRoutes | undefined);
get nexthop(): string;
get route(): string;
get source(): string;
get sourceResourceId(): string;
get type(): string;
}
export declare class NetworkEffectiveRoutesList 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): NetworkEffectiveRoutesOutputReference;
}
export interface NetworkIpNetworkDhcpEffectiveRoutes {
}
export declare function networkIpNetworkDhcpEffectiveRoutesToTerraform(struct?: NetworkIpNetworkDhcpEffectiveRoutes): any;
export declare function networkIpNetworkDhcpEffectiveRoutesToHclTerraform(struct?: NetworkIpNetworkDhcpEffectiveRoutes): any;
export declare class NetworkIpNetworkDhcpEffectiveRoutesOutputReference 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(): NetworkIpNetworkDhcpEffectiveRoutes | undefined;
set internalValue(value: NetworkIpNetworkDhcpEffectiveRoutes | undefined);
get autoPopulated(): cdktf.IResolvable;
get nexthop(): string;
get route(): string;
}
export declare class NetworkIpNetworkDhcpEffectiveRoutesList 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): NetworkIpNetworkDhcpEffectiveRoutesOutputReference;
}
export interface NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation {
/**
* Enable or disable route auto-population.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#enabled Network#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
/**
* Exclude routes coming from specific sources (router-connected-networks, static-route).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#exclude_by_source Network#exclude_by_source}
*/
readonly excludeBySource?: string[];
/**
* CIDR destinations to include when auto-populating routes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#filter_by_destination Network#filter_by_destination}
*/
readonly filterByDestination?: string[];
/**
* Include only routes of given types (service, user).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#filter_by_route_type Network#filter_by_route_type}
*/
readonly filterByRouteType?: string[];
}
export declare function networkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationToTerraform(struct?: NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation | cdktf.IResolvable): any;
export declare function networkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationToHclTerraform(struct?: NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation | cdktf.IResolvable): any;
export declare class NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference 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(): NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation | cdktf.IResolvable | undefined;
set internalValue(value: NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation | cdktf.IResolvable | undefined);
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
private _excludeBySource?;
get excludeBySource(): string[];
set excludeBySource(value: string[]);
resetExcludeBySource(): void;
get excludeBySourceInput(): string[] | undefined;
private _filterByDestination?;
get filterByDestination(): string[];
set filterByDestination(value: string[]);
resetFilterByDestination(): void;
get filterByDestinationInput(): string[] | undefined;
private _filterByRouteType?;
get filterByRouteType(): string[];
set filterByRouteType(value: string[]);
resetFilterByRouteType(): void;
get filterByRouteTypeInput(): string[] | undefined;
}
export interface NetworkIpNetworkDhcpRoutesConfiguration {
/**
* Automatically populate effective routes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#effective_routes_auto_population Network#effective_routes_auto_population}
*/
readonly effectiveRoutesAutoPopulation?: NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation;
}
export declare function networkIpNetworkDhcpRoutesConfigurationToTerraform(struct?: NetworkIpNetworkDhcpRoutesConfiguration | cdktf.IResolvable): any;
export declare function networkIpNetworkDhcpRoutesConfigurationToHclTerraform(struct?: NetworkIpNetworkDhcpRoutesConfiguration | cdktf.IResolvable): any;
export declare class NetworkIpNetworkDhcpRoutesConfigurationOutputReference 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(): NetworkIpNetworkDhcpRoutesConfiguration | cdktf.IResolvable | undefined;
set internalValue(value: NetworkIpNetworkDhcpRoutesConfiguration | cdktf.IResolvable | undefined);
private _effectiveRoutesAutoPopulation;
get effectiveRoutesAutoPopulation(): NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulationOutputReference;
putEffectiveRoutesAutoPopulation(value: NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation): void;
resetEffectiveRoutesAutoPopulation(): void;
get effectiveRoutesAutoPopulationInput(): cdktf.IResolvable | NetworkIpNetworkDhcpRoutesConfigurationEffectiveRoutesAutoPopulation | undefined;
}
export interface NetworkIpNetwork {
/**
* The CIDR range of the subnet
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/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.32.0/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.32.0/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.32.0/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.32.0/docs/resources/network#dhcp_routes Network#dhcp_routes}
*/
readonly dhcpRoutes?: string[];
/**
* DHCP routes auto-population configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/network#dhcp_routes_configuration Network#dhcp_routes_configuration}
*/
readonly dhcpRoutesConfiguration?: NetworkIpNetworkDhcpRoutesConfiguration;
/**
* IP address family
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/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.32.0/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 _dhcpEffectiveRoutes;
get dhcpEffectiveRoutes(): NetworkIpNetworkDhcpEffectiveRoutesList;
private _dhcpRoutes?;
get dhcpRoutes(): string[];
set dhcpRoutes(value: string[]);
resetDhcpRoutes(): void;
get dhcpRoutesInput(): string[] | undefined;
private _dhcpRoutesConfiguration;
get dhcpRoutesConfiguration(): NetworkIpNetworkDhcpRoutesConfigurationOutputReference;
putDhcpRoutesConfiguration(value: NetworkIpNetworkDhcpRoutesConfiguration): void;
resetDhcpRoutesConfiguration(): void;
get dhcpRoutesConfigurationInput(): cdktf.IResolvable | NetworkIpNetworkDhcpRoutesConfiguration | 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.32.0/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.32.0/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.32.0/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);
private _effectiveRoutes;
get effectiveRoutes(): NetworkEffectiveRoutesList;
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;
};
}