UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

280 lines (279 loc) 15 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LoadbalancerBackendConfig extends cdktf.TerraformMetaArguments { /** * UUID of the load balancer to which the backend is connected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#loadbalancer LoadbalancerBackend#loadbalancer} */ readonly loadbalancer: string; /** * The name of the backend. 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_backend#name LoadbalancerBackend#name} */ readonly name: string; /** * Domain name resolver used with dynamic type members. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#resolver_name LoadbalancerBackend#resolver_name} */ readonly resolverName?: string; /** * properties block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#properties LoadbalancerBackend#properties} */ readonly properties?: LoadbalancerBackendProperties[] | cdktf.IResolvable; } export interface LoadbalancerBackendProperties { /** * Expected HTTP status code returned by the customer application to mark server as healthy. Ignored for `tcp` `health_check_type`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_expected_status LoadbalancerBackend#health_check_expected_status} */ readonly healthCheckExpectedStatus?: number; /** * Sets how many failed health checks are allowed until the backend member is taken off from the rotation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_fall LoadbalancerBackend#health_check_fall} */ readonly healthCheckFall?: number; /** * Interval between health checks in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_interval LoadbalancerBackend#health_check_interval} */ readonly healthCheckInterval?: number; /** * Sets how many successful health checks are required to put the backend member back into rotation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_rise LoadbalancerBackend#health_check_rise} */ readonly healthCheckRise?: number; /** * Enables certificate verification with the system CA certificate bundle. Works with https scheme in health_check_url, otherwise ignored. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_tls_verify LoadbalancerBackend#health_check_tls_verify} */ readonly healthCheckTlsVerify?: boolean | cdktf.IResolvable; /** * Health check type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_type LoadbalancerBackend#health_check_type} */ readonly healthCheckType?: string; /** * Target path for health check HTTP GET requests. Ignored for `tcp` `health_check_type`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#health_check_url LoadbalancerBackend#health_check_url} */ readonly healthCheckUrl?: string; /** * Allow HTTP/2 connections to backend members by utilizing ALPN extension of TLS protocol, therefore it can only be enabled when tls_enabled is set to true. Note: members should support HTTP/2 for this setting to work. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#http2_enabled LoadbalancerBackend#http2_enabled} */ readonly http2Enabled?: boolean | cdktf.IResolvable; /** * Enable outbound proxy protocol by setting the desired version. Defaults to empty string. Empty string disables proxy protocol. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#outbound_proxy_protocol LoadbalancerBackend#outbound_proxy_protocol} */ readonly outboundProxyProtocol?: string; /** * Sets sticky session cookie name. Empty string disables sticky session. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#sticky_session_cookie_name LoadbalancerBackend#sticky_session_cookie_name} */ readonly stickySessionCookieName?: string; /** * Backend server timeout in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#timeout_server LoadbalancerBackend#timeout_server} */ readonly timeoutServer?: number; /** * Maximum inactivity time on the client and server side for tunnels in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#timeout_tunnel LoadbalancerBackend#timeout_tunnel} */ readonly timeoutTunnel?: number; /** * Enables TLS connection from the load balancer to backend servers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#tls_enabled LoadbalancerBackend#tls_enabled} */ readonly tlsEnabled?: boolean | cdktf.IResolvable; /** * If enabled, then the system CA certificate bundle will be used for the certificate verification. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#tls_use_system_ca LoadbalancerBackend#tls_use_system_ca} */ readonly tlsUseSystemCa?: boolean | cdktf.IResolvable; /** * Enables backend servers certificate verification. Please make sure that TLS config with the certificate bundle of type authority attached to the backend or `tls_use_system_ca` enabled. Note: `tls_verify` has preference over `health_check_tls_verify` when `tls_enabled` in true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#tls_verify LoadbalancerBackend#tls_verify} */ readonly tlsVerify?: boolean | cdktf.IResolvable; } export declare function loadbalancerBackendPropertiesToTerraform(struct?: LoadbalancerBackendProperties | cdktf.IResolvable): any; export declare function loadbalancerBackendPropertiesToHclTerraform(struct?: LoadbalancerBackendProperties | cdktf.IResolvable): any; export declare class LoadbalancerBackendPropertiesOutputReference 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(): LoadbalancerBackendProperties | cdktf.IResolvable | undefined; set internalValue(value: LoadbalancerBackendProperties | cdktf.IResolvable | undefined); private _healthCheckExpectedStatus?; get healthCheckExpectedStatus(): number; set healthCheckExpectedStatus(value: number); resetHealthCheckExpectedStatus(): void; get healthCheckExpectedStatusInput(): number | undefined; private _healthCheckFall?; get healthCheckFall(): number; set healthCheckFall(value: number); resetHealthCheckFall(): void; get healthCheckFallInput(): number | undefined; private _healthCheckInterval?; get healthCheckInterval(): number; set healthCheckInterval(value: number); resetHealthCheckInterval(): void; get healthCheckIntervalInput(): number | undefined; private _healthCheckRise?; get healthCheckRise(): number; set healthCheckRise(value: number); resetHealthCheckRise(): void; get healthCheckRiseInput(): number | undefined; private _healthCheckTlsVerify?; get healthCheckTlsVerify(): boolean | cdktf.IResolvable; set healthCheckTlsVerify(value: boolean | cdktf.IResolvable); resetHealthCheckTlsVerify(): void; get healthCheckTlsVerifyInput(): boolean | cdktf.IResolvable | undefined; private _healthCheckType?; get healthCheckType(): string; set healthCheckType(value: string); resetHealthCheckType(): void; get healthCheckTypeInput(): string | undefined; private _healthCheckUrl?; get healthCheckUrl(): string; set healthCheckUrl(value: string); resetHealthCheckUrl(): void; get healthCheckUrlInput(): string | undefined; private _http2Enabled?; get http2Enabled(): boolean | cdktf.IResolvable; set http2Enabled(value: boolean | cdktf.IResolvable); resetHttp2Enabled(): void; get http2EnabledInput(): boolean | cdktf.IResolvable | undefined; private _outboundProxyProtocol?; get outboundProxyProtocol(): string; set outboundProxyProtocol(value: string); resetOutboundProxyProtocol(): void; get outboundProxyProtocolInput(): string | undefined; private _stickySessionCookieName?; get stickySessionCookieName(): string; set stickySessionCookieName(value: string); resetStickySessionCookieName(): void; get stickySessionCookieNameInput(): string | undefined; private _timeoutServer?; get timeoutServer(): number; set timeoutServer(value: number); resetTimeoutServer(): void; get timeoutServerInput(): number | undefined; private _timeoutTunnel?; get timeoutTunnel(): number; set timeoutTunnel(value: number); resetTimeoutTunnel(): void; get timeoutTunnelInput(): number | undefined; private _tlsEnabled?; get tlsEnabled(): boolean | cdktf.IResolvable; set tlsEnabled(value: boolean | cdktf.IResolvable); resetTlsEnabled(): void; get tlsEnabledInput(): boolean | cdktf.IResolvable | undefined; private _tlsUseSystemCa?; get tlsUseSystemCa(): boolean | cdktf.IResolvable; set tlsUseSystemCa(value: boolean | cdktf.IResolvable); resetTlsUseSystemCa(): void; get tlsUseSystemCaInput(): boolean | cdktf.IResolvable | undefined; private _tlsVerify?; get tlsVerify(): boolean | cdktf.IResolvable; set tlsVerify(value: boolean | cdktf.IResolvable); resetTlsVerify(): void; get tlsVerifyInput(): boolean | cdktf.IResolvable | undefined; } export declare class LoadbalancerBackendPropertiesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LoadbalancerBackendProperties[] | 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): LoadbalancerBackendPropertiesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend upcloud_loadbalancer_backend} */ export declare class LoadbalancerBackend extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_loadbalancer_backend"; /** * Generates CDKTF code for importing a LoadbalancerBackend 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 LoadbalancerBackend to import * @param importFromId The id of the existing LoadbalancerBackend that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/loadbalancer_backend#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LoadbalancerBackend 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_backend upcloud_loadbalancer_backend} 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 LoadbalancerBackendConfig */ constructor(scope: Construct, id: string, config: LoadbalancerBackendConfig); get id(): string; private _loadbalancer?; get loadbalancer(): string; set loadbalancer(value: string); get loadbalancerInput(): string | undefined; get members(): string[]; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _resolverName?; get resolverName(): string; set resolverName(value: string); resetResolverName(): void; get resolverNameInput(): string | undefined; get tlsConfigs(): string[]; private _properties; get properties(): LoadbalancerBackendPropertiesList; putProperties(value: LoadbalancerBackendProperties[] | cdktf.IResolvable): void; resetProperties(): void; get propertiesInput(): cdktf.IResolvable | LoadbalancerBackendProperties[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }