import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ElasticIpConfig extends cdktf.TerraformMetaArguments { /** * ❗ The Elastic IP (EIP) address family (`inet4` or `inet6`; default: `inet4`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#address_family ElasticIp#address_family} */ readonly addressFamily?: string; /** * A free-form text describing the Elastic IP (EIP). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#description ElasticIp#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#id ElasticIp#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * A map of key/value labels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#labels ElasticIp#labels} */ readonly labels?: { [key: string]: string; }; /** * Domain name for reverse DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#reverse_dns ElasticIp#reverse_dns} */ readonly reverseDns?: string; /** * ❗ The Exoscale [Zone](https://www.exoscale.com/datacenters/) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#zone ElasticIp#zone} */ readonly zone: string; /** * healthcheck block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#healthcheck ElasticIp#healthcheck} */ readonly healthcheck?: ElasticIpHealthcheck; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#timeouts ElasticIp#timeouts} */ readonly timeouts?: ElasticIpTimeouts; } export interface ElasticIpHealthcheck { /** * The healthcheck interval (seconds; must be between `5` and `300`; default: `10`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#interval ElasticIp#interval} */ readonly interval?: number; /** * The healthcheck mode (`tcp`, `http` or `https`; may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#mode ElasticIp#mode} */ readonly mode: string; /** * The healthcheck target port (must be between `1` and `65535`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#port ElasticIp#port} */ readonly port: number; /** * The number of failed healthcheck attempts before considering the target unhealthy (must be between `1` and `20`; default: `2`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#strikes_fail ElasticIp#strikes_fail} */ readonly strikesFail?: number; /** * The number of successful healthcheck attempts before considering the target healthy (must be between `1` and `20`; default: `3`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#strikes_ok ElasticIp#strikes_ok} */ readonly strikesOk?: number; /** * The time before considering a healthcheck probing failed (seconds; must be between `2` and `60`; default: `3`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#timeout ElasticIp#timeout} */ readonly timeout?: number; /** * Disable TLS certificate verification for healthcheck in `https` mode (boolean; default: `false`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#tls_skip_verify ElasticIp#tls_skip_verify} */ readonly tlsSkipVerify?: boolean | cdktf.IResolvable; /** * The healthcheck server name to present with SNI in `https` mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#tls_sni ElasticIp#tls_sni} */ readonly tlsSni?: string; /** * The healthcheck target URI (required in `http(s)` modes). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#uri ElasticIp#uri} */ readonly uri?: string; } export declare function elasticIpHealthcheckToTerraform(struct?: ElasticIpHealthcheckOutputReference | ElasticIpHealthcheck): any; export declare function elasticIpHealthcheckToHclTerraform(struct?: ElasticIpHealthcheckOutputReference | ElasticIpHealthcheck): any; export declare class ElasticIpHealthcheckOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): ElasticIpHealthcheck | undefined; set internalValue(value: ElasticIpHealthcheck | undefined); private _interval?; get interval(): number; set interval(value: number); resetInterval(): void; get intervalInput(): number; private _mode?; get mode(): string; set mode(value: string); get modeInput(): string; private _port?; get port(): number; set port(value: number); get portInput(): number; private _strikesFail?; get strikesFail(): number; set strikesFail(value: number); resetStrikesFail(): void; get strikesFailInput(): number; private _strikesOk?; get strikesOk(): number; set strikesOk(value: number); resetStrikesOk(): void; get strikesOkInput(): number; private _timeout?; get timeout(): number; set timeout(value: number); resetTimeout(): void; get timeoutInput(): number; private _tlsSkipVerify?; get tlsSkipVerify(): boolean | cdktf.IResolvable; set tlsSkipVerify(value: boolean | cdktf.IResolvable); resetTlsSkipVerify(): void; get tlsSkipVerifyInput(): any; private _tlsSni?; get tlsSni(): string; set tlsSni(value: string); resetTlsSni(): void; get tlsSniInput(): string; private _uri?; get uri(): string; set uri(value: string); resetUri(): void; get uriInput(): string; } export interface ElasticIpTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#create ElasticIp#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#delete ElasticIp#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#read ElasticIp#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#update ElasticIp#update} */ readonly update?: string; } export declare function elasticIpTimeoutsToTerraform(struct?: ElasticIpTimeouts | cdktf.IResolvable): any; export declare function elasticIpTimeoutsToHclTerraform(struct?: ElasticIpTimeouts | cdktf.IResolvable): any; export declare class ElasticIpTimeoutsOutputReference 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(): ElasticIpTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ElasticIpTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip exoscale_elastic_ip} */ export declare class ElasticIp extends cdktf.TerraformResource { static readonly tfResourceType = "exoscale_elastic_ip"; /** * Generates CDKTF code for importing a ElasticIp resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the ElasticIp to import * @param importFromId The id of the existing ElasticIp that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ElasticIp to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/elastic_ip exoscale_elastic_ip} 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 ElasticIpConfig */ constructor(scope: Construct, id: string, config: ElasticIpConfig); private _addressFamily?; get addressFamily(): string; set addressFamily(value: string); resetAddressFamily(): void; get addressFamilyInput(): string; get cidr(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get ipAddress(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _reverseDns?; get reverseDns(): string; set reverseDns(value: string); resetReverseDns(): void; get reverseDnsInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _healthcheck; get healthcheck(): ElasticIpHealthcheckOutputReference; putHealthcheck(value: ElasticIpHealthcheck): void; resetHealthcheck(): void; get healthcheckInput(): ElasticIpHealthcheck; private _timeouts; get timeouts(): ElasticIpTimeoutsOutputReference; putTimeouts(value: ElasticIpTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }