UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

223 lines (222 loc) 11.9 kB
/** * 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; }; }