import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BaremetalConfig extends cdktf.TerraformMetaArguments { /** * Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocks_method': 'chacha20-ietf-poly1305', 'shadowsocks_password': '123'} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#app_config Baremetal#app_config} */ readonly appConfig?: { [key: string]: string; }; /** * The ID of the application template to use. Provide either 'apptemplate_id' or 'image_id', but not both * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#apptemplate_id Baremetal#apptemplate_id} */ readonly apptemplateId?: string; /** * The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#flavor_id Baremetal#flavor_id} */ readonly flavorId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#id Baremetal#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; /** * The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'image_id' or 'apptemplate_id', but not both * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#image_id Baremetal#image_id} */ readonly imageId?: string; /** * The name of the SSH keypair to use for the baremetal * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#keypair_name Baremetal#keypair_name} */ readonly keypairName?: string; /** * The date and time when the baremetal server was last updated * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#last_updated Baremetal#last_updated} */ readonly lastUpdated?: string; /** * A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#metadata_map Baremetal#metadata_map} */ readonly metadataMap?: { [key: string]: string; }; /** * The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#name Baremetal#name} */ readonly name?: string; /** * The template used to generate server names. You can use forms 'ip_octets', 'two_ip_octets', 'one_ip_octet'. Example: 'server-${ip_octets}' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#name_template Baremetal#name_template} */ readonly nameTemplate?: string; /** * Deprecated. List of baremetal names which will be changed by template * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#name_templates Baremetal#name_templates} */ readonly nameTemplates?: string[]; /** * The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#password Baremetal#password} */ readonly password?: string; /** * Project ID, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#project_id Baremetal#project_id} */ readonly projectId?: number; /** * Project name, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#project_name Baremetal#project_name} */ readonly projectName?: string; /** * Region ID, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#region_id Baremetal#region_id} */ readonly regionId?: number; /** * Region name, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#region_name Baremetal#region_name} */ readonly regionName?: string; /** * User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#user_data Baremetal#user_data} */ readonly userData?: string; /** * A name of a new user in the Linux instance. It may be passed with a 'password' parameter * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#username Baremetal#username} */ readonly username?: string; /** * interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#interface Baremetal#interface} */ readonly interface: BaremetalInterface[] | cdktf.IResolvable; /** * metadata block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#metadata Baremetal#metadata} */ readonly metadata?: BaremetalMetadata[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#timeouts Baremetal#timeouts} */ readonly timeouts?: BaremetalTimeouts; } export interface BaremetalAddressesNet { } export declare function baremetalAddressesNetToTerraform(struct?: BaremetalAddressesNet): any; export declare function baremetalAddressesNetToHclTerraform(struct?: BaremetalAddressesNet): any; export declare class BaremetalAddressesNetOutputReference 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(): BaremetalAddressesNet | undefined; set internalValue(value: BaremetalAddressesNet | undefined); get addr(): any; get type(): any; } export declare class BaremetalAddressesNetList 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): BaremetalAddressesNetOutputReference; } export interface BaremetalAddresses { } export declare function baremetalAddressesToTerraform(struct?: BaremetalAddresses): any; export declare function baremetalAddressesToHclTerraform(struct?: BaremetalAddresses): any; export declare class BaremetalAddressesOutputReference 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(): BaremetalAddresses | undefined; set internalValue(value: BaremetalAddresses | undefined); private _net; get net(): BaremetalAddressesNetList; } export declare class BaremetalAddressesList 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): BaremetalAddressesOutputReference; } export interface BaremetalInterface { /** * The ID of the existing floating IP that will be attached to the interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#existing_fip_id Baremetal#existing_fip_id} */ readonly existingFipId?: string; /** * The source of floating IP. Can be 'new' or 'existing' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#fip_source Baremetal#fip_source} */ readonly fipSource?: string; /** * The IP address for the interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#ip_address Baremetal#ip_address} */ readonly ipAddress?: string; /** * Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#is_parent Baremetal#is_parent} */ readonly isParent?: boolean | cdktf.IResolvable; /** * The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#network_id Baremetal#network_id} */ readonly networkId?: string; /** * Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#order Baremetal#order} */ readonly order?: number; /** * The port ID for reserved fixed IP. Required if type is 'reserved_fixed_ip' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#port_id Baremetal#port_id} */ readonly portId?: string; /** * The subnet ID to attach the interface to. Required if type is 'subnet' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#subnet_id Baremetal#subnet_id} */ readonly subnetId?: string; /** * The type of the network interface. Available value is 'subnet', 'any_subnet', 'external', 'reserved_fixed_ip' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#type Baremetal#type} */ readonly type: string; } export declare function baremetalInterfaceToTerraform(struct?: BaremetalInterface | cdktf.IResolvable): any; export declare function baremetalInterfaceToHclTerraform(struct?: BaremetalInterface | cdktf.IResolvable): any; export declare class BaremetalInterfaceOutputReference 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(): BaremetalInterface | cdktf.IResolvable | undefined; set internalValue(value: BaremetalInterface | cdktf.IResolvable | undefined); private _existingFipId?; get existingFipId(): string; set existingFipId(value: string); resetExistingFipId(): void; get existingFipIdInput(): string; private _fipSource?; get fipSource(): string; set fipSource(value: string); resetFipSource(): void; get fipSourceInput(): string; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string; private _isParent?; get isParent(): boolean | cdktf.IResolvable; set isParent(value: boolean | cdktf.IResolvable); resetIsParent(): void; get isParentInput(): any; private _networkId?; get networkId(): string; set networkId(value: string); resetNetworkId(): void; get networkIdInput(): string; private _order?; get order(): number; set order(value: number); resetOrder(): void; get orderInput(): number; private _portId?; get portId(): string; set portId(value: string); resetPortId(): void; get portIdInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export declare class BaremetalInterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BaremetalInterface[] | 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): BaremetalInterfaceOutputReference; } export interface BaremetalMetadata { /** * Metadata key * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#key Baremetal#key} */ readonly key: string; /** * Metadata value * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#value Baremetal#value} */ readonly value: string; } export declare function baremetalMetadataToTerraform(struct?: BaremetalMetadata | cdktf.IResolvable): any; export declare function baremetalMetadataToHclTerraform(struct?: BaremetalMetadata | cdktf.IResolvable): any; export declare class BaremetalMetadataOutputReference 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(): BaremetalMetadata | cdktf.IResolvable | undefined; set internalValue(value: BaremetalMetadata | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class BaremetalMetadataList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BaremetalMetadata[] | 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): BaremetalMetadataOutputReference; } export interface BaremetalTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#create Baremetal#create} */ readonly create?: string; } export declare function baremetalTimeoutsToTerraform(struct?: BaremetalTimeouts | cdktf.IResolvable): any; export declare function baremetalTimeoutsToHclTerraform(struct?: BaremetalTimeouts | cdktf.IResolvable): any; export declare class BaremetalTimeoutsOutputReference 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(): BaremetalTimeouts | cdktf.IResolvable | undefined; set internalValue(value: BaremetalTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal gcore_baremetal} */ export declare class Baremetal extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_baremetal"; /** * Generates CDKTF code for importing a Baremetal 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 Baremetal to import * @param importFromId The id of the existing Baremetal that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/baremetal#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Baremetal 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/g-core/gcore/0.32.5/docs/resources/baremetal gcore_baremetal} 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 BaremetalConfig */ constructor(scope: Construct, id: string, config: BaremetalConfig); private _addresses; get addresses(): BaremetalAddressesList; private _appConfig?; get appConfig(): { [key: string]: string; }; set appConfig(value: { [key: string]: string; }); resetAppConfig(): void; get appConfigInput(): { [key: string]: string; }; private _apptemplateId?; get apptemplateId(): string; set apptemplateId(value: string); resetApptemplateId(): void; get apptemplateIdInput(): string; private _flavor; get flavor(): any; private _flavorId?; get flavorId(): string; set flavorId(value: string); get flavorIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _imageId?; get imageId(): string; set imageId(value: string); resetImageId(): void; get imageIdInput(): string; private _keypairName?; get keypairName(): string; set keypairName(value: string); resetKeypairName(): void; get keypairNameInput(): string; private _lastUpdated?; get lastUpdated(): string; set lastUpdated(value: string); resetLastUpdated(): void; get lastUpdatedInput(): string; private _metadataMap?; get metadataMap(): { [key: string]: string; }; set metadataMap(value: { [key: string]: string; }); resetMetadataMap(): void; get metadataMapInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _nameTemplate?; get nameTemplate(): string; set nameTemplate(value: string); resetNameTemplate(): void; get nameTemplateInput(): string; private _nameTemplates?; get nameTemplates(): string[]; set nameTemplates(value: string[]); resetNameTemplates(): void; get nameTemplatesInput(): string[]; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _projectName?; get projectName(): string; set projectName(value: string); resetProjectName(): void; get projectNameInput(): string; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; get status(): any; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; get vmState(): any; private _interface; get interface(): BaremetalInterfaceList; putInterface(value: BaremetalInterface[] | cdktf.IResolvable): void; get interfaceInput(): any; private _metadata; get metadata(): BaremetalMetadataList; putMetadata(value: BaremetalMetadata[] | cdktf.IResolvable): void; resetMetadata(): void; get metadataInput(): any; private _timeouts; get timeouts(): BaremetalTimeoutsOutputReference; putTimeouts(value: BaremetalTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }