UNPKG

@pulumi/vsphere

Version:

A Pulumi package for creating vsphere resources

925 lines (924 loc) • 31 kB
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>; }