UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

231 lines (230 loc) 10.4 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GatewayConfig 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.23.3/docs/resources/gateway#configured_status Gateway#configured_status} */ readonly configuredStatus?: string; /** * Features enabled for the gateway. Note that VPN feature is currently in beta, for more details see https://upcloud.com/resources/docs/networking#nat-and-vpn-gateways. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#features Gateway#features} */ readonly features: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#id Gateway#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; /** * User defined key-value pairs to classify the network gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#labels Gateway#labels} */ readonly labels?: { [key: string]: string; }; /** * Gateway name. Needs to be unique within the account. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#name Gateway#name} */ readonly name: string; /** * Gateway pricing plan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#plan Gateway#plan} */ readonly plan?: string; /** * Zone in which the gateway will be hosted, e.g. `de-fra1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#zone Gateway#zone} */ readonly zone: string; /** * address block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#address Gateway#address} */ readonly address?: GatewayAddress; /** * router block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#router Gateway#router} */ readonly router: GatewayRouter; } export interface GatewayAddresses { } export declare function gatewayAddressesToTerraform(struct?: GatewayAddresses): any; export declare function gatewayAddressesToHclTerraform(struct?: GatewayAddresses): any; export declare class GatewayAddressesOutputReference 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(): GatewayAddresses | undefined; set internalValue(value: GatewayAddresses | undefined); get address(): string; get name(): string; } export declare class GatewayAddressesList 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): GatewayAddressesOutputReference; } export interface GatewayAddress { /** * Name of the IP address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#name Gateway#name} */ readonly name?: string; } export declare function gatewayAddressToTerraform(struct?: GatewayAddressOutputReference | GatewayAddress): any; export declare function gatewayAddressToHclTerraform(struct?: GatewayAddressOutputReference | GatewayAddress): any; export declare class GatewayAddressOutputReference 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(): GatewayAddress | undefined; set internalValue(value: GatewayAddress | undefined); get address(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; } export interface GatewayRouter { /** * ID of the router attached to the gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#id Gateway#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; } export declare function gatewayRouterToTerraform(struct?: GatewayRouterOutputReference | GatewayRouter): any; export declare function gatewayRouterToHclTerraform(struct?: GatewayRouterOutputReference | GatewayRouter): any; export declare class GatewayRouterOutputReference 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(): GatewayRouter | undefined; set internalValue(value: GatewayRouter | undefined); private _id?; get id(): string; set id(value: string); get idInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway upcloud_gateway} */ export declare class Gateway extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_gateway"; /** * Generates CDKTF code for importing a Gateway 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 Gateway to import * @param importFromId The id of the existing Gateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Gateway 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/gateway upcloud_gateway} 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 GatewayConfig */ constructor(scope: Construct, id: string, config: GatewayConfig); private _addresses; get addresses(): GatewayAddressesList; private _configuredStatus?; get configuredStatus(): string; set configuredStatus(value: string); resetConfiguredStatus(): void; get configuredStatusInput(): string | undefined; get connections(): string[]; private _features?; get features(): string[]; set features(value: string[]); get featuresInput(): string[] | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; get operationalState(): string; private _plan?; get plan(): string; set plan(value: string); resetPlan(): void; get planInput(): string | undefined; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string | undefined; private _address; get address(): GatewayAddressOutputReference; putAddress(value: GatewayAddress): void; resetAddress(): void; get addressInput(): GatewayAddress | undefined; private _router; get router(): GatewayRouterOutputReference; putRouter(value: GatewayRouter): void; get routerInput(): GatewayRouter | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }