@cdktf/provider-vsphere
Version:
Prebuilt vsphere Provider for Terraform CDK (cdktf)
274 lines (273 loc) • 11.4 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface VnicConfig extends cdktf.TerraformMetaArguments {
/**
* Key of the distributed portgroup the nic will connect to
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#distributed_port_group Vnic#distributed_port_group}
*/
readonly distributedPortGroup?: string;
/**
* UUID of the DVSwitch the nic will be attached to. Do not set if you set portgroup.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#distributed_switch_port Vnic#distributed_switch_port}
*/
readonly distributedSwitchPort?: string;
/**
* ESX host the interface belongs to
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#host Vnic#host}
*/
readonly host: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#id Vnic#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;
/**
* MAC address of the interface.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#mac Vnic#mac}
*/
readonly mac?: string;
/**
* MTU of the interface.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#mtu Vnic#mtu}
*/
readonly mtu?: number;
/**
* TCP/IP stack setting for this interface. Possible values are 'defaultTcpipStack', 'vmotion', 'provisioning'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#netstack Vnic#netstack}
*/
readonly netstack?: string;
/**
* portgroup to attach the nic to. Do not set if you set distributed_switch_port.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#portgroup Vnic#portgroup}
*/
readonly portgroup?: string;
/**
* Enabled services setting for this interface. Current possible values are 'vmotion', 'management' and 'vsan'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#services Vnic#services}
*/
readonly services?: string[];
/**
* ipv4 block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#ipv4 Vnic#ipv4}
*/
readonly ipv4?: VnicIpv4;
/**
* ipv6 block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#ipv6 Vnic#ipv6}
*/
readonly ipv6?: VnicIpv6;
}
export interface VnicIpv4 {
/**
* Use DHCP to configure the interface's IPv4 stack.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#dhcp Vnic#dhcp}
*/
readonly dhcp?: boolean | cdktf.IResolvable;
/**
* IP address of the default gateway, if DHCP is not set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#gw Vnic#gw}
*/
readonly gw?: string;
/**
* address of the interface, if DHCP is not set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#ip Vnic#ip}
*/
readonly ip?: string;
/**
* netmask of the interface, if DHCP is not set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#netmask Vnic#netmask}
*/
readonly netmask?: string;
}
export declare function vnicIpv4ToTerraform(struct?: VnicIpv4OutputReference | VnicIpv4): any;
export declare function vnicIpv4ToHclTerraform(struct?: VnicIpv4OutputReference | VnicIpv4): any;
export declare class VnicIpv4OutputReference 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(): VnicIpv4 | undefined;
set internalValue(value: VnicIpv4 | undefined);
private _dhcp?;
get dhcp(): boolean | cdktf.IResolvable;
set dhcp(value: boolean | cdktf.IResolvable);
resetDhcp(): void;
get dhcpInput(): boolean | cdktf.IResolvable | undefined;
private _gw?;
get gw(): string;
set gw(value: string);
resetGw(): void;
get gwInput(): string | undefined;
private _ip?;
get ip(): string;
set ip(value: string);
resetIp(): void;
get ipInput(): string | undefined;
private _netmask?;
get netmask(): string;
set netmask(value: string);
resetNetmask(): void;
get netmaskInput(): string | undefined;
}
export interface VnicIpv6 {
/**
* List of IPv6 addresses
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#addresses Vnic#addresses}
*/
readonly addresses?: string[];
/**
* Use IPv6 Autoconfiguration (RFC2462).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#autoconfig Vnic#autoconfig}
*/
readonly autoconfig?: boolean | cdktf.IResolvable;
/**
* Use DHCP to configure the interface's IPv4 stack.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#dhcp Vnic#dhcp}
*/
readonly dhcp?: boolean | cdktf.IResolvable;
/**
* IP address of the default gateway, if DHCP or autoconfig is not set.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#gw Vnic#gw}
*/
readonly gw?: string;
}
export declare function vnicIpv6ToTerraform(struct?: VnicIpv6OutputReference | VnicIpv6): any;
export declare function vnicIpv6ToHclTerraform(struct?: VnicIpv6OutputReference | VnicIpv6): any;
export declare class VnicIpv6OutputReference 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(): VnicIpv6 | undefined;
set internalValue(value: VnicIpv6 | undefined);
private _addresses?;
get addresses(): string[];
set addresses(value: string[]);
resetAddresses(): void;
get addressesInput(): string[] | undefined;
private _autoconfig?;
get autoconfig(): boolean | cdktf.IResolvable;
set autoconfig(value: boolean | cdktf.IResolvable);
resetAutoconfig(): void;
get autoconfigInput(): boolean | cdktf.IResolvable | undefined;
private _dhcp?;
get dhcp(): boolean | cdktf.IResolvable;
set dhcp(value: boolean | cdktf.IResolvable);
resetDhcp(): void;
get dhcpInput(): boolean | cdktf.IResolvable | undefined;
private _gw?;
get gw(): string;
set gw(value: string);
resetGw(): void;
get gwInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic vsphere_vnic}
*/
export declare class Vnic extends cdktf.TerraformResource {
static readonly tfResourceType = "vsphere_vnic";
/**
* Generates CDKTF code for importing a Vnic 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 Vnic to import
* @param importFromId The id of the existing Vnic that should be imported. Refer to the {@link https://registry.terraform.io/providers/vmware/vsphere/2.14.0/docs/resources/vnic#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the Vnic 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/vmware/vsphere/2.14.0/docs/resources/vnic vsphere_vnic} 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 VnicConfig
*/
constructor(scope: Construct, id: string, config: VnicConfig);
private _distributedPortGroup?;
get distributedPortGroup(): string;
set distributedPortGroup(value: string);
resetDistributedPortGroup(): void;
get distributedPortGroupInput(): string | undefined;
private _distributedSwitchPort?;
get distributedSwitchPort(): string;
set distributedSwitchPort(value: string);
resetDistributedSwitchPort(): void;
get distributedSwitchPortInput(): string | undefined;
private _host?;
get host(): string;
set host(value: string);
get hostInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _mac?;
get mac(): string;
set mac(value: string);
resetMac(): void;
get macInput(): string | undefined;
private _mtu?;
get mtu(): number;
set mtu(value: number);
resetMtu(): void;
get mtuInput(): number | undefined;
private _netstack?;
get netstack(): string;
set netstack(value: string);
resetNetstack(): void;
get netstackInput(): string | undefined;
private _portgroup?;
get portgroup(): string;
set portgroup(value: string);
resetPortgroup(): void;
get portgroupInput(): string | undefined;
private _services?;
get services(): string[];
set services(value: string[]);
resetServices(): void;
get servicesInput(): string[] | undefined;
private _ipv4;
get ipv4(): VnicIpv4OutputReference;
putIpv4(value: VnicIpv4): void;
resetIpv4(): void;
get ipv4Input(): VnicIpv4 | undefined;
private _ipv6;
get ipv6(): VnicIpv6OutputReference;
putIpv6(value: VnicIpv6): void;
resetIpv6(): void;
get ipv6Input(): VnicIpv6 | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}