UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

377 lines (376 loc) 18.8 kB
/** * 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; }; }