@pulumi/vsphere
Version:
A Pulumi package for creating vsphere resources
925 lines (924 loc) • 31 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface ComputeClusterHostImage {
/**
* List of custom components.
*/
components?: pulumi.Input<pulumi.Input<inputs.ComputeClusterHostImageComponent>[]>;
/**
* The ESXi version which the image is based on.
*/
esxVersion?: pulumi.Input<string>;
}
export interface ComputeClusterHostImageComponent {
/**
* The identifier for the component.
*/
key?: pulumi.Input<string>;
/**
* The version to use.
*/
version?: pulumi.Input<string>;
}
export interface ComputeClusterVsanDiskGroup {
/**
* Cache disk.
*/
cache?: pulumi.Input<string>;
/**
* List of storage disks.
*/
storages?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface ComputeClusterVsanFaultDomain {
/**
* The configuration for single fault domain.
*/
faultDomains?: pulumi.Input<pulumi.Input<inputs.ComputeClusterVsanFaultDomainFaultDomain>[]>;
}
export interface ComputeClusterVsanFaultDomainFaultDomain {
/**
* The managed object IDs of the hosts to put in the fault domain.
*/
hostIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of the cluster.
*/
name: pulumi.Input<string>;
}
export interface ComputeClusterVsanStretchedCluster {
/**
* The managed object IDs of the hosts to put in the first fault domain.
*/
preferredFaultDomainHostIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of prepferred fault domain.
*/
preferredFaultDomainName?: pulumi.Input<string>;
/**
* The managed object IDs of the hosts to put in the second fault domain.
*/
secondaryFaultDomainHostIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of secondary fault domain.
*/
secondaryFaultDomainName?: pulumi.Input<string>;
/**
* The managed object IDs of the host selected as witness node when enable stretched cluster.
*/
witnessNode: pulumi.Input<string>;
}
export interface ContentLibraryPublication {
/**
* Method to authenticate users. Must be `NONE` or `BASIC`.
*/
authenticationMethod?: pulumi.Input<string>;
/**
* Password used by subscribers to authenticate.
*/
password?: pulumi.Input<string>;
/**
* The URL of the published content library.
*/
publishUrl?: pulumi.Input<string>;
/**
* Publish the content library. Default `false`.
*/
published?: pulumi.Input<boolean>;
/**
* Username used by subscribers to authenticate. Currently can only be `vcsp`.
*/
username?: pulumi.Input<string>;
}
export interface ContentLibrarySubscription {
/**
* Authentication method to connect ro a published content library. Must be `NONE` or `BASIC`.
*/
authenticationMethod?: pulumi.Input<string>;
/**
* Enable automatic synchronization with the published library. Default `false`.
*/
automaticSync?: pulumi.Input<boolean>;
/**
* Download the library from a content only when needed. Default `true`.
*/
onDemand?: pulumi.Input<boolean>;
/**
* Password used for authentication.
*/
password?: pulumi.Input<string>;
/**
* URL of the published content library.
*/
subscriptionUrl?: pulumi.Input<string>;
/**
* Username used for authentication.
*/
username?: pulumi.Input<string>;
}
export interface DistributedPortGroupVlanRange {
/**
* The minimum VLAN to use in the range.
*/
maxVlan: pulumi.Input<number>;
/**
* The minimum VLAN to use in the range.
*/
minVlan: pulumi.Input<number>;
}
export interface DistributedVirtualSwitchHost {
/**
* Name of the physical NIC to be added to the proxy switch.
*/
devices?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The managed object ID of the host this specification applies to.
*/
hostSystemId: pulumi.Input<string>;
}
export interface DistributedVirtualSwitchPvlanMapping {
/**
* The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
*/
primaryVlanId: pulumi.Input<number>;
/**
* The private VLAN type. Valid values are promiscuous, community and isolated.
*/
pvlanType: pulumi.Input<string>;
/**
* The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
*/
secondaryVlanId: pulumi.Input<number>;
}
export interface DistributedVirtualSwitchVlanRange {
/**
* The minimum VLAN to use in the range.
*/
maxVlan: pulumi.Input<number>;
/**
* The minimum VLAN to use in the range.
*/
minVlan: pulumi.Input<number>;
}
export interface EntityPermissionsPermission {
/**
* Whether `userOrGroup` field refers to a user or a
* group. True for a group and false for a user.
*/
isGroup: pulumi.Input<boolean>;
/**
* Whether or not this permission propagates down the
* hierarchy to sub-entities.
*/
propagate: pulumi.Input<boolean>;
/**
* The role id of the role to be given to the user on
* the specified entity.
*/
roleId: pulumi.Input<string>;
/**
* The user/group getting the permission.
*/
userOrGroup: pulumi.Input<string>;
}
export interface GetNetworkFilter {
/**
* This is required if you have multiple port groups with the same name. This will be one of `DistributedVirtualPortgroup` for distributed port groups, `Network` for standard (host-based) port groups, or `OpaqueNetwork` for networks managed externally, such as those managed by NSX.
*/
networkType?: string;
}
export interface GetNetworkFilterArgs {
/**
* This is required if you have multiple port groups with the same name. This will be one of `DistributedVirtualPortgroup` for distributed port groups, `Network` for standard (host-based) port groups, or `OpaqueNetwork` for networks managed externally, such as those managed by NSX.
*/
networkType?: pulumi.Input<string>;
}
export interface GetVirtualMachineVapp {
/**
* A map of customizable vApp properties and their values. Allows customization of VMs cloned from OVF templates which have customizable vApp properties.
*/
properties?: {
[key: string]: string;
};
}
export interface GetVirtualMachineVappArgs {
/**
* A map of customizable vApp properties and their values. Allows customization of VMs cloned from OVF templates which have customizable vApp properties.
*/
properties?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}
export interface GuestOsCustomizationSpec {
/**
* The list of DNS servers for a virtual network adapter with a static IP address.
*/
dnsServerLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of DNS search domains to add to the DNS configuration on the virtual machine.
*/
dnsSuffixLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The IPv4 default gateway when using networkInterface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
*/
ipv4Gateway?: pulumi.Input<string>;
/**
* The IPv6 default gateway when using networkInterface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
*/
ipv6Gateway?: pulumi.Input<string>;
/**
* A list of configuration options specific to Linux virtual machines.
*/
linuxOptions?: pulumi.Input<inputs.GuestOsCustomizationSpecLinuxOptions>;
/**
* A specification of network interface configuration options.
*/
networkInterfaces?: pulumi.Input<pulumi.Input<inputs.GuestOsCustomizationSpecNetworkInterface>[]>;
/**
* A list of configuration options specific to Windows virtual machines.
*/
windowsOptions?: pulumi.Input<inputs.GuestOsCustomizationSpecWindowsOptions>;
/**
* Use this option to specify a windows sysprep file directly.
*/
windowsSysprepText?: pulumi.Input<string>;
}
export interface GuestOsCustomizationSpecLinuxOptions {
/**
* The domain name for this virtual machine.
*/
domain: pulumi.Input<string>;
/**
* The hostname for this virtual machine.
*/
hostName: pulumi.Input<string>;
/**
* Specifies whether or not the hardware clock should be in UTC or not.
*/
hwClockUtc?: pulumi.Input<boolean>;
/**
* The customization script to run before and or after guest customization
*/
scriptText?: pulumi.Input<string>;
/**
* Customize the time zone on the VM. This should be a time zone-style entry, like America/Los_Angeles.
*/
timeZone?: pulumi.Input<string>;
}
export interface GuestOsCustomizationSpecNetworkInterface {
/**
* A DNS search domain to add to the DNS configuration on the virtual machine.
*/
dnsDomain?: pulumi.Input<string>;
/**
* Network-interface specific DNS settings for Windows operating systems. Ignored on Linux.
*/
dnsServerLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The IPv4 address assigned to this network adapter. If left blank, DHCP is used.
*/
ipv4Address?: pulumi.Input<string>;
/**
* The IPv4 CIDR netmask for the supplied IP address. Ignored if DHCP is selected.
*/
ipv4Netmask?: pulumi.Input<number>;
/**
* The IPv6 address assigned to this network adapter. If left blank, default auto-configuration is used.
*/
ipv6Address?: pulumi.Input<string>;
/**
* The IPv6 CIDR netmask for the supplied IP address. Ignored if auto-configuration is selected.
*/
ipv6Netmask?: pulumi.Input<number>;
}
export interface GuestOsCustomizationSpecWindowsOptions {
/**
* The new administrator password for this virtual machine.
*/
adminPassword?: pulumi.Input<string>;
/**
* Specifies whether or not the VM automatically logs on as Administrator.
*/
autoLogon?: pulumi.Input<boolean>;
/**
* Specifies how many times the VM should auto-logon the Administrator account when autoLogon is true.
*/
autoLogonCount?: pulumi.Input<number>;
/**
* The host name for this virtual machine.
*/
computerName: pulumi.Input<string>;
/**
* The password of the domain administrator used to join this virtual machine to the domain.
*/
domainAdminPassword?: pulumi.Input<string>;
/**
* The user account of the domain administrator used to join this virtual machine to the domain.
*/
domainAdminUser?: pulumi.Input<string>;
/**
* The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
*/
domainOu?: pulumi.Input<string>;
/**
* The full name of the user of this virtual machine.
*/
fullName?: pulumi.Input<string>;
/**
* The domain that the virtual machine should join.
*/
joinDomain?: pulumi.Input<string>;
/**
* The organization name this virtual machine is being installed for.
*/
organizationName?: pulumi.Input<string>;
/**
* The product key for this virtual machine.
*/
productKey?: pulumi.Input<string>;
/**
* A list of commands to run at first user logon, after guest customization.
*/
runOnceCommandLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
*/
timeZone?: pulumi.Input<number>;
/**
* The workgroup for this virtual machine if not joining a domain.
*/
workgroup?: pulumi.Input<string>;
}
export interface HostPortGroupPort {
/**
* The key for this port group as returned from the vSphere API.
*/
key?: pulumi.Input<string>;
/**
* The MAC addresses of the network service of the virtual machine connected on this port.
*/
macAddresses?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Type type of the entity connected on this port. Possible values are host (VMKkernel), systemManagement (service console), virtualMachine, or unknown.
*/
type?: pulumi.Input<string>;
}
export interface HostService {
/**
* service has three settings, `enabled` sets service to running or not running, `policy` sets service based on setting of `on` which sets service to "Start and stop with host", `off` which sets service to "Start and stop manually", `automatic` which sets service to "Start and stop with port usage".
*
* > **NOTE:** `services` only supports ntpd service today.
*/
ntpd?: pulumi.Input<inputs.HostServiceNtpd>;
}
export interface HostServiceNtpd {
/**
* Whether the NTP service is enabled. Default is false.
*/
enabled?: pulumi.Input<boolean>;
ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The policy for the NTP service. Valid values are 'Start and stop with host', 'Start and stop manually', 'Start and stop with port usage'.
*/
policy?: pulumi.Input<string>;
}
export interface OfflineSoftwareDepotComponent {
/**
* The name of the component. Useful for easier identification.
*/
displayName?: pulumi.Input<string>;
/**
* The identifier of the component.
*/
key?: pulumi.Input<string>;
/**
* The list of available versions of the component.
*/
versions?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface SupervisorEgressCidr {
/**
* Network address.
*/
address: pulumi.Input<string>;
/**
* Subnet prefix.
*/
prefix: pulumi.Input<number>;
}
export interface SupervisorIngressCidr {
/**
* Network address.
*/
address: pulumi.Input<string>;
/**
* Subnet prefix.
*/
prefix: pulumi.Input<number>;
}
export interface SupervisorManagementNetwork {
/**
* Number of addresses to allocate. Starts from 'starting_address'
*/
addressCount: pulumi.Input<number>;
/**
* Gateway IP address.
*/
gateway: pulumi.Input<string>;
/**
* ID of the network. (e.g. a distributed port group).
*/
network: pulumi.Input<string>;
/**
* Starting address of the management network range.
*/
startingAddress: pulumi.Input<string>;
/**
* Subnet mask.
*/
subnetMask: pulumi.Input<string>;
}
export interface SupervisorNamespace {
/**
* A list of content libraries.
*/
contentLibraries?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The name of the namespace.
*/
name: pulumi.Input<string>;
/**
* A list of virtual machine classes.
*/
vmClasses?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface SupervisorPodCidr {
/**
* Network address.
*/
address: pulumi.Input<string>;
/**
* Subnet prefix.
*/
prefix: pulumi.Input<number>;
}
export interface SupervisorServiceCidr {
/**
* Network address.
*/
address: pulumi.Input<string>;
/**
* Subnet prefix.
*/
prefix: pulumi.Input<number>;
}
export interface VirtualMachineCdrom {
/**
* Indicates whether the device should be mapped to a remote client device
*/
clientDevice?: pulumi.Input<boolean>;
/**
* The datastore ID the ISO is located on.
*/
datastoreId?: pulumi.Input<string>;
/**
* The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
*/
deviceAddress?: pulumi.Input<string>;
/**
* The ID of the device within the virtual machine.
*/
key?: pulumi.Input<number>;
/**
* The path to the ISO file on the datastore.
*/
path?: pulumi.Input<string>;
}
export interface VirtualMachineClone {
/**
* The customization specification for the virtual machine post-clone.
*/
customizationSpec?: pulumi.Input<inputs.VirtualMachineCloneCustomizationSpec>;
/**
* The customization specification for the virtual machine post-clone.
*/
customize?: pulumi.Input<inputs.VirtualMachineCloneCustomize>;
/**
* Whether or not to create a linked clone when cloning. When this option is used, the source VM must have a single snapshot associated with it.
*/
linkedClone?: pulumi.Input<boolean>;
/**
* Mapping of ovf networks to the networks to use in vSphere.
*/
ovfNetworkMap?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Mapping of ovf storage to the datastores to use in vSphere.
*/
ovfStorageMap?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The UUID of the source virtual machine or template.
*/
templateUuid: pulumi.Input<string>;
/**
* The timeout, in minutes, to wait for the virtual machine clone to complete.
*/
timeout?: pulumi.Input<number>;
}
export interface VirtualMachineCloneCustomizationSpec {
/**
* The UUID of the virtual machine.
*/
id: pulumi.Input<string>;
/**
* The amount of time, in minutes, to wait for guest OS customization to complete before returning with an error. Setting this value to 0 or a negative value skips the waiter. Default: 10.
*/
timeout?: pulumi.Input<number>;
}
export interface VirtualMachineCloneCustomize {
/**
* The list of DNS servers for a virtual network adapter with a static IP address.
*/
dnsServerLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of DNS search domains to add to the DNS configuration on the virtual machine.
*/
dnsSuffixLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The IPv4 default gateway when using networkInterface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
*/
ipv4Gateway?: pulumi.Input<string>;
/**
* The IPv6 default gateway when using networkInterface customization on the virtual machine. This address must be local to a static IPv4 address configured in an interface sub-resource.
*/
ipv6Gateway?: pulumi.Input<string>;
/**
* A list of configuration options specific to Linux virtual machines.
*/
linuxOptions?: pulumi.Input<inputs.VirtualMachineCloneCustomizeLinuxOptions>;
/**
* A specification of network interface configuration options.
*/
networkInterfaces?: pulumi.Input<pulumi.Input<inputs.VirtualMachineCloneCustomizeNetworkInterface>[]>;
/**
* The amount of time, in minutes, to wait for guest OS customization to complete before returning with an error. Setting this value to 0 or a negative value skips the waiter. Default: 10.
*/
timeout?: pulumi.Input<number>;
/**
* A list of configuration options specific to Windows virtual machines.
*/
windowsOptions?: pulumi.Input<inputs.VirtualMachineCloneCustomizeWindowsOptions>;
/**
* Use this option to specify a windows sysprep file directly.
*/
windowsSysprepText?: pulumi.Input<string>;
}
export interface VirtualMachineCloneCustomizeLinuxOptions {
/**
* The domain name for this virtual machine.
*/
domain: pulumi.Input<string>;
/**
* The hostname for this virtual machine.
*/
hostName: pulumi.Input<string>;
/**
* Specifies whether or not the hardware clock should be in UTC or not.
*/
hwClockUtc?: pulumi.Input<boolean>;
/**
* The customization script to run before and or after guest customization
*/
scriptText?: pulumi.Input<string>;
/**
* Customize the time zone on the VM. This should be a time zone-style entry, like America/Los_Angeles.
*/
timeZone?: pulumi.Input<string>;
}
export interface VirtualMachineCloneCustomizeNetworkInterface {
/**
* A DNS search domain to add to the DNS configuration on the virtual machine.
*/
dnsDomain?: pulumi.Input<string>;
/**
* Network-interface specific DNS settings for Windows operating systems. Ignored on Linux.
*/
dnsServerLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The IPv4 address assigned to this network adapter. If left blank, DHCP is used.
*/
ipv4Address?: pulumi.Input<string>;
/**
* The IPv4 CIDR netmask for the supplied IP address. Ignored if DHCP is selected.
*/
ipv4Netmask?: pulumi.Input<number>;
/**
* The IPv6 address assigned to this network adapter. If left blank, default auto-configuration is used.
*/
ipv6Address?: pulumi.Input<string>;
/**
* The IPv6 CIDR netmask for the supplied IP address. Ignored if auto-configuration is selected.
*/
ipv6Netmask?: pulumi.Input<number>;
}
export interface VirtualMachineCloneCustomizeWindowsOptions {
/**
* The new administrator password for this virtual machine.
*/
adminPassword?: pulumi.Input<string>;
/**
* Specifies whether or not the VM automatically logs on as Administrator.
*/
autoLogon?: pulumi.Input<boolean>;
/**
* Specifies how many times the VM should auto-logon the Administrator account when autoLogon is true.
*/
autoLogonCount?: pulumi.Input<number>;
/**
* The host name for this virtual machine.
*/
computerName: pulumi.Input<string>;
/**
* The password of the domain administrator used to join this virtual machine to the domain.
*/
domainAdminPassword?: pulumi.Input<string>;
/**
* The user account of the domain administrator used to join this virtual machine to the domain.
*/
domainAdminUser?: pulumi.Input<string>;
/**
* The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs.
*/
domainOu?: pulumi.Input<string>;
/**
* The full name of the user of this virtual machine.
*/
fullName?: pulumi.Input<string>;
/**
* The domain that the virtual machine should join.
*/
joinDomain?: pulumi.Input<string>;
/**
* The organization name this virtual machine is being installed for.
*/
organizationName?: pulumi.Input<string>;
/**
* The product key for this virtual machine.
*/
productKey?: pulumi.Input<string>;
/**
* A list of commands to run at first user logon, after guest customization.
*/
runOnceCommandLists?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The new time zone for the virtual machine. This is a sysprep-dictated timezone code.
*/
timeZone?: pulumi.Input<number>;
/**
* The workgroup for this virtual machine if not joining a domain.
*/
workgroup?: pulumi.Input<string>;
}
export interface VirtualMachineDisk {
/**
* If this is true, the disk is attached instead of created. Implies keep_on_remove.
*/
attach?: pulumi.Input<boolean>;
/**
* The type of controller the disk should be connected to. Must be 'scsi', 'sata', 'nvme', or 'ide'.
*/
controllerType?: pulumi.Input<string>;
/**
* The datastore ID for this virtual disk, if different than the virtual machine.
*/
datastoreId?: pulumi.Input<string>;
/**
* The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
*/
deviceAddress?: pulumi.Input<string>;
/**
* The mode of this this virtual disk for purposes of writes and snapshotting. Can be one of append, independent_nonpersistent, independent_persistent, nonpersistent, persistent, or undoable.
*/
diskMode?: pulumi.Input<string>;
/**
* The sharing mode of this virtual disk. Can be one of sharingMultiWriter or sharingNone.
*/
diskSharing?: pulumi.Input<string>;
/**
* The virtual disk file zeroing policy when thinProvision is not true. The default is false, which lazily-zeros the disk, speeding up thick-provisioned disk creation time.
*/
eagerlyScrub?: pulumi.Input<boolean>;
/**
* The upper limit of IOPS that this disk can use.
*/
ioLimit?: pulumi.Input<number>;
/**
* The I/O guarantee that this disk has, in IOPS.
*/
ioReservation?: pulumi.Input<number>;
/**
* The share count for this disk when the share level is custom.
*/
ioShareCount?: pulumi.Input<number>;
/**
* The share allocation level for this disk. Can be one of low, normal, high, or custom.
*/
ioShareLevel?: pulumi.Input<string>;
/**
* Set to true to keep the underlying VMDK file when removing this virtual disk from configuration.
*/
keepOnRemove?: pulumi.Input<boolean>;
/**
* The ID of the device within the virtual machine.
*/
key?: pulumi.Input<number>;
/**
* A unique label for this disk.
*/
label: pulumi.Input<string>;
/**
* The full path of the virtual disk. This can only be provided if attach is set to true, otherwise it is a read-only value.
*/
path?: pulumi.Input<string>;
/**
* The size of the disk, in GB.
*/
size?: pulumi.Input<number>;
/**
* The ID of the storage policy to assign to the virtual disk in VM.
*/
storagePolicyId?: pulumi.Input<string>;
/**
* If true, this disk is thin provisioned, with space for the file being allocated on an as-needed basis.
*/
thinProvisioned?: pulumi.Input<boolean>;
/**
* The unique device number for this disk. This number determines where on the SCSI bus this device will be attached.
*/
unitNumber?: pulumi.Input<number>;
/**
* The UUID of the virtual machine. Also exposed as the `id` of the resource.
*/
uuid?: pulumi.Input<string>;
/**
* If true, writes for this disk are sent directly to the filesystem immediately instead of being buffered.
*/
writeThrough?: pulumi.Input<boolean>;
}
export interface VirtualMachineNetworkInterface {
/**
* The controller type. Can be one of e1000, e1000e, sriov, vmxnet3, or vrdma.
*/
adapterType?: pulumi.Input<string>;
/**
* The upper bandwidth limit of this network interface, in Mbits/sec.
*/
bandwidthLimit?: pulumi.Input<number>;
/**
* The bandwidth reservation of this network interface, in Mbits/sec.
*/
bandwidthReservation?: pulumi.Input<number>;
/**
* The share count for this network interface when the share level is custom.
*/
bandwidthShareCount?: pulumi.Input<number>;
/**
* The bandwidth share allocation level for this interface. Can be one of low, normal, high, or custom.
*/
bandwidthShareLevel?: pulumi.Input<string>;
/**
* The internally-computed address of this device, such as scsi:0:1, denoting scsi bus #0 and device unit 1.
*/
deviceAddress?: pulumi.Input<string>;
/**
* The ID of the device within the virtual machine.
*/
key?: pulumi.Input<number>;
/**
* The MAC address of this network interface. Can only be manually set if useStaticMac is true.
*/
macAddress?: pulumi.Input<string>;
/**
* The ID of the network to connect this network interface to.
*/
networkId: pulumi.Input<string>;
/**
* Mapping of network interface to OVF network.
*/
ovfMapping?: pulumi.Input<string>;
/**
* The ID of the Physical SR-IOV NIC to attach to, e.g. '0000:d8:00.0'
*/
physicalFunction?: pulumi.Input<string>;
/**
* If true, the macAddress field is treated as a static MAC address and set accordingly.
*/
useStaticMac?: pulumi.Input<boolean>;
}
export interface VirtualMachineOvfDeploy {
/**
* Allow unverified ssl certificates while deploying ovf/ova from url.
*/
allowUnverifiedSslCert?: pulumi.Input<boolean>;
/**
* The Deployment option to be chosen. If empty, the default option is used.
*/
deploymentOption?: pulumi.Input<string>;
/**
* An optional disk provisioning. If set, all the disks in the deployed ovf will have the same specified disk type (e.g., thin provisioned).
*/
diskProvisioning?: pulumi.Input<string>;
/**
* Allow properties with ovf:userConfigurable=false to be set.
*/
enableHiddenProperties?: pulumi.Input<boolean>;
/**
* The IP allocation policy.
*/
ipAllocationPolicy?: pulumi.Input<string>;
/**
* The IP protocol.
*/
ipProtocol?: pulumi.Input<string>;
/**
* The absolute path to the ovf/ova file in the local system.
*/
localOvfPath?: pulumi.Input<string>;
/**
* The mapping of name of network identifiers from the ovf descriptor to network UUID in the VI infrastructure.
*/
ovfNetworkMap?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* URL to the remote ovf/ova file to be deployed.
*/
remoteOvfUrl?: pulumi.Input<string>;
}
export interface VirtualMachineVapp {
/**
* A map of customizable vApp properties and their values. Allows customization of VMs cloned from OVF templates which have customizable vApp properties.
*/
properties?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}
export interface VirtualMachineVtpm {
/**
* The version of the TPM device. Default is 2.0.
*/
version?: pulumi.Input<string>;
}
export interface VmStoragePolicyTagRule {
/**
* Include datastores with the given tags or exclude. Default `true`.
*/
includeDatastoresWithTags?: pulumi.Input<boolean>;
/**
* Name of the tag category.
*/
tagCategory: pulumi.Input<string>;
/**
* List of Name of tags to select from the given category.
*/
tags: pulumi.Input<pulumi.Input<string>[]>;
}
export interface VnicIpv4 {
/**
* Use DHCP to configure the interface's IPv4 stack.
*/
dhcp?: pulumi.Input<boolean>;
/**
* IP address of the default gateway, if DHCP is not set.
*/
gw?: pulumi.Input<string>;
/**
* address of the interface, if DHCP is not set.
*/
ip?: pulumi.Input<string>;
/**
* netmask of the interface, if DHCP is not set.
*/
netmask?: pulumi.Input<string>;
}
export interface VnicIpv6 {
/**
* List of IPv6 addresses
*/
addresses?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Use IPv6 Autoconfiguration (RFC2462).
*/
autoconfig?: pulumi.Input<boolean>;
/**
* Use DHCP to configure the interface's IPv4 stack.
*/
dhcp?: pulumi.Input<boolean>;
/**
* IP address of the default gateway, if DHCP or autoconfig is not set.
*/
gw?: pulumi.Input<string>;
}