@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
223 lines (222 loc) • 11.9 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface LoadbalancerFrontendConfig extends cdktf.TerraformMetaArguments {
/**
* The name of the backend where traffic will be routed by default. The default backend can be overridden in frontend rules.
*
* Note that the frontend resource depends on the default backend resource. Use the `name` field of a backend resource as the value for this field (like in the example above) or the `depends_on` meta argument to ensure the resources are created and destroyed in the correct order.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#default_backend_name LoadbalancerFrontend#default_backend_name}
*/
readonly defaultBackendName: string;
/**
* UUID of the load balancer to which the frontend is connected.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#loadbalancer LoadbalancerFrontend#loadbalancer}
*/
readonly loadbalancer: string;
/**
* When load balancer operating in `tcp` mode it acts as a layer 4 proxy. In `http` mode it acts as a layer 7 proxy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#mode LoadbalancerFrontend#mode}
*/
readonly mode: string;
/**
* The name of the frontend. Must be unique within the load balancer service.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#name LoadbalancerFrontend#name}
*/
readonly name: string;
/**
* Port to listen for incoming requests.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#port LoadbalancerFrontend#port}
*/
readonly port: number;
/**
* networks block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#networks LoadbalancerFrontend#networks}
*/
readonly networks?: LoadbalancerFrontendNetworks[] | cdktf.IResolvable;
/**
* properties block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#properties LoadbalancerFrontend#properties}
*/
readonly properties?: LoadbalancerFrontendProperties[] | cdktf.IResolvable;
}
export interface LoadbalancerFrontendNetworks {
/**
* Name of the load balancer network.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#name LoadbalancerFrontend#name}
*/
readonly name: string;
}
export declare function loadbalancerFrontendNetworksToTerraform(struct?: LoadbalancerFrontendNetworks | cdktf.IResolvable): any;
export declare function loadbalancerFrontendNetworksToHclTerraform(struct?: LoadbalancerFrontendNetworks | cdktf.IResolvable): any;
export declare class LoadbalancerFrontendNetworksOutputReference 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(): LoadbalancerFrontendNetworks | cdktf.IResolvable | undefined;
set internalValue(value: LoadbalancerFrontendNetworks | cdktf.IResolvable | undefined);
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
}
export declare class LoadbalancerFrontendNetworksList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: LoadbalancerFrontendNetworks[] | 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): LoadbalancerFrontendNetworksOutputReference;
}
export interface LoadbalancerFrontendProperties {
/**
* Enable or disable HTTP/2 support.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#http2_enabled LoadbalancerFrontend#http2_enabled}
*/
readonly http2Enabled?: boolean | cdktf.IResolvable;
/**
* Enable or disable inbound proxy protocol support.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#inbound_proxy_protocol LoadbalancerFrontend#inbound_proxy_protocol}
*/
readonly inboundProxyProtocol?: boolean | cdktf.IResolvable;
/**
* Client request timeout in seconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#timeout_client LoadbalancerFrontend#timeout_client}
*/
readonly timeoutClient?: number;
}
export declare function loadbalancerFrontendPropertiesToTerraform(struct?: LoadbalancerFrontendProperties | cdktf.IResolvable): any;
export declare function loadbalancerFrontendPropertiesToHclTerraform(struct?: LoadbalancerFrontendProperties | cdktf.IResolvable): any;
export declare class LoadbalancerFrontendPropertiesOutputReference 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(): LoadbalancerFrontendProperties | cdktf.IResolvable | undefined;
set internalValue(value: LoadbalancerFrontendProperties | cdktf.IResolvable | undefined);
private _http2Enabled?;
get http2Enabled(): boolean | cdktf.IResolvable;
set http2Enabled(value: boolean | cdktf.IResolvable);
resetHttp2Enabled(): void;
get http2EnabledInput(): boolean | cdktf.IResolvable | undefined;
private _inboundProxyProtocol?;
get inboundProxyProtocol(): boolean | cdktf.IResolvable;
set inboundProxyProtocol(value: boolean | cdktf.IResolvable);
resetInboundProxyProtocol(): void;
get inboundProxyProtocolInput(): boolean | cdktf.IResolvable | undefined;
private _timeoutClient?;
get timeoutClient(): number;
set timeoutClient(value: number);
resetTimeoutClient(): void;
get timeoutClientInput(): number | undefined;
}
export declare class LoadbalancerFrontendPropertiesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: LoadbalancerFrontendProperties[] | 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): LoadbalancerFrontendPropertiesOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend upcloud_loadbalancer_frontend}
*/
export declare class LoadbalancerFrontend extends cdktf.TerraformResource {
static readonly tfResourceType = "upcloud_loadbalancer_frontend";
/**
* Generates CDKTF code for importing a LoadbalancerFrontend 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 LoadbalancerFrontend to import
* @param importFromId The id of the existing LoadbalancerFrontend that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_frontend#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the LoadbalancerFrontend 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/loadbalancer_frontend upcloud_loadbalancer_frontend} 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 LoadbalancerFrontendConfig
*/
constructor(scope: Construct, id: string, config: LoadbalancerFrontendConfig);
private _defaultBackendName?;
get defaultBackendName(): string;
set defaultBackendName(value: string);
get defaultBackendNameInput(): string | undefined;
get id(): string;
private _loadbalancer?;
get loadbalancer(): string;
set loadbalancer(value: string);
get loadbalancerInput(): string | undefined;
private _mode?;
get mode(): string;
set mode(value: string);
get modeInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _port?;
get port(): number;
set port(value: number);
get portInput(): number | undefined;
get rules(): string[];
get tlsConfigs(): string[];
private _networks;
get networks(): LoadbalancerFrontendNetworksList;
putNetworks(value: LoadbalancerFrontendNetworks[] | cdktf.IResolvable): void;
resetNetworks(): void;
get networksInput(): cdktf.IResolvable | LoadbalancerFrontendNetworks[] | undefined;
private _properties;
get properties(): LoadbalancerFrontendPropertiesList;
putProperties(value: LoadbalancerFrontendProperties[] | cdktf.IResolvable): void;
resetProperties(): void;
get propertiesInput(): cdktf.IResolvable | LoadbalancerFrontendProperties[] | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}