UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

391 lines (390 loc) 19.6 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LoadbalancerConfig extends cdktf.TerraformMetaArguments { /** * The service configured status indicates the service's current intended status. Managed by the customer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#configured_status Loadbalancer#configured_status} */ readonly configuredStatus?: string; /** * Floating IP addresses connected to the load balancer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#ip_addresses Loadbalancer#ip_addresses} */ readonly ipAddresses?: LoadbalancerIpAddresses[] | cdktf.IResolvable; /** * User defined key-value pairs to classify the load balancer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#labels Loadbalancer#labels} */ readonly labels?: { [key: string]: string; }; /** * The day of the week on which maintenance will be performed. If not provided, we will randomly select a weekend day. Valid values `monday|tuesday|wednesday|thursday|friday|saturday|sunday`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#maintenance_dow Loadbalancer#maintenance_dow} */ readonly maintenanceDow?: string; /** * The time at which the maintenance will begin in UTC. A 2-hour timeframe has been allocated for maintenance. During this period, the multi-node production plans will not experience any downtime, while the one-node plans will have a downtime of 1-2 minutes. If not provided, we will randomly select an off-peak time. Needs to be a valid time format in UTC HH:MM:SSZ, for example `20:01:01Z`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#maintenance_time Loadbalancer#maintenance_time} */ readonly maintenanceTime?: string; /** * The name of the service. Must be unique within customer account. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#name Loadbalancer#name} */ readonly name: string; /** * Private network UUID where traffic will be routed. Must reside in load balancer zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#network Loadbalancer#network} */ readonly network?: string; /** * Plan which the service will have. You can list available load balancer plans with `upctl loadbalancer plans` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#plan Loadbalancer#plan} */ readonly plan: string; /** * Zone in which the service will be hosted, e.g. `fi-hel1`. 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/loadbalancer#zone Loadbalancer#zone} */ readonly zone: string; /** * networks block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#networks Loadbalancer#networks} */ readonly networks?: LoadbalancerNetworks[] | cdktf.IResolvable; } export interface LoadbalancerIpAddresses { /** * Floating IP address to attach to the load balancer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#address Loadbalancer#address} */ readonly address: string; /** * Name of the network where to attach the IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#network_name Loadbalancer#network_name} */ readonly networkName: string; } export declare function loadbalancerIpAddressesToTerraform(struct?: LoadbalancerIpAddresses | cdktf.IResolvable): any; export declare function loadbalancerIpAddressesToHclTerraform(struct?: LoadbalancerIpAddresses | cdktf.IResolvable): any; export declare class LoadbalancerIpAddressesOutputReference 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(): LoadbalancerIpAddresses | cdktf.IResolvable | undefined; set internalValue(value: LoadbalancerIpAddresses | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); get addressInput(): string | undefined; private _networkName?; get networkName(): string; set networkName(value: string); get networkNameInput(): string | undefined; } export declare class LoadbalancerIpAddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LoadbalancerIpAddresses[] | 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): LoadbalancerIpAddressesOutputReference; } export interface LoadbalancerNodesNetworksIpAddresses { } export declare function loadbalancerNodesNetworksIpAddressesToTerraform(struct?: LoadbalancerNodesNetworksIpAddresses): any; export declare function loadbalancerNodesNetworksIpAddressesToHclTerraform(struct?: LoadbalancerNodesNetworksIpAddresses): any; export declare class LoadbalancerNodesNetworksIpAddressesOutputReference 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(): LoadbalancerNodesNetworksIpAddresses | undefined; set internalValue(value: LoadbalancerNodesNetworksIpAddresses | undefined); get address(): string; get listen(): cdktf.IResolvable; } export declare class LoadbalancerNodesNetworksIpAddressesList 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): LoadbalancerNodesNetworksIpAddressesOutputReference; } export interface LoadbalancerNodesNetworks { } export declare function loadbalancerNodesNetworksToTerraform(struct?: LoadbalancerNodesNetworks): any; export declare function loadbalancerNodesNetworksToHclTerraform(struct?: LoadbalancerNodesNetworks): any; export declare class LoadbalancerNodesNetworksOutputReference 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(): LoadbalancerNodesNetworks | undefined; set internalValue(value: LoadbalancerNodesNetworks | undefined); private _ipAddresses; get ipAddresses(): LoadbalancerNodesNetworksIpAddressesList; get name(): string; get type(): string; } export declare class LoadbalancerNodesNetworksList 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): LoadbalancerNodesNetworksOutputReference; } export interface LoadbalancerNodes { } export declare function loadbalancerNodesToTerraform(struct?: LoadbalancerNodes): any; export declare function loadbalancerNodesToHclTerraform(struct?: LoadbalancerNodes): any; export declare class LoadbalancerNodesOutputReference 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(): LoadbalancerNodes | undefined; set internalValue(value: LoadbalancerNodes | undefined); private _networks; get networks(): LoadbalancerNodesNetworksList; get operationalState(): string; } export declare class LoadbalancerNodesList 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): LoadbalancerNodesOutputReference; } export interface LoadbalancerNetworks { /** * Network family. Currently only `IPv4` is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#family Loadbalancer#family} */ readonly family: string; /** * The name of the network. Must be unique within the service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#name Loadbalancer#name} */ readonly name: string; /** * Private network UUID. Required for private networks and must reside in loadbalancer zone. For public network the field should be omitted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#network Loadbalancer#network} */ readonly network?: string; /** * The type of the network. Only one public network can be attached and at least one private network must be attached. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#type Loadbalancer#type} */ readonly type: string; } export declare function loadbalancerNetworksToTerraform(struct?: LoadbalancerNetworks | cdktf.IResolvable): any; export declare function loadbalancerNetworksToHclTerraform(struct?: LoadbalancerNetworks | cdktf.IResolvable): any; export declare class LoadbalancerNetworksOutputReference 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(): LoadbalancerNetworks | cdktf.IResolvable | undefined; set internalValue(value: LoadbalancerNetworks | cdktf.IResolvable | undefined); get dnsName(): string; private _family?; get family(): string; set family(value: string); get familyInput(): string | undefined; get id(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _type?; get type(): string; set type(value: string); get typeInput(): string | undefined; } export declare class LoadbalancerNetworksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LoadbalancerNetworks[] | 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): LoadbalancerNetworksOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer upcloud_loadbalancer} */ export declare class Loadbalancer extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_loadbalancer"; /** * Generates CDKTF code for importing a Loadbalancer 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 Loadbalancer to import * @param importFromId The id of the existing Loadbalancer that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/loadbalancer#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Loadbalancer 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/loadbalancer upcloud_loadbalancer} 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 LoadbalancerConfig */ constructor(scope: Construct, id: string, config: LoadbalancerConfig); get backends(): string[]; private _configuredStatus?; get configuredStatus(): string; set configuredStatus(value: string); resetConfiguredStatus(): void; get configuredStatusInput(): string | undefined; get dnsName(): string; get frontends(): string[]; get id(): string; private _ipAddresses; get ipAddresses(): LoadbalancerIpAddressesList; putIpAddresses(value: LoadbalancerIpAddresses[] | cdktf.IResolvable): void; resetIpAddresses(): void; get ipAddressesInput(): cdktf.IResolvable | LoadbalancerIpAddresses[] | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _maintenanceDow?; get maintenanceDow(): string; set maintenanceDow(value: string); resetMaintenanceDow(): void; get maintenanceDowInput(): string | undefined; private _maintenanceTime?; get maintenanceTime(): string; set maintenanceTime(value: string); resetMaintenanceTime(): void; get maintenanceTimeInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _nodes; get nodes(): LoadbalancerNodesList; get operationalState(): string; private _plan?; get plan(): string; set plan(value: string); get planInput(): string | undefined; get resolvers(): string[]; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string | undefined; private _networks; get networks(): LoadbalancerNetworksList; putNetworks(value: LoadbalancerNetworks[] | cdktf.IResolvable): void; resetNetworks(): void; get networksInput(): cdktf.IResolvable | LoadbalancerNetworks[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }