import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface AccessControlPolicyCategory { /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface AccessControlPolicyContextFilterList { /** * A list of Entity filter expressions. */ entityFilterExpressionLists: pulumi.Input[]>; /** * - (Optional) Filter the scope of an Access Control Policy. */ scopeFilterExpressionLists?: pulumi.Input[] | undefined>; } export interface AccessControlPolicyContextFilterListEntityFilterExpressionList { /** * - (Optional) The LHS of the filter expression - the entity type. */ leftHandSideEntityType?: pulumi.Input; /** * - (Required) The operator in the filter expression. */ operator: pulumi.Input; /** * - (Required) The right hand side (RHS) of an scope expression. */ rightHandSide: pulumi.Input; } export interface AccessControlPolicyContextFilterListEntityFilterExpressionListRightHandSide { /** * - (Optional) The category values represented as a dictionary of key > list of values. */ categories?: pulumi.Input; /** * - (Optional) A representative term for supported groupings of entities. ALL = All the entities of a given kind. */ collection?: pulumi.Input; /** * - (Optional) The explicit list of UUIDs for the given kind. */ uuidLists?: pulumi.Input[] | undefined>; } export interface AccessControlPolicyContextFilterListEntityFilterExpressionListRightHandSideCategories { /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - value of the key. */ values?: pulumi.Input[] | undefined>; } export interface AccessControlPolicyContextFilterListScopeFilterExpressionList { /** * - (Optional) The LHS of the filter expression - the scope type. */ leftHandSide: pulumi.Input; /** * - (Required) The operator of the filter expression. */ operator: pulumi.Input; /** * - (Required) The right hand side (RHS) of an scope expression. */ rightHandSide: pulumi.Input; } export interface AccessControlPolicyContextFilterListScopeFilterExpressionListRightHandSide { /** * - (Optional) The category values represented as a dictionary of key > list of values. */ categories?: pulumi.Input; /** * - (Optional) A representative term for supported groupings of entities. ALL = All the entities of a given kind. */ collection?: pulumi.Input; /** * - (Optional) The explicit list of UUIDs for the given kind. */ uuidLists?: pulumi.Input[] | undefined>; } export interface AccessControlPolicyContextFilterListScopeFilterExpressionListRightHandSideCategories { /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - value of the key. */ values?: pulumi.Input[] | undefined>; } export interface AccessControlPolicyOwnerReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface AccessControlPolicyRoleReference { /** * - The kind name (Default value: project)(Required). */ kind: pulumi.Input; /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface AccessControlPolicyUserGroupReferenceList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface AccessControlPolicyUserReferenceList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the Access Control Policy. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface AddressGroupIpAddressBlockList { /** * - (Required) IP of the address block */ ip: pulumi.Input; /** * - (Required) Prefix length of address block in int * * See detailed information in [Nutanix Address Groups](https://www.nutanix.dev/api_references/prism-central-v3/#/5ccef53a546a4-create-a-new-address-group). */ prefixLength: pulumi.Input; } export interface AddressGroupsV2IpRange { /** * end ip */ endIp?: pulumi.Input; /** * start ip */ startIp?: pulumi.Input; } export interface AddressGroupsV2Ipv4Address { /** * The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * ip of address */ value?: pulumi.Input; } export interface AddressGroupsV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface AssociateCategoryToVolumeGroupV2Category { /** * -(Optional) Type of entity that's represented by this reference. Default value is "CATEGORY". Valid values are: * * "CATEGORY". * * See detailed information in [Nutanix Associate/Disassociate category to/from a Volume Group V4](https://developers.nutanix.com/api-reference?namespace=volumes&version=v4.2#tag/VolumeGroups/operation/associateCategory). */ entityType?: pulumi.Input; /** * -(Required) The external identifier of the category. */ extId: pulumi.Input; /** * -(Optional) Name of entity that's represented by this reference */ name?: pulumi.Input; /** * -(Optional) URI of entities that's represented by this reference. */ uris?: pulumi.Input[] | undefined>; } export interface AuthorizationPolicyV2Entity { reserved?: pulumi.Input; } export interface AuthorizationPolicyV2Identity { reserved?: pulumi.Input; } export interface CategoryV2Association { /** * External identifier for the given category, used across all v4 apis/entities/resources where categories are referenced. */ categoryId?: pulumi.Input; /** * Count of associations of a particular type of entity or policy */ count?: pulumi.Input; /** * An enum denoting the resource group. * Resources can be organized into either an entity or a policy. * Valid values are: * - `POLICY`: A ResourceGroup denoting a nutanix policy like VM host affinity policy, image placement policy, access control policy, and so on.
A category is generally associated with many entities.
The policy which is associated with this category, is then applied to those entities which are also associated with the same category. * - `ENTITY`: A ResourceGroup denoting a nutanix entity like VM, cluster, host, image, and so on.
A category is generally associated with many entities.
A policy is then applied to these entities through the category. */ resourceGroup?: pulumi.Input; /** * An enum denoting the associated resource types. Resource types are further grouped into 2 types - entity or a policy. * Valid values are: * - `APP`: A resource of type application. * - `PROTECTION_RULE`: A policy or rule of type protection rule. * - `IMAGE_RATE_LIMIT`: A resource of type rate limit. * - `MH_VM`: A resource of type Virtual Machine. * - `BLUEPRINT`: A resource of type blueprint. * - `HOST`: A resource representing the underlying host, the machine hosting the hypervisors and VMs. * - `IMAGE`: A resource of type image. * - `VM_VM_ANTI_AFFINITY_POLICY`: A policy of type VM-VM anti-affinity; This policy decides that the specified set of VMs are running on different hosts. * - `ACCESS_CONTROL_POLICY`: A policy or rule of type access control policy or ACP; the rules that decide authorization of users to access an API. * - `VM_HOST_AFFINITY_POLICY`: A policy of type VM host affinity; The policy decides the affinity between a set of VMs to be run only a specified set of hosts * - `NGT_POLICY`: A policy or rule of type NGT policy. * - `RECOVERY_PLAN`: A policy or rule of type recovery plan. * - `MARKETPLACE_ITEM`: A resource of type marketplace item. * - `CLUSTER`: A resource of type cluster, usually refers to a PE cluster. * - `NETWORK_SECURITY_RULE`: A rule of type network security. * - `HOST_NIC`: A resource of type Physical NIC. * - `ACTION_RULE`: A policy of type Playbook. * - `VOLUMEGROUP`: A resource of type volume group. * - `REPORT`: A resource of type report. * - `STORAGE_POLICY`: A policy or rule of type storage policy. * - `BUNDLE`: A resource of type bundle. * - `QOS_POLICY`: A policy or rule of type QoS policy. * - `SUBNET`: A resource of type network subnets. * - `VM`: A resource of type Virtual Machine. * - `NETWORK_SECURITY_POLICY`: A policy of type network security. * - `POLICY_SCHEMA`: Policies like user-defined-alerts. * - `IMAGE_PLACEMENT_POLICY`: A policy of type image placement. */ resourceType?: pulumi.Input; } export interface CategoryV2DetailedAssociation { /** * External identifier for the given category, used across all v4 apis/entities/resources where categories are referenced. */ categoryId?: pulumi.Input; /** * An enum denoting the resource group. * Resources can be organized into either an entity or a policy. * Valid values are: * - `POLICY`: A ResourceGroup denoting a nutanix policy like VM host affinity policy, image placement policy, access control policy, and so on.
A category is generally associated with many entities.
The policy which is associated with this category, is then applied to those entities which are also associated with the same category. * - `ENTITY`: A ResourceGroup denoting a nutanix entity like VM, cluster, host, image, and so on.
A category is generally associated with many entities.
A policy is then applied to these entities through the category. */ resourceGroup?: pulumi.Input; /** * The UUID of the entity or policy associated with the particular category. */ resourceId?: pulumi.Input; /** * An enum denoting the associated resource types. Resource types are further grouped into 2 types - entity or a policy. * Valid values are: * - `APP`: A resource of type application. * - `PROTECTION_RULE`: A policy or rule of type protection rule. * - `IMAGE_RATE_LIMIT`: A resource of type rate limit. * - `MH_VM`: A resource of type Virtual Machine. * - `BLUEPRINT`: A resource of type blueprint. * - `HOST`: A resource representing the underlying host, the machine hosting the hypervisors and VMs. * - `IMAGE`: A resource of type image. * - `VM_VM_ANTI_AFFINITY_POLICY`: A policy of type VM-VM anti-affinity; This policy decides that the specified set of VMs are running on different hosts. * - `ACCESS_CONTROL_POLICY`: A policy or rule of type access control policy or ACP; the rules that decide authorization of users to access an API. * - `VM_HOST_AFFINITY_POLICY`: A policy of type VM host affinity; The policy decides the affinity between a set of VMs to be run only a specified set of hosts * - `NGT_POLICY`: A policy or rule of type NGT policy. * - `RECOVERY_PLAN`: A policy or rule of type recovery plan. * - `MARKETPLACE_ITEM`: A resource of type marketplace item. * - `CLUSTER`: A resource of type cluster, usually refers to a PE cluster. * - `NETWORK_SECURITY_RULE`: A rule of type network security. * - `HOST_NIC`: A resource of type Physical NIC. * - `ACTION_RULE`: A policy of type Playbook. * - `VOLUMEGROUP`: A resource of type volume group. * - `REPORT`: A resource of type report. * - `STORAGE_POLICY`: A policy or rule of type storage policy. * - `BUNDLE`: A resource of type bundle. * - `QOS_POLICY`: A policy or rule of type QoS policy. * - `SUBNET`: A resource of type network subnets. * - `VM`: A resource of type Virtual Machine. * - `NETWORK_SECURITY_POLICY`: A policy of type network security. * - `POLICY_SCHEMA`: Policies like user-defined-alerts. * - `IMAGE_PLACEMENT_POLICY`: A policy of type image placement. */ resourceType?: pulumi.Input; } export interface ClusterAddNodeV2ConfigParam { /** * -(Optional) HyperV Credentials. */ hipervs?: pulumi.Input[] | undefined>; /** * -(Optional) Indicates whether the node is compute only or not. */ isComputeOnly?: pulumi.Input; /** * -(Optional) Indicates whether the node is marked to be never schedulable or not. */ isNeverSchedulable?: pulumi.Input; /** * -(Optional) Indicates if node is compatible or not. */ isNosCompatible?: pulumi.Input; /** * -(Optional) Indicates if node discovery need to be skipped or not. */ shouldSkipDiscovery?: pulumi.Input; /** * -(Optional) Indicates if node imaging needs to be skipped or not. */ shouldSkipImaging?: pulumi.Input; /** * -(Optional) Indicates if rack awareness needs to be validated or not. */ shouldValidateRackAwareness?: pulumi.Input; /** * -(Optional) Target hypervisor. */ targetHypervisor?: pulumi.Input; } export interface ClusterAddNodeV2ConfigParamHiperv { /** * -(Optional) UserName and Password model. */ domainDetails?: pulumi.Input[] | undefined>; /** * -(Optional) UserName and Password model. */ failoverClusterDetails?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2ConfigParamHipervDomainDetail { /** * -(Optional) Cluster name. This is part of payload for both cluster create & update operations. */ clusterName?: pulumi.Input; /** * -(Optional) Password. */ password?: pulumi.Input; /** * -(Optional) Username. */ username?: pulumi.Input; } export interface ClusterAddNodeV2ConfigParamHipervFailoverClusterDetail { /** * -(Optional) Cluster name. This is part of payload for both cluster create & update operations. */ clusterName?: pulumi.Input; /** * -(Optional) Password. */ password?: pulumi.Input; /** * -(Optional) Username. */ username?: pulumi.Input; } export interface ClusterAddNodeV2NodeParam { /** * -(Optional) Block list of a cluster. */ blockLists?: pulumi.Input[] | undefined>; /** * -(Optional) Hypervisor bundle information. */ bundleInfos?: pulumi.Input[] | undefined>; computeNodeLists?: pulumi.Input[] | undefined>; /** * -(Optional) Hyperv SKU. */ hypervSku?: pulumi.Input; /** * -(Optional) Hypervisor type to md5sum map. */ hypervisorIsos?: pulumi.Input[] | undefined>; /** * -(Required) List of nodes in a cluster. */ nodeLists: pulumi.Input[]>; /** * -(Optional) Indicates if the host networking needs to be skipped or not. */ shouldSkipHostNetworking?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamBlockList { /** * -(Required) List of nodes in a block. */ blockId?: pulumi.Input; /** * -(Optional) Indicates if the host networking needs to be skipped or not. */ rackName?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamBundleInfo { /** * -(Optional) Name of the hypervisor bundle. */ name?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeList { blockId?: pulumi.Input; digitalCertificateMapLists?: pulumi.Input[] | undefined>; hypervisorHostname?: pulumi.Input; hypervisorIps?: pulumi.Input[] | undefined>; ipmiIps?: pulumi.Input[] | undefined>; model?: pulumi.Input; nodePosition?: pulumi.Input; nodeUuid?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeListDigitalCertificateMapList { /** * -(Optional) Field containing digitalCertificateBase64 and keyManagementServerUuid for key management server. */ key?: pulumi.Input; value?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeListHypervisorIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamComputeNodeListHypervisorIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeListHypervisorIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeListIpmiIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamComputeNodeListIpmiIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamComputeNodeListIpmiIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamHypervisorIso { md5Sum?: pulumi.Input; /** * -(Optional) Hypervisor type. * Valid values are: * - `XEN`: Xen hypervisor. * - `HYPERV`: Hyper-V hypervisor. * - `NATIVEHOST`: NativeHost type where AOS runs natively, without hypervisor. * - `ESX`: ESX hypervisor. * - `AHV`: AHV hypervisor. */ type?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeList { /** * -(Optional) Block ID. */ blockId?: pulumi.Input; /** * -(Optional) Current network interface of a node. */ currentNetworkInterface?: pulumi.Input; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ cvmIps?: pulumi.Input[] | undefined>; /** * -(Optional) List of objects containing digitalCertificateBase64 and keyManagementServerUuid fields for key management server. */ digitalCertificateMapLists?: pulumi.Input[] | undefined>; /** * -(Optional) Name of the host. */ hypervisorHostname?: pulumi.Input; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ hypervisorIps?: pulumi.Input[] | undefined>; /** * -(Optional) Hypervisor type. * Valid values are: * - `XEN`: Xen hypervisor. * - `HYPERV`: Hyper-V hypervisor. * - `NATIVEHOST`: NativeHost type where AOS runs natively, without hypervisor. * - `ESX`: ESX hypervisor. * - `AHV`: AHV hypervisor. */ hypervisorType?: pulumi.Input; /** * -(Optional) Host version of the node. */ hypervisorVersion?: pulumi.Input; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ipmiIps?: pulumi.Input[] | undefined>; isLightCompute?: pulumi.Input; /** * -(Optional) Is ROBO mixed hypervisor. */ isRoboMixedHypervisor?: pulumi.Input; /** * -(Optional) Rackable unit model name. */ model?: pulumi.Input; /** * -(Optional) Active and standby uplink information of the target nodes. */ networks?: pulumi.Input[] | undefined>; /** * -(Optional) Node position. */ nodePosition?: pulumi.Input; /** * -(Optional) Node UUID. */ nodeUuid?: pulumi.Input; /** * -(Optional) NOS software version of a node. */ nosVersion?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListCvmIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamNodeListCvmIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListCvmIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListDigitalCertificateMapList { /** * -(Optional) Field containing digitalCertificateBase64 and keyManagementServerUuid for key management server. */ key?: pulumi.Input; value?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListHypervisorIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamNodeListHypervisorIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListHypervisorIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListIpmiIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamNodeListIpmiIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListIpmiIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListNetwork { /** * -(Optional) Name of the uplink. */ name?: pulumi.Input; /** * -(Optional) List of network types. */ networks?: pulumi.Input[] | undefined>; /** * -(Optional) Active and standby uplink information of the target nodes. */ uplinks?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamNodeListNetworkUplink { /** * -(Optional) Active uplink information. */ actives?: pulumi.Input[] | undefined>; /** * -(Optional) Standby uplink information. */ standbies?: pulumi.Input[] | undefined>; } export interface ClusterAddNodeV2NodeParamNodeListNetworkUplinkActive { /** * -(Optional) Mac address. */ mac?: pulumi.Input; /** * -(Optional) Interface name. */ name?: pulumi.Input; /** * -(Optional) Interface value. */ value?: pulumi.Input; } export interface ClusterAddNodeV2NodeParamNodeListNetworkUplinkStandby { /** * -(Optional) Mac address. */ mac?: pulumi.Input; /** * -(Optional) Interface name. */ name?: pulumi.Input; /** * -(Optional) Interface value. */ value?: pulumi.Input; } export interface ClusterAddNodeV2RemoveNodeParam { /** * -(Optional) Extra parameters for node addition. */ extraParams?: pulumi.Input[] | undefined>; /** * -(Optional) Indicates if prechecks can be skipped for node removal. */ shouldSkipPrechecks?: pulumi.Input; /** * -(Optional) Indicates if node removal can be skipped. */ shouldSkipRemove?: pulumi.Input; } export interface ClusterAddNodeV2RemoveNodeParamExtraParam { /** * -(Optional) Indicates if add check needs to be skipped or not. * * * * * See detailed information in [Nutanix Cluster - Add Node on a Cluster V4](https://developers.nutanix.com/api-reference?namespace=clustermgmt&version=v4.2#tag/Clusters/operation/expandCluster). */ shouldSkipAddCheck?: pulumi.Input; /** * -(Optional) Indicates if upgrade check needs to be skipped or not. */ shouldSkipUpgradeCheck?: pulumi.Input; /** * -(Optional) Indicates if space check needs to be skipped or not. */ skipSpaceCheck?: pulumi.Input; } export interface ClusterProfileV2Cluster { configDrifts?: pulumi.Input; extId?: pulumi.Input; isCompliant?: pulumi.Input; lastSyncedTime?: pulumi.Input; } export interface ClusterProfileV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterProfileV2NameServerIpList { /** * - (Optional) ip v4 address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) ip v6 address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2NameServerIpListIpv4 { /** * - (Optional, default 32) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip V4 address. */ value: pulumi.Input; } export interface ClusterProfileV2NameServerIpListIpv6 { /** * - (Optional, default 128) The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip V6 address. */ value: pulumi.Input; } export interface ClusterProfileV2NtpServerIpList { /** * - (Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2NtpServerIpListFqdn { /** * - (Required) FQDN value. */ value?: pulumi.Input; } export interface ClusterProfileV2NtpServerIpListIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2NtpServerIpListIpv6 { /** * - (Optional, default 128) The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2PulseStatus { /** * - (Optional) Flag to indicate if pulse is enabled or not. */ isEnabled?: pulumi.Input; /** * - (Optional) PII scrubbing level. * * | Enum | Description | * |----------|------------------------------------------------------------------------------------------------| * | ALL | Scrub All PII Information from Pulse including data like entity names and IP addresses | * | DEFAULT | Default PII Scrubbing level. Data like entity names and IP addresses will not be scrubbed from Pulse | */ piiScrubbingLevel?: pulumi.Input; } export interface ClusterProfileV2RsyslogServerList { extId?: pulumi.Input; /** * IP address of the RSYSLOG server. */ ipAddress: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * List of modules for the RSYSLOG server. Each module object supports: */ modules?: pulumi.Input[] | undefined>; /** * Network protocol for the RSYSLOG server. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | UDP | UDP protocol | * | TCP | TCP protocol | * | RELP | RELP protocol | */ networkProtocol: pulumi.Input; /** * Port number for the RSYSLOG server. */ port: pulumi.Input; /** * Name of the RSYSLOG server. */ serverName: pulumi.Input; tenantId?: pulumi.Input; } export interface ClusterProfileV2RsyslogServerListIpAddress { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2RsyslogServerListIpAddressIpv4 { /** * - (Optional, default 32) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2RsyslogServerListIpAddressIpv6 { /** * - (Optional, default 128) The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2RsyslogServerListLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterProfileV2RsyslogServerListModule { /** * Log severity level for the module. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | EMERGENCY | Emergency level | * | NOTICE | Notice level | * | ERROR | Error level | * | ALERT | Alert level | * | INFO | Info level | * | WARNING | Warning level | * | DEBUG | Debug level | * | CRITICAL | Critical level | */ logSeverityLevel: pulumi.Input; /** * Name of the module. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | AUDIT | Audit module | * | CALM | Calm module | * | MINERVA_CVM | Minerva CVM module | * | STARGATE | Stargate module | * | FLOW_SERVICE_LOGS | Flow service logs module | * | SYSLOG_MODULE | Syslog module | * | CEREBRO | Cerebro module | * | API_AUDIT | API audit module | * | GENESIS | Genesis module | * | PRISM | Prism module | * | ZOOKEEPER | Zookeeper module | * | FLOW | Flow module | * | EPSILON | Epsilon module | * | ACROPOLIS | Acropolis module | * | UHARA | Uhara module | * | LCM | LCM module | * | APLOS | Aplos module | * | NCM_AIOPS | NCM AIOPS module | * | CURATOR | Curator module | * | CASSANDRA | Cassandra module | * | LAZAN | Lazan module | */ name: pulumi.Input; /** * Boolean flag to indicate if log monitor files should be logged. */ shouldLogMonitorFiles?: pulumi.Input; } export interface ClusterProfileV2SmtpServer { /** * SMTP email address. */ emailAddress: pulumi.Input; /** * SMTP network details. */ server: pulumi.Input; /** * Type of SMTP server. * * | Enum | Description | * |-----------|----------------------------| * | PLAIN | Plain type SMTP server | * | STARTTLS | Start TLS type SMTP server | * | SSL | SSL type SMTP server | */ type?: pulumi.Input; } export interface ClusterProfileV2SmtpServerServer { /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ipAddress: pulumi.Input; /** * SMTP server password. */ password?: pulumi.Input; /** * SMTP port. */ port?: pulumi.Input; /** * SMTP server user name. */ username?: pulumi.Input; } export interface ClusterProfileV2SmtpServerServerIpAddress { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2SmtpServerServerIpAddressFqdn { /** * - (Required) FQDN value. */ value?: pulumi.Input; } export interface ClusterProfileV2SmtpServerServerIpAddressIpv4 { /** * - (Optional, default 32) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2SmtpServerServerIpAddressIpv6 { /** * - (Optional, default 128) The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2SnmpConfig { extId?: pulumi.Input; /** * SNMP status. Whether SNMP is enabled. */ isEnabled?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * SNMP transport details. Each transport object supports: */ transports?: pulumi.Input[] | undefined>; /** * SNMP trap details. Each trap object supports: */ traps?: pulumi.Input[] | undefined>; /** * SNMP user information. Each user object supports: */ users?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2SnmpConfigLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterProfileV2SnmpConfigTransport { /** * SNMP port. */ port: pulumi.Input; /** * SNMP protocol type. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | UDP | UDP protocol | * | TCP | TCP protocol | * | UDP6 | UDP6 protocol | * | TCP6 | TCP6 protocol | */ protocol: pulumi.Input; } export interface ClusterProfileV2SnmpConfigTrap { /** * An unique address block that supports: */ address: pulumi.Input; /** * Community string (plaintext) for SNMP version 2.0. */ communityString?: pulumi.Input; /** * SNMP engine ID (hexadecimal string, e.g. 0x12345678). */ engineId?: pulumi.Input; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * SNMP port. */ port?: pulumi.Input; /** * SNMP protocol type. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | UDP | UDP protocol | * | TCP | TCP protocol | * | UDP6 | UDP6 protocol | * | TCP6 | TCP6 protocol | */ protocol?: pulumi.Input; /** * SNMP receiver name. */ receiverName?: pulumi.Input; /** * SNMP inform mode status. */ shouldInform?: pulumi.Input; tenantId?: pulumi.Input; /** * SNMP username. Required for SNMP trap v3 version. */ username?: pulumi.Input; /** * SNMP version. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | V2 | V2 SNMP version | * | V3 | V3 SNMP version | */ version: pulumi.Input; } export interface ClusterProfileV2SnmpConfigTrapAddress { /** * - ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterProfileV2SnmpConfigTrapAddressIpv4 { /** * - (Optional, default 32) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2SnmpConfigTrapAddressIpv6 { /** * - (Optional, default 128) The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterProfileV2SnmpConfigTrapLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterProfileV2SnmpConfigUser { /** * SNMP user authentication key (must not contain single quotes). */ authKey: pulumi.Input; /** * SNMP user authentication type. Allowed values: * * | Enum | Description | * |-----------|------------------------------| * | SHA | SHA SNMP authentication | * | MD5 | MD5 SNMP authentication | */ authType: pulumi.Input; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * SNMP user encryption key (must not contain single quotes). */ privKey?: pulumi.Input; /** * SNMP user encryption type. Allowed values: * * | Enum | Description | * |-----------|--------------------| * | DES | DES SNMP key | * | AES | AES SNMP key | */ privType?: pulumi.Input; tenantId?: pulumi.Input; /** * SNMP username. Required for SNMP trap v3 version. */ username: pulumi.Input; } export interface ClusterProfileV2SnmpConfigUserLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterV2Config { /** * - (Optional) Public ssh key details. This is part of payload for cluster update operation only. */ authorizedPublicKeyLists?: pulumi.Input[] | undefined>; /** * - (Optional) Build information details. */ buildInfos?: pulumi.Input[] | undefined>; /** * - (Optional) Cluster arch. * Valid values are: * - "PPC64LE" PPC64LE cluster architecture type. * - "X86_64" X86_64 cluster architecture type. */ clusterArch?: pulumi.Input; /** * - (Optional) Cluster function. This is part of payload for cluster * create operation only (allowed enum values for creation are AOS, ONE_NODE & TWO_NODE only). * Valid values are: * - "AOS" * - "PRISM_CENTRAL" * - "CLOUD_DATA_GATEWAY" * - "AFS" * - "ONE_NODE" * - "TWO_NODE" * - "ANALYTICS_PLATFORM" */ clusterFunctions?: pulumi.Input[] | undefined>; clusterSoftwareMaps?: pulumi.Input[] | undefined>; /** * - (Optional) Encryption in transit Status. * Valid values are: * - "DISABLED" Disabled encryption status. * - "ENABLED" Enabled encryption status. */ encryptionInTransitStatus?: pulumi.Input; encryptionOptions?: pulumi.Input[] | undefined>; encryptionScopes?: pulumi.Input[] | undefined>; /** * - (Optional) Fault tolerant state of cluster. */ faultToleranceStates?: pulumi.Input[] | undefined>; hypervisorTypes?: pulumi.Input[] | undefined>; incarnationId?: pulumi.Input; isAvailable?: pulumi.Input; isLts?: pulumi.Input; isPasswordRemoteLoginEnabled?: pulumi.Input; isRemoteSupportEnabled?: pulumi.Input; /** * - (Optional) Cluster operation mode. This is part of payload for cluster * update operation only. * Valid values are: * - "OVERRIDE" Override operation mode. * - "STAND_ALONE" Stand-alone operation mode. * - "SWITCH_TO_TWO_NODE" Switch to two-node operation mode. * - "NORMAL" Normal operation mode. * - "READ_ONLY" Read-only operation mode. */ operationMode?: pulumi.Input; /** * - (Optional) Pulse status for a cluster. `supported only for update operations and not available during creation.` */ pulseStatuses?: pulumi.Input[] | undefined>; /** * - (Optional) Redundancy factor of a cluster. This is part of payload for both cluster create & update operations. */ redundancyFactor?: pulumi.Input; timezone?: pulumi.Input; } export interface ClusterV2ConfigAuthorizedPublicKeyList { /** * Ssh key value. */ key?: pulumi.Input; /** * Ssh key name. */ name?: pulumi.Input; } export interface ClusterV2ConfigBuildInfo { /** * Software build type. */ buildType?: pulumi.Input; /** * Commit Id used for version. */ commitId?: pulumi.Input; /** * Full name of software version. */ fullVersion?: pulumi.Input; /** * Short commit Id used for version. */ shortCommitId?: pulumi.Input; /** * Software version. */ version?: pulumi.Input; } export interface ClusterV2ConfigClusterSoftwareMap { softwareType?: pulumi.Input; /** * Software version. */ version?: pulumi.Input; } export interface ClusterV2ConfigFaultToleranceState { currentClusterFaultTolerance?: pulumi.Input; currentMaxFaultTolerance?: pulumi.Input; desiredClusterFaultTolerance?: pulumi.Input; desiredMaxFaultTolerance?: pulumi.Input; /** * Domain awareness level corresponds to unit of cluster group. This is part of payload for both cluster create & update operations. * Valid values are: * - "RACK" Rack level awareness. * - "NODE" Node level awareness. * - "BLOCK" Block level awareness. * - "DISK" Disk level awareness. */ domainAwarenessLevel?: pulumi.Input; redundancyStatuses?: pulumi.Input[] | undefined>; } export interface ClusterV2ConfigFaultToleranceStateRedundancyStatus { isCassandraPreparationDone?: pulumi.Input; isZookeeperPreparationDone?: pulumi.Input; } export interface ClusterV2ConfigPulseStatus { /** * - (Optional) Flag to indicate if pulse is enabled or not. */ isEnabled?: pulumi.Input; /** * - (Optional) PII scrubbing level. * Valid values are: * - "ALL" : Scrub All PII Information from Pulse including data like entity names and IP addresses. * - "DEFAULT": Default PII Scrubbing level. Data like entity names and IP addresses will not be scrubbed from Pulse. */ piiScrubbingLevel?: pulumi.Input; } export interface ClusterV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ClusterV2Network { /** * Params associated to the backplane network segmentation. This is part of payload for cluster(create operation only.) */ backplanes?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ externalAddresses?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ externalDataServicesIps?: pulumi.Input[] | undefined>; externalSubnet?: pulumi.Input; /** * Cluster fully qualified domain name. This is part of payload for cluster update operation only. */ fqdn?: pulumi.Input; /** * List of HTTP Proxy server configuration needed to access a cluster which is hosted behind a HTTP Proxy to not reveal its identity. */ httpProxyLists?: pulumi.Input[] | undefined>; httpProxyWhiteLists?: pulumi.Input[] | undefined>; internalSubnet?: pulumi.Input; /** * Management server type. * Valid values are: * - "PRISM_CENTRAL" Prism Central management server. * - "EXTERNAL" External management server. * - "LOCAL" Local management server. */ keyManagementServerType?: pulumi.Input; /** * Management server information. */ managementServers?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ masqueradingIps?: pulumi.Input[] | undefined>; masqueradingPort?: pulumi.Input; /** * List of name servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ nameServerIpLists?: pulumi.Input[] | undefined>; /** * NFS subnet whitelist addresses. This is part of payload for cluster update operation only. */ nfsSubnetWhiteLists?: pulumi.Input[] | undefined>; /** * List of NTP servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ ntpServerIpLists?: pulumi.Input[] | undefined>; /** * SMTP servers on a cluster. This is part of payload for cluster update operation only. */ smtpServers?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkBackplane { /** * Flag to indicate if the backplane segmentation needs to be enabled or not. */ isSegmentationEnabled?: pulumi.Input; /** * Netmask configs. */ netmasks?: pulumi.Input[] | undefined>; /** * Subnet configs. */ subnets?: pulumi.Input[] | undefined>; /** * VLAN Id tagged to the backplane network on the cluster. This is part of cluster create payload. */ vlanTag?: pulumi.Input; } export interface ClusterV2NetworkBackplaneNetmask { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkBackplaneSubnet { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkExternalAddress { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkExternalAddressIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkExternalAddressIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkExternalDataServicesIp { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkExternalDataServicesIpIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkExternalDataServicesIpIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkHttpProxyList { /** * - (Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ipAddresses?: pulumi.Input[] | undefined>; /** * - (Required) HTTP Proxy server name configuration needed to access a cluster which is hosted behind a HTTP Proxy to not reveal its identity. */ name: pulumi.Input; /** * - (Optional) HTTP Proxy server password needed to access a cluster which is hosted behind a HTTP Proxy to not reveal its identity. */ password?: pulumi.Input; /** * - (Optional) HTTP Proxy server port configuration needed to access a cluster which is hosted behind a HTTP Proxy to not reveal its identity. */ port?: pulumi.Input; proxyTypes?: pulumi.Input[] | undefined>; /** * - (Optional) HTTP Proxy server username needed to access a cluster which is hosted behind a HTTP Proxy to not reveal its identity. */ username?: pulumi.Input; } export interface ClusterV2NetworkHttpProxyListIpAddress { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkHttpProxyListIpAddressIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkHttpProxyListIpAddressIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkHttpProxyWhiteList { /** * - (Required) Target's identifier which is exempted from going through the configured HTTP Proxy. */ target: pulumi.Input; /** * - (Optional) Target type. * Valid values are: * - "IPV6_ADDRESS" IPV6 address. * - "HOST_NAME" Name of the host. * - "IPV4_ADDRESS" IPV4 address. * - "DOMAIN_NAME_SUFFIX" Domain Name Suffix required for http proxy whitelist. * - "IPV4_NETWORK_MASK" Network Mask of the IpV4 family. */ targetType: pulumi.Input; } export interface ClusterV2NetworkManagementServer { /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ips?: pulumi.Input[] | undefined>; isDrsEnabled?: pulumi.Input; isInUse?: pulumi.Input; /** * Indicates whether it is registered or not. */ isRegistered?: pulumi.Input; /** * Management server type. * Valid values are: * - "VCENTER" Vcenter management server. */ type?: pulumi.Input; } export interface ClusterV2NetworkManagementServerIp { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkManagementServerIpIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkManagementServerIpIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkMasqueradingIp { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkMasqueradingIpIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkMasqueradingIpIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkNameServerIpList { /** * - (Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkNameServerIpListFqdn { value?: pulumi.Input; } export interface ClusterV2NetworkNameServerIpListIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkNameServerIpListIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkNtpServerIpList { /** * - (Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkNtpServerIpListFqdn { value?: pulumi.Input; } export interface ClusterV2NetworkNtpServerIpListIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkNtpServerIpListIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkSmtpServer { /** * SMTP email address. */ emailAddress?: pulumi.Input; /** * SMTP network details. */ servers?: pulumi.Input[] | undefined>; /** * Type of SMTP server. * Valid values are: * - "PLAIN" Plain type SMTP server. * - "STARTTLS" Start TLS type SMTP server. * - "SSL" SSL type SMTP server. */ type?: pulumi.Input; } export interface ClusterV2NetworkSmtpServerServer { /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ipAddresses?: pulumi.Input[] | undefined>; /** * SMTP server password. */ password?: pulumi.Input; /** * SMTP port. */ port?: pulumi.Input; /** * SMTP server user name. */ username?: pulumi.Input; } export interface ClusterV2NetworkSmtpServerServerIpAddress { /** * - (Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NetworkSmtpServerServerIpAddressFqdn { value?: pulumi.Input; } export interface ClusterV2NetworkSmtpServerServerIpAddressIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NetworkSmtpServerServerIpAddressIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2Node { /** * - (Optional) List of nodes in a cluster. */ nodeLists?: pulumi.Input[] | undefined>; numberOfNodes?: pulumi.Input; /** * - (Optional) Parameters for removing nodes. Supports: */ removeNodeParams?: pulumi.Input[] | undefined>; } export interface ClusterV2NodeNodeList { /** * - (Required) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ controllerVmIps: pulumi.Input[]>; /** * - (Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ hostIps?: pulumi.Input[] | undefined>; hypervisorHostname?: pulumi.Input; isComputeOnly?: pulumi.Input; isLightCompute?: pulumi.Input; isNeverScheduleable?: pulumi.Input; isNosCompatible?: pulumi.Input; nodeUuid?: pulumi.Input; /** * - (Optional, default false) Flag to indicate if add node operation needs to be skipped during node addition. */ shouldSkipAddNode?: pulumi.Input; shouldSkipDiscovery?: pulumi.Input; /** * - (Optional, default false) Flag to indicate if host networking needs to be skipped during node addition. */ shouldSkipHostNetworking?: pulumi.Input; shouldSkipImaging?: pulumi.Input; /** * - (Optional, default false) Flag to indicate if pre expand checks needs to be skipped during node addition. */ shouldSkipPreExpandChecks?: pulumi.Input; shouldValidateRackAwareness?: pulumi.Input; } export interface ClusterV2NodeNodeListControllerVmIp { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NodeNodeListControllerVmIpIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NodeNodeListControllerVmIpIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NodeNodeListHostIp { /** * - (Optional) ip address params. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) Ip address params. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClusterV2NodeNodeListHostIpIpv4 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NodeNodeListHostIpIpv6 { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - (Required) Ip address. */ value: pulumi.Input; } export interface ClusterV2NodeRemoveNodeParam { /** * - (Optional) Extra parameters for removing nodes. Supports: */ extraParams?: pulumi.Input[] | undefined>; /** * - (Optional, default false) Skip remove prechecks. */ shouldSkipPrechecks?: pulumi.Input; /** * - (Optional, default false) Skip remove operation for the node. */ shouldSkipRemove?: pulumi.Input; } export interface ClusterV2NodeRemoveNodeParamExtraParam { /** * - (Optional, default false) Skip add check during node removal. */ shouldSkipAddCheck?: pulumi.Input; /** * - (Optional, default false) Skip upgrade check during node removal. */ shouldSkipUpgradeCheck?: pulumi.Input; /** * - (Optional, default false) Skip space check during node removal. */ skipSpaceCheck?: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2IpFilterList { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersDiscoverUnconfiguredNodesV2IpFilterListIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2IpFilterListIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNode { /** * Cluster arch type. */ arch?: pulumi.Input; /** * Attributes of a node. */ attributes?: pulumi.Input[] | undefined>; /** * Cluster ID. */ clusterId?: pulumi.Input; /** * CPU type. */ cpuTypes?: pulumi.Input[] | undefined>; /** * Current CVM VLAN tag. */ currentCvmVlanTag?: pulumi.Input; /** * Current network interface of a node. */ currentNetworkInterface?: pulumi.Input; /** * CVM IP. */ cvmIps?: pulumi.Input[] | undefined>; /** * Foundation version. */ foundationVersion?: pulumi.Input; /** * Host type. */ hostType?: pulumi.Input; /** * Hypervisor IP Address. */ hypervisorIps?: pulumi.Input[] | undefined>; /** * Hypervisor type. */ hypervisorType?: pulumi.Input; /** * Host version of the node. */ hypervisorVersion?: pulumi.Input; /** * Interface IPV6 address. */ interfaceIpv6?: pulumi.Input; /** * IPMI IP Address. */ ipmiIps?: pulumi.Input[] | undefined>; /** * Secure boot status. */ isSecureBooted?: pulumi.Input; /** * Position of a node in a rackable unit. */ nodePosition?: pulumi.Input; /** * UUID of the host. */ nodeUuid?: pulumi.Input; /** * NOS software version of a node. */ nosVersion?: pulumi.Input; /** * Maximum number of nodes in rackable-unit. */ rackableUnitMaxNodes?: pulumi.Input; /** * Rackable unit model type. */ rackableUnitModel?: pulumi.Input; /** * Rackable unit serial name. */ rackableUnitSerial?: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeAttribute { /** * Default workload. */ defaultWorkload?: pulumi.Input; /** * Indicates whether the model is supported or not. */ isModelSupported?: pulumi.Input; /** * Indicates whether the hypervisor is robo mixed or not. */ isRoboMixedHypervisor?: pulumi.Input; /** * LCM family name. */ lcmFamily?: pulumi.Input; /** * Indicates if cvm interface can work with 1 GIG NIC or not. */ shouldWorkWith1gNic?: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeCvmIp { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeCvmIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeCvmIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeHypervisorIp { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeHypervisorIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeHypervisorIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeIpmiIp { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeIpmiIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersDiscoverUnconfiguredNodesV2UnconfiguredNodeIpmiIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeList { /** * -(Optional) Block ID. */ blockId?: pulumi.Input; /** * -(Optional) Current network interface. */ currentNetworkInterface?: pulumi.Input; /** * -(Optional) CVM IP. */ cvmIps?: pulumi.Input[] | undefined>; /** * -(Optional) Digital certificate map list. */ digitalCertificateMapLists?: pulumi.Input[] | undefined>; /** * -(Optional) Hypervisor IP. */ hypervisorIps?: pulumi.Input[] | undefined>; /** * -(Optional) Hypervisor type. */ hypervisorType?: pulumi.Input; /** * -(Optional) Hypervisor version. */ hypervisorVersion?: pulumi.Input; /** * -(Optional) IPMI IP. */ ipmiIps?: pulumi.Input[] | undefined>; /** * -(Optional) Is compute only. */ isComputeOnly?: pulumi.Input; isLightCompute?: pulumi.Input; /** * -(Optional) Is ROBO mixed hypervisor. */ isRoboMixedHypervisor?: pulumi.Input; /** * -(Optional) Model name. */ model?: pulumi.Input; /** * -(Optional) Node position. */ nodePosition?: pulumi.Input; /** * -(Optional) Node UUID. */ nodeUuid?: pulumi.Input; /** * -(Optional) NOS version. */ nosVersion?: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListCvmIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodeListCvmIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListCvmIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListDigitalCertificateMapList { /** * -(Optional) Field containing digitalCertificateBase64 and keyManagementServerUuid for key management server. */ key?: pulumi.Input; value?: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListHypervisorIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodeListHypervisorIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListHypervisorIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListIpmiIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodeListIpmiIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodeListIpmiIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetail { /** * - Network information for the given nodes. */ networkInfos?: pulumi.Input[] | undefined>; /** * - List of uplinks information for each CVM IP. */ uplinks?: pulumi.Input[] | undefined>; /** * - List of warning messages. */ warnings?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailNetworkInfo { /** * - Network information of HCI nodes. */ hcis?: pulumi.Input[] | undefined>; /** * - Network information of SO nodes. */ sos?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailNetworkInfoHci { /** * - Hypervisor type. */ hypervisorType?: pulumi.Input; /** * - Interface name. */ name?: pulumi.Input; /** * - List of networks for interface. */ networks?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailNetworkInfoSo { /** * - Hypervisor type. */ hypervisorType?: pulumi.Input; /** * - Interface name. */ name?: pulumi.Input; /** * - List of networks for interface. */ networks?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailUplink { /** * - An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ cvmIps?: pulumi.Input[] | undefined>; /** * - Uplink details for a controller VM. */ uplinkLists?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailUplinkCvmIp { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailUplinkCvmIpIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailUplinkCvmIpIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ClustersUnconfiguredNodeNetworksV2NodesNetworkingDetailUplinkUplinkList { /** * - MAC address. */ mac?: pulumi.Input; /** * - Interface name. */ name?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMap { /** * Stage a Sysprep or cloud-init configuration file to be used by the guest for the next boot. Note that the Sysprep command must be used to generalize the Windows VMs before triggering this API call. */ guestCustomizations?: pulumi.Input[] | undefined>; /** * Memory size in bytes. */ memorySizeBytes?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; /** * NICs attached to the VM. */ nics?: pulumi.Input[] | undefined>; /** * Number of cores per socket. */ numCoresPerSocket?: pulumi.Input; /** * Number of vCPU sockets. */ numSockets?: pulumi.Input; /** * Number of threads per core. */ numThreadsPerCore?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomization { /** * The Nutanix Guest Tools customization settings. * * * `config.sysprep`: (Optional) Sysprep config * * `config.cloud_init`: (Optional) CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInit { /** * The script to use for cloud-init. * * `cloud_init_script.user_data`: (Optional) user data object * * `cloud_init_script.custom_keys`: (Optional) The list of the individual KeyValuePair elements. * * * * See detailed information in [Nutanix Deploy Template V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Templates/operation/deployTemplate). */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { /** * VM name. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprep { /** * Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Values allowed is 'PREPARED', 'FRESH'. */ installType?: pulumi.Input; /** * Object either UnattendXml or CustomKeyValues * * `sysprep_script.unattend_xml`: (Optional) xml object * * `sysprep_script.custom_key_values`: (Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { /** * VM name. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapGuestCustomizationConfigSysprepSysprepScriptUnattendXml { value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicBackingInfo { /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoNetworkFunctionChain { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNetworkInfoSubnet { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoDpOffloadNicDpOffloadProfileReference { /** * The identifier of a Template. */ extId: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoDpOffloadNicHostPcieDeviceReference { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoSriovNicHostPcieDeviceReference { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoSriovNicSriovProfileReference { /** * The identifier of a Template. */ extId: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicBackingInfoVirtualEthernetNic { /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DeployTemplatesV2OverrideVmConfigMapNicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { /** * The identifier of a Template. */ extId?: pulumi.Input; } export interface DirectoryServicesV2OpenLdapConfiguration { /** * -(Required) this field will avoid down migration of data from the hot tier unless the overrides field is specified for the virtual disks. */ userConfigurations: pulumi.Input[]>; /** * -(Required) this field will avoid down migration of data from the hot tier unless the overrides field is specified for the virtual disks. */ userGroupConfigurations: pulumi.Input[]>; } export interface DirectoryServicesV2OpenLdapConfigurationUserConfiguration { /** * -(Required) Object class in the OpenLDAP system that corresponds to Users. */ userObjectClass: pulumi.Input; /** * -(Required) Base DN for User search. */ userSearchBase: pulumi.Input; /** * -(Required) Unique Identifier for each User which can be used in Authentication. */ usernameAttribute: pulumi.Input; } export interface DirectoryServicesV2OpenLdapConfigurationUserGroupConfiguration { /** * -(Required) Attribute in a group that associates Users to the group. */ groupMemberAttribute: pulumi.Input; /** * -(Required) User attribute value that will be used in group entity to associate User to the group. */ groupMemberAttributeValue: pulumi.Input; /** * -(Required) Object class in the OpenLDAP system that corresponds to groups. */ groupObjectClass: pulumi.Input; /** * -(Required) Base DN for group search. */ groupSearchBase: pulumi.Input; } export interface DirectoryServicesV2ServiceAccount { /** * -(Required) Password to connect to the Directory Service. */ password: pulumi.Input; /** * -(Required) Username to connect to the Directory Service. */ username: pulumi.Input; } export interface EntityGroupV2AllowedConfig { /** * List of allowed entities. Each entity may contain: */ entities?: pulumi.Input[] | undefined>; } export interface EntityGroupV2AllowedConfigEntity { /** * With `ipv4Addresses` block(s): */ addresses?: pulumi.Input; /** * With `ipv4Ranges` block(s): */ ipRanges?: pulumi.Input; /** * List of kube entity identifiers. Required when `type` is a kube type (`KUBE_NAMESPACE`, `KUBE_SERVICE`, `KUBE_CLUSTER`, or `KUBE_PODS`). */ kubeEntities?: pulumi.Input[] | undefined>; /** * List of reference external identifiers. Required when `selectedBy` is `EXT_ID`. */ referenceExtIds?: pulumi.Input[] | undefined>; /** * The selection method for the entity. Valid values: `IP_VALUES`, `EXT_ID`, `CATEGORY_EXT_ID`, `LABELS`, `NAME`. */ selectedBy?: pulumi.Input; /** * The type of entity. Valid values: `KUBE_NAMESPACE`, `SUBNET`, `VM`, `VPC`, `KUBE_SERVICE`, `KUBE_CLUSTER`, `KUBE_PODS`, `ADDRESS_GROUP`. */ type?: pulumi.Input; } export interface EntityGroupV2AllowedConfigEntityAddresses { ipv4Addresses?: pulumi.Input[] | undefined>; } export interface EntityGroupV2AllowedConfigEntityAddressesIpv4Address { /** * Prefix length. */ prefixLength?: pulumi.Input; /** * IPv4 address value. */ value: pulumi.Input; } export interface EntityGroupV2AllowedConfigEntityIpRanges { ipv4Ranges?: pulumi.Input[] | undefined>; } export interface EntityGroupV2AllowedConfigEntityIpRangesIpv4Range { /** * End IP of the range. */ endIp: pulumi.Input; /** * Start IP of the range. */ startIp: pulumi.Input; } export interface EntityGroupV2ExceptConfig { /** * List of except entities. Each entity may contain: */ entities?: pulumi.Input[] | undefined>; } export interface EntityGroupV2ExceptConfigEntity { /** * With `ipv4Addresses` block(s). */ addresses?: pulumi.Input; /** * With `ipv4Ranges` block(s). */ ipRanges?: pulumi.Input; /** * List of reference external identifiers. Required when `selectedBy` is `EXT_ID`. */ referenceExtIds?: pulumi.Input[] | undefined>; /** * The selection method for the entity. Valid values: `IP_VALUES`, `EXT_ID`, `CATEGORY_EXT_ID`, `LABELS`, `NAME`. */ selectedBy?: pulumi.Input; /** * The type of entity. Valid values: `KUBE_NAMESPACE`, `SUBNET`, `VM`, `VPC`, `KUBE_SERVICE`, `KUBE_CLUSTER`, `KUBE_PODS`, `ADDRESS_GROUP`. */ type?: pulumi.Input; } export interface EntityGroupV2ExceptConfigEntityAddresses { ipv4Addresses?: pulumi.Input[] | undefined>; } export interface EntityGroupV2ExceptConfigEntityAddressesIpv4Address { /** * Prefix length. */ prefixLength?: pulumi.Input; /** * IPv4 address value. */ value: pulumi.Input; } export interface EntityGroupV2ExceptConfigEntityIpRanges { ipv4Ranges?: pulumi.Input[] | undefined>; } export interface EntityGroupV2ExceptConfigEntityIpRangesIpv4Range { /** * End IP of the range. */ endIp: pulumi.Input; /** * Start IP of the range. */ startIp: pulumi.Input; } export interface EntityGroupV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2Association { /** * Association of Floating IP with private IP * - `private_ip_association.vpc_reference`: (Required) VPC in which the private IP exists. * - `private_ip_association.private_ip`: (Required) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ privateIpAssociations?: pulumi.Input[] | undefined>; /** * Association of Floating IP with nic * - `vm_nic_association.vm_nic_reference`: (Required) VM NIC reference. * - `vm_nic_association.vpc_reference`: (Optional) VPC reference to which the VM NIC subnet belongs. */ vmNicAssociations?: pulumi.Input[] | undefined>; } export interface FloatingIpV2AssociationPrivateIpAssociation { privateIps: pulumi.Input[]>; /** * VPC reference UUID */ vpcReference: pulumi.Input; } export interface FloatingIpV2AssociationPrivateIpAssociationPrivateIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2AssociationPrivateIpAssociationPrivateIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2AssociationPrivateIpAssociationPrivateIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2AssociationVmNicAssociation { /** * VM NIC reference. */ vmNicReference: pulumi.Input; /** * VPC reference UUID */ vpcReference?: pulumi.Input; } export interface FloatingIpV2ExternalSubnet { bridgeName?: pulumi.Input; clusterName?: pulumi.Input; clusterReference?: pulumi.Input; /** * Description for the Floating IP. */ description?: pulumi.Input; dhcpOptions?: pulumi.Input[] | undefined>; dynamicIpAddresses?: pulumi.Input[] | undefined>; extId: pulumi.Input; hypervisorType?: pulumi.Input; ipConfigs?: pulumi.Input[] | undefined>; ipPrefix?: pulumi.Input; ipUsages?: pulumi.Input[] | undefined>; isAdvancedNetworking?: pulumi.Input; isExternal?: pulumi.Input; isNatEnabled?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; migrationState?: pulumi.Input; /** * Name of the floating IP. */ name?: pulumi.Input; networkFunctionChainReference?: pulumi.Input; networkId?: pulumi.Input; reservedIpAddresses?: pulumi.Input[] | undefined>; subnetType?: pulumi.Input; virtualSwitchReference?: pulumi.Input; virtualSwitches?: pulumi.Input[] | undefined>; /** * VPC reference UUID */ vpcReference?: pulumi.Input; /** * Networking common base object */ vpcs?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetDhcpOption { bootFileName?: pulumi.Input; domainName?: pulumi.Input; domainNameServers?: pulumi.Input[] | undefined>; ntpServers?: pulumi.Input[] | undefined>; searchDomains?: pulumi.Input[] | undefined>; tftpServerName?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDhcpOptionDomainNameServer { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetDhcpOptionDomainNameServerIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDhcpOptionDomainNameServerIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDhcpOptionNtpServer { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetDhcpOptionNtpServerIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDhcpOptionNtpServerIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDynamicIpAddress { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetDynamicIpAddressIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetDynamicIpAddressIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfig { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4 { defaultGatewayIps?: pulumi.Input[] | undefined>; dhcpServerAddresses?: pulumi.Input[] | undefined>; ipSubnets?: pulumi.Input[] | undefined>; poolLists?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4DefaultGatewayIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4DhcpServerAddress { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4IpSubnet { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4IpSubnetIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4PoolList { endIps?: pulumi.Input[] | undefined>; startIps?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4PoolListEndIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv4PoolListStartIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6 { defaultGatewayIps?: pulumi.Input[] | undefined>; dhcpServerAddresses?: pulumi.Input[] | undefined>; ipSubnets?: pulumi.Input[] | undefined>; poolLists?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6DefaultGatewayIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6DhcpServerAddress { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6IpSubnet { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6IpSubnetIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6PoolList { endIps?: pulumi.Input[] | undefined>; startIps?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6PoolListEndIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpConfigIpv6PoolListStartIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpUsage { ipPoolUsages?: pulumi.Input[] | undefined>; numAssignedIps?: pulumi.Input; numFreeIps?: pulumi.Input; numMacs?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpUsageIpPoolUsage { numFreeIps?: pulumi.Input; numTotalIps?: pulumi.Input; ranges?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpUsageIpPoolUsageRange { endIps?: pulumi.Input[] | undefined>; startIps?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetIpUsageIpPoolUsageRangeEndIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetIpUsageIpPoolUsageRangeStartIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetReservedIpAddress { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitch { bondMode?: pulumi.Input; clusters?: pulumi.Input[] | undefined>; /** * Description for the Floating IP. */ description?: pulumi.Input; extId?: pulumi.Input; hasDeploymentError?: pulumi.Input; isDefault?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; mtu?: pulumi.Input; /** * Name of the floating IP. */ name?: pulumi.Input; /** * A globally unique identifier that represents the tenant that owns this entity. */ tenantId?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchCluster { extId?: pulumi.Input; gatewayIpAddresses?: pulumi.Input[] | undefined>; hosts?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVirtualSwitchClusterGatewayIpAddress { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchClusterHost { extId?: pulumi.Input; hostNics?: pulumi.Input[] | undefined>; internalBridgeName?: pulumi.Input; ipAddresses?: pulumi.Input[] | undefined>; routeTable?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchClusterHostIpAddress { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchClusterHostIpAddressIp { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVirtualSwitchMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpc { commonDhcpOptions?: pulumi.Input[] | undefined>; /** * Description for the Floating IP. */ description?: pulumi.Input; extId?: pulumi.Input; externalRoutingDomainReference?: pulumi.Input; externalSubnets?: pulumi.Input[] | undefined>; externallyRoutablePrefixes?: pulumi.Input[] | undefined>; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; /** * Name of the floating IP. */ name?: pulumi.Input; snatIps?: pulumi.Input[] | undefined>; /** * A globally unique identifier that represents the tenant that owns this entity. */ tenantId?: pulumi.Input; vpcType?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcCommonDhcpOption { domainNameServers?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcCommonDhcpOptionDomainNameServer { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcCommonDhcpOptionDomainNameServerIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcCommonDhcpOptionDomainNameServerIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnet { activeGatewayCount?: pulumi.Input; activeGatewayNodes?: pulumi.Input[] | undefined>; externalIps?: pulumi.Input[] | undefined>; gatewayNodes?: pulumi.Input[] | undefined>; subnetReference?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetActiveGatewayNode { nodeId?: pulumi.Input; nodeIpAddresses?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetActiveGatewayNodeNodeIpAddress { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetExternalIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetExternalIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternalSubnetExternalIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternallyRoutablePrefix { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcExternallyRoutablePrefixIpv4 { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternallyRoutablePrefixIpv4Ip { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternallyRoutablePrefixIpv6 { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcExternallyRoutablePrefixIpv6Ip { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcSnatIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2ExternalSubnetVpcSnatIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2ExternalSubnetVpcSnatIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2FloatingIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2FloatingIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2FloatingIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2Metadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface FloatingIpV2VmNic { privateIp?: pulumi.Input; } export interface FloatingIpV2Vpc { commonDhcpOptions?: pulumi.Input[] | undefined>; /** * Description for the Floating IP. */ description?: pulumi.Input; extId?: pulumi.Input; externalRoutingDomainReference?: pulumi.Input; externalSubnets?: pulumi.Input[] | undefined>; externallyRoutablePrefixes?: pulumi.Input[] | undefined>; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; /** * Name of the floating IP. */ name?: pulumi.Input; snatIps?: pulumi.Input[] | undefined>; /** * A globally unique identifier that represents the tenant that owns this entity. */ tenantId?: pulumi.Input; vpcType?: pulumi.Input; } export interface FloatingIpV2VpcCommonDhcpOption { domainNameServers?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcCommonDhcpOptionDomainNameServer { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcCommonDhcpOptionDomainNameServerIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcCommonDhcpOptionDomainNameServerIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternalSubnet { activeGatewayCount?: pulumi.Input; activeGatewayNodes?: pulumi.Input[] | undefined>; externalIps?: pulumi.Input[] | undefined>; gatewayNodes?: pulumi.Input[] | undefined>; subnetReference?: pulumi.Input; } export interface FloatingIpV2VpcExternalSubnetActiveGatewayNode { nodeId?: pulumi.Input; nodeIpAddresses?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcExternalSubnetActiveGatewayNodeNodeIpAddress { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternalSubnetExternalIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcExternalSubnetExternalIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternalSubnetExternalIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternallyRoutablePrefix { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcExternallyRoutablePrefixIpv4 { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2VpcExternallyRoutablePrefixIpv4Ip { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcExternallyRoutablePrefixIpv6 { ips?: pulumi.Input[] | undefined>; /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface FloatingIpV2VpcExternallyRoutablePrefixIpv6Ip { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface FloatingIpV2VpcMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface FloatingIpV2VpcSnatIp { /** * Reference to IP Configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to IP Configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface FloatingIpV2VpcSnatIpIpv4 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FloatingIpV2VpcSnatIpIpv6 { /** * Prefix length of the network to which this host IPv4 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface FoundationCentralImageClusterClusterStatus { aggregatePercentComplete?: pulumi.Input; clusterCreationStarted?: pulumi.Input; clusterProgressDetails?: pulumi.Input[] | undefined>; currentFoundationIp?: pulumi.Input; foundationSessionId?: pulumi.Input; imagingStopped?: pulumi.Input; intentPickedUp?: pulumi.Input; nodeProgressDetails?: pulumi.Input[] | undefined>; } export interface FoundationCentralImageClusterClusterStatusClusterProgressDetail { /** * Name of the cluster. */ clusterName?: pulumi.Input; messageLists?: pulumi.Input[] | undefined>; percentComplete?: pulumi.Input; status?: pulumi.Input; } export interface FoundationCentralImageClusterClusterStatusNodeProgressDetail { /** * UUID of the node. */ imagedNodeUuid?: pulumi.Input; imagingStopped?: pulumi.Input; intentPickedUp?: pulumi.Input; messageLists?: pulumi.Input[] | undefined>; percentComplete?: pulumi.Input; status?: pulumi.Input; } export interface FoundationCentralImageClusterCommonNetworkSettings { /** * List of dns servers for the cvms in the cluster. */ cvmDnsServers?: pulumi.Input[] | undefined>; /** * List of ntp servers for the cvms in the cluster. */ cvmNtpServers?: pulumi.Input[] | undefined>; /** * List of dns servers for the hypervisors in the cluster. */ hypervisorDnsServers?: pulumi.Input[] | undefined>; /** * List of ntp servers for the hypervisors in the cluster. */ hypervisorNtpServers?: pulumi.Input[] | undefined>; } export interface FoundationCentralImageClusterFoundationInitConfig { blocks?: pulumi.Input[] | undefined>; clusters?: pulumi.Input[] | undefined>; /** * Gateway of the cvm. */ cvmGateway?: pulumi.Input; /** * Netmask of the cvm. */ cvmNetmask?: pulumi.Input; dnsServers?: pulumi.Input; /** * Product key for hyperv isos. Required only if the hypervisor type is hyperv and product key is mandatory (ex: for volume license). */ hypervProductKey?: pulumi.Input; /** * SKU of hyperv to be installed if hypervisorType is hyperv. */ hypervSku?: pulumi.Input; /** * Gateway of the hypervisor. */ hypervisorGateway?: pulumi.Input; hypervisorIsoUrl?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Details of the hypervisor iso. Required for deploying node with AOS >= 6.8 */ hypervisorIsos?: pulumi.Input[] | undefined>; /** * Netmask of the hypervisor. */ hypervisorNetmask?: pulumi.Input; /** * Gateway of the ipmi. */ ipmiGateway?: pulumi.Input; /** * Netmask of the ipmi. */ ipmiNetmask?: pulumi.Input; nosPackageUrls?: pulumi.Input[] | undefined>; } export interface FoundationCentralImageClusterFoundationInitConfigBlock { blockId?: pulumi.Input; nodes?: pulumi.Input[] | undefined>; } export interface FoundationCentralImageClusterFoundationInitConfigBlockNode { /** * IP address to be set for the cvm on the node. */ cvmIp?: pulumi.Input; /** * Vlan tag of the cvm, if the cvm is on a vlan. */ cvmVlanId?: pulumi.Input; fcImagedNodeUuid?: pulumi.Input; /** * Hardware attributes override json for the node. */ hardwareAttributesOverride?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; hypervisor?: pulumi.Input; /** * Name to be set for the hypervisor host. */ hypervisorHostname?: pulumi.Input; /** * IP address to be set for the hypervisor on the node. */ hypervisorIp?: pulumi.Input; /** * True, if the node should be imaged, False, otherwise. */ imageNow?: pulumi.Input; /** * IP address to be set for the ipmi of the node. */ ipmiIp?: pulumi.Input; ipv6Address?: pulumi.Input; nodePosition?: pulumi.Input; nodeSerial?: pulumi.Input; } export interface FoundationCentralImageClusterFoundationInitConfigCluster { /** * External management ip of the cluster. */ clusterExternalIp?: pulumi.Input; clusterInitNow?: pulumi.Input; clusterInitSuccessful?: pulumi.Input; clusterMembers?: pulumi.Input[] | undefined>; /** * Name of the cluster. */ clusterName?: pulumi.Input; /** * List of dns servers for the cvms in the cluster. */ cvmDnsServers?: pulumi.Input; /** * List of ntp servers for the cvms in the cluster. */ cvmNtpServers?: pulumi.Input; /** * Redundancy factor of the cluster. */ redundancyFactor?: pulumi.Input; /** * Timezone to be set on the cluster. */ timezone?: pulumi.Input; } export interface FoundationCentralImageClusterFoundationInitConfigHypervisorIso { hypervisorType?: pulumi.Input; /** * sha256sum of the hypervisor iso. */ sha256sum?: pulumi.Input; /** * URL to download hypervisor iso. Required only if imaging is needed. */ url?: pulumi.Input; } export interface FoundationCentralImageClusterFoundationInitConfigNosPackageUrl { /** * sha256sum of the hypervisor iso. */ sha256sum?: pulumi.Input; /** * URL to download hypervisor iso. Required only if imaging is needed. */ url?: pulumi.Input; } export interface FoundationCentralImageClusterHypervisorIsoDetails { /** * Product key for hyperv isos. Required only if the hypervisor type is hyperv and product key is mandatory (ex: for volume license). */ hypervProductKey?: pulumi.Input; /** * SKU of hyperv to be installed if hypervisorType is hyperv. */ hypervSku?: pulumi.Input; /** * sha256sum of the hypervisor iso. */ sha256sum?: pulumi.Input; /** * URL to download hypervisor iso. Required only if imaging is needed. */ url?: pulumi.Input; } export interface FoundationCentralImageClusterHypervisorIsos { /** * Product key for hyperv isos. Required only if the hypervisor type is hyperv and product key is mandatory (ex: for volume license). */ hypervProductKey?: pulumi.Input; /** * SKU of hyperv to be installed if hypervisorType is hyperv. */ hypervSku?: pulumi.Input; hypervisorType?: pulumi.Input; /** * sha256sum of the hypervisor iso. */ sha256sum?: pulumi.Input; /** * URL to download hypervisor iso. Required only if imaging is needed. */ url?: pulumi.Input; } export interface FoundationCentralImageClusterNodeList { /** * Gateway of the cvm. */ cvmGateway?: pulumi.Input; /** * IP address to be set for the cvm on the node. */ cvmIp?: pulumi.Input; /** * Netmask of the cvm. */ cvmNetmask?: pulumi.Input; /** * Amount of memory to be assigned for the cvm. */ cvmRamGb?: pulumi.Input; /** * Vlan tag of the cvm, if the cvm is on a vlan. */ cvmVlanId?: pulumi.Input; /** * Hardware attributes override json for the node. */ hardwareAttributesOverride?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Gateway of the hypervisor. */ hypervisorGateway?: pulumi.Input; /** * Name to be set for the hypervisor host. */ hypervisorHostname?: pulumi.Input; /** * IP address to be set for the hypervisor on the node. */ hypervisorIp?: pulumi.Input; /** * Netmask of the hypervisor. */ hypervisorNetmask?: pulumi.Input; hypervisorType?: pulumi.Input; /** * True, if the node should be imaged, False, otherwise. */ imageNow?: pulumi.Input; /** * UUID of the node. */ imagedNodeUuid?: pulumi.Input; /** * Gateway of the ipmi. */ ipmiGateway?: pulumi.Input; /** * IP address to be set for the ipmi of the node. */ ipmiIp?: pulumi.Input; /** * Netmask of the ipmi. */ ipmiNetmask?: pulumi.Input; /** * Passthrough RDMA nic to CVM if possible, default to false. */ rdmaPassthrough?: pulumi.Input; /** * JSON-encoded server configuration data for cluster. Required only for imaging via a hardware manager like Cisco Intersight managed UCS nodes. Example: * ``` * server_configuration_data = jsonencode({ * intersight_data = { * organization = "default" * } * }) * ``` */ serverConfigurationData?: pulumi.Input; /** * Decides whether to use the existing network settings for the node. If True, the existing network settings of the node will be used during cluster creation. If False, then client must provide new network settings. If all nodes are booted in phoenix, this field is, by default, considered to be False. */ useExistingNetworkSettings?: pulumi.Input; } export interface FoundationImageNodesBlock { /** * - Block ID. */ blockId?: pulumi.Input; /** * - (Required) Terraform blocks of details of nodes */ nodes: pulumi.Input[]>; } export interface FoundationImageNodesBlockNode { /** * - (Required if node is lacp configured) slow or fast if lacp if being used at the switch */ bondLacpRate?: pulumi.Input; /** * - (Required if node is capable) dynamic if using LACP, static for LAG */ bondMode?: pulumi.Input; /** * - MAC Addresses of NICs in a team/bond */ bondUplinks?: pulumi.Input; /** * - ID of cluster. */ clusterId?: pulumi.Input; /** * - Current CVM vlan tag. 0 Value with remove vlan tag. */ currentCvmVlanTag?: pulumi.Input; /** * - CVM current network interface. */ currentNetworkInterface?: pulumi.Input; /** * - RAM capacity of CVM in GB. */ cvmGbRam?: pulumi.Input; cvmIp?: pulumi.Input; /** * - Number of CVM vcpus. */ cvmNumVcpus?: pulumi.Input; /** * - use "vmInstaller" to enable CVM imaging from standalone. */ deviceHint?: pulumi.Input; /** * - serial of boot device to be excluded (used by NX G6 platforms) */ exludeBootSerial?: pulumi.Input; hypervisor?: pulumi.Input; /** * - (Required) Hypervisor Hostname. */ hypervisorHostname: pulumi.Input; /** * - (Required) Hypervisor IP address. */ hypervisorIp: pulumi.Input; /** * - Imaging delay. */ imageDelay?: pulumi.Input; /** * - (Optional, Default = true) If the node should be imaged now. */ imageNow?: pulumi.Input; imageSuccessful?: pulumi.Input; /** * - Whether IPMI should be configured. */ ipmiConfigureNow?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or outside blocks) IPMI gateway for this node */ ipmiGateway?: pulumi.Input; /** * - (Required) IPMI IP address. */ ipmiIp?: pulumi.Input; /** * - IPMI MAC address. */ ipmiMac?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or outside blocks) IPMI netmask for this node */ ipmiNetmask?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or outside blocks) IPMI username */ ipmiPassword?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or outside blocks) IPMI password */ ipmiUser?: pulumi.Input; /** * - (Required when deviceHint = "vmInstaller" for imaging using node's existing cvm for imaging) IPV6 address. */ ipv6Address?: pulumi.Input; /** * - (Required when deviceHint = "vmInstaller" for imaging using node's existing cvm for imaging) ipv6 interface. */ ipv6Interface?: pulumi.Input; /** * - relocate bootbank files to make space for phoenix files. */ mitigateLowBootSpace?: pulumi.Input; /** * - (Required) Position of the node in the block. */ nodePosition: pulumi.Input; /** * - serial number of the node. */ nodeSerial?: pulumi.Input; /** * - mac address of nic to be used for rdma */ rdmaMacAddr?: pulumi.Input; /** * - (Required if node is capable) passthru RDMA nic to CVM if possible, default to false */ rdmaPassthrough?: pulumi.Input; /** * - UCSM Managed mode. */ ucsmManagedMode?: pulumi.Input; /** * - UCSM node serial. */ ucsmNodeSerial?: pulumi.Input; /** * - Object of UCSM parameters. * * `ucsm_params.native_vlan` :- If the vlan is native. * * `ucsm_params.keep_ucsm_settings` :- Whether UCSM settings should be kept. * * `ucsm_params.mac_pool` :- Mac address pool. * * `ucsm_params.vlan_name` :- Name of vlan. */ ucsmParams?: pulumi.Input; /** * - Terraform blocks of vswitch configuration. Foundation will auto-calculate this in most cases. Provide it only if you want to override foundation's defaults. * * `vswitches.lacp` :- Status of LACP. * * `vswitches.bond_mode` :- bondMode such as balance-tcp, active-backup, etc. * * `vswitches.name` :- Name of the vswitch. * * `vswitches.uplinks` :- Terraform blocks of MAC Addresses of NICs in a team/bond. * * `vswitches.other_config` :- Terraform blocks of Auxiliary lacp configurations. Applicable only for AHV. * * `vswitches.mtu` :- MTU of the vswitch. Applicable only for AHV. */ vswitches?: pulumi.Input[] | undefined>; } export interface FoundationImageNodesBlockNodeUcsmParams { keepUcsmSettings?: pulumi.Input; macPool?: pulumi.Input; nativeVlan?: pulumi.Input; vlanName?: pulumi.Input; } export interface FoundationImageNodesBlockNodeVswitch { /** * - (Required if node is capable) dynamic if using LACP, static for LAG */ bondMode?: pulumi.Input; lacp?: pulumi.Input; mtu?: pulumi.Input; name?: pulumi.Input; otherConfigs?: pulumi.Input[] | undefined>; uplinks?: pulumi.Input[] | undefined>; } export interface FoundationImageNodesCluster { /** * - Backplane netmask. */ backplaneNetmask?: pulumi.Input; /** * - Backplane subnet address. */ backplaneSubnet?: pulumi.Input; /** * - Backplane vlan. */ backplaneVlan?: pulumi.Input; /** * - External IP of the cluster. */ clusterExternalIp?: pulumi.Input; /** * - (Optional, Default = true) If cluster should be created. */ clusterInitNow?: pulumi.Input; /** * - If cluster initialization was successful. */ clusterInitSuccessful?: pulumi.Input; /** * - (Required) Members in the cluster. */ clusterMembers: pulumi.Input[]>; /** * - (Required) Name of the cluster. */ clusterName: pulumi.Input; /** * - DNS servers of CVM. */ cvmDnsServers?: pulumi.Input; /** * - NTP servers of CVM. */ cvmNtpServers?: pulumi.Input; /** * - If network segmentation should be enabled. */ enableNs?: pulumi.Input; /** * - NTP servers of hypervisor. */ hypervisorNtpServers?: pulumi.Input; /** * - (Required) Cluster Redundancy Factor. */ redundancyFactor: pulumi.Input; /** * - If it is a single node cluster. */ singleNodeCluster?: pulumi.Input; /** * - Set timezone for every CVM */ timezone?: pulumi.Input; } export interface FoundationImageNodesClusterUrl { /** * - (Required) Name of the cluster. */ clusterName?: pulumi.Input; clusterUrl?: pulumi.Input; } export interface FoundationImageNodesEosMetadata { /** * - arrya of account names */ accountNames?: pulumi.Input[] | undefined>; /** * - Id of the Eos config uploaded in foundation GUI. */ configId?: pulumi.Input; /** * - Email address of the user who downloaded Eos config. */ email?: pulumi.Input; } export interface FoundationImageNodesFcSettings { /** * - Foundation Central metadata which will be transferred to the newly imaged node. * * `fc_metadata.fc_ip` :- IP address of foundation central. * * `fc_metadata.api_key` :- apiKey which the node uses to register itself with foundation central. */ fcMetadata: pulumi.Input; /** * - If this attribute is set to True, FC workflow will be invoked. */ foundationCentral: pulumi.Input; } export interface FoundationImageNodesFcSettingsFcMetadata { apiKey: pulumi.Input; fcIp: pulumi.Input; } export interface FoundationImageNodesHypervisorIso { /** * - Details of hypervisor ISO of type esx. */ esx?: pulumi.Input; /** * - Details of hypervisor ISO of type hyperv. */ hyperv?: pulumi.Input; /** * - Details of hypervisor ISO of type kvm. */ kvm?: pulumi.Input; /** * - Details of hypervisor ISO of type xen. */ xen?: pulumi.Input; } export interface FoundationImageNodesHypervisorIsoEsx { /** * - (Required) Filename of hypervisor ISO. */ checksum: pulumi.Input; /** * - (Required) Checksum for ISO file. */ filename: pulumi.Input; } export interface FoundationImageNodesHypervisorIsoHyperv { /** * - (Required) Filename of hypervisor ISO. */ checksum: pulumi.Input; /** * - (Required) Checksum for ISO file. */ filename: pulumi.Input; } export interface FoundationImageNodesHypervisorIsoKvm { /** * - (Required) Filename of hypervisor ISO. */ checksum: pulumi.Input; /** * - (Required) Checksum for ISO file. */ filename: pulumi.Input; } export interface FoundationImageNodesHypervisorIsoXen { /** * - (Required) Filename of hypervisor ISO. */ checksum: pulumi.Input; /** * - (Required) Checksum for ISO file. */ filename: pulumi.Input; } export interface FoundationImageNodesTests { /** * - Whether NCC checks should run. */ runNcc?: pulumi.Input; /** * - Whether system checks should run. */ runSyscheck?: pulumi.Input; } export interface FoundationIpmiConfigBlock { /** * - (Optional) Block Id */ blockId?: pulumi.Input; /** * - (Required) array of nodes for ipmi config. */ nodes: pulumi.Input[]>; } export interface FoundationIpmiConfigBlockNode { /** * - (Required) Whether IPMI should be configured. Should be kept true to configure */ ipmiConfigureNow: pulumi.Input; /** * - Whether IPMI was successfully configured. */ ipmiConfigureSuccessful?: pulumi.Input; /** * - IPMI IP address. */ ipmiIp: pulumi.Input; /** * - (Required) IPMI mac address. */ ipmiMac: pulumi.Input; /** * - IPMI configuration status message if any. */ ipmiMessage?: pulumi.Input; } export interface GetAccessControlPoliciesMetadata { filter?: string; /** * - The kind name (Default value: project)(Required). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetAccessControlPoliciesMetadataArgs { filter?: pulumi.Input; /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetAccessControlPolicyCategory { /** * - the name(Optional). */ name?: string; /** * - value of the key. */ value?: string; } export interface GetAccessControlPolicyCategoryArgs { /** * - the name(Optional). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetAddressGroupV2Ipv4Address { /** * The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: number; /** * ip of address */ value?: string; } export interface GetAddressGroupV2Ipv4AddressArgs { /** * The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * ip of address */ value?: pulumi.Input; } export interface GetAddressGroupsMetadata { /** * (Optional) Filter in FIQL Syntax */ filter?: string; kind?: string; /** * (Optional) Integer */ length?: number; /** * (Optional) Integer */ offset?: number; /** * (Optional) attribute to sort */ sortAttribute?: string; /** * (Optional) order of sorting */ sortOrder?: string; } export interface GetAddressGroupsMetadataArgs { /** * (Optional) Filter in FIQL Syntax */ filter?: pulumi.Input; kind?: pulumi.Input; /** * (Optional) Integer */ length?: pulumi.Input; /** * (Optional) Integer */ offset?: pulumi.Input; /** * (Optional) attribute to sort */ sortAttribute?: pulumi.Input; /** * (Optional) order of sorting */ sortOrder?: pulumi.Input; } export interface GetAssertHelperCheck { condition: boolean; errorMessage: string; } export interface GetAssertHelperCheckArgs { condition: pulumi.Input; errorMessage: pulumi.Input; } export interface GetClusterCategory { /** * - the key name. */ name?: string; /** * - value of the key. */ value?: string; } export interface GetClusterCategoryArgs { /** * - the key name. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetFloatingIpsMetadata { filter?: string; /** * - The kind name (Default value: project). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; totalMatches?: number; } export interface GetFloatingIpsMetadataArgs { filter?: pulumi.Input; /** * - The kind name (Default value: project). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; totalMatches?: pulumi.Input; } export interface GetFoundationCentralClusterDetailsClusterStatus { /** * Overall progress percentage including imaging and cluster creation. */ aggregatePercentComplete?: number; /** * Denotes whether cluster creation has started in a phoenix workflow. For foundation workflows, this field will be same as intent_picked_up. */ clusterCreationStarted?: boolean; /** * Denotes the progress status of cluster creation. */ clusterProgressDetails?: inputs.GetFoundationCentralClusterDetailsClusterStatusClusterProgressDetail[]; /** * Current IP address of the coordinating foundation node. */ currentFoundationIp?: string; /** * Foundation session id for cluster creation. */ foundationSessionId?: string; /** * Describes whether imaging has stopped. True indicates that process has stopped. False indicates that process is still going on. This field will only be used by phoenix nodes to update FC. */ imagingStopped?: boolean; /** * Denotes whether the remote nodes has picked up the cluster creation intent. */ intentPickedUp?: boolean; /** * List of progress details of each node. */ nodeProgressDetails?: inputs.GetFoundationCentralClusterDetailsClusterStatusNodeProgressDetail[]; } export interface GetFoundationCentralClusterDetailsClusterStatusArgs { /** * Overall progress percentage including imaging and cluster creation. */ aggregatePercentComplete?: pulumi.Input; /** * Denotes whether cluster creation has started in a phoenix workflow. For foundation workflows, this field will be same as intent_picked_up. */ clusterCreationStarted?: pulumi.Input; /** * Denotes the progress status of cluster creation. */ clusterProgressDetails?: pulumi.Input[] | undefined>; /** * Current IP address of the coordinating foundation node. */ currentFoundationIp?: pulumi.Input; /** * Foundation session id for cluster creation. */ foundationSessionId?: pulumi.Input; /** * Describes whether imaging has stopped. True indicates that process has stopped. False indicates that process is still going on. This field will only be used by phoenix nodes to update FC. */ imagingStopped?: pulumi.Input; /** * Denotes whether the remote nodes has picked up the cluster creation intent. */ intentPickedUp?: pulumi.Input; /** * List of progress details of each node. */ nodeProgressDetails?: pulumi.Input[] | undefined>; } export interface GetFoundationCentralClusterDetailsClusterStatusClusterProgressDetail { /** * Cluster name. */ clusterName?: string; /** * List of messages for the client based on process state. */ messageLists?: string[]; /** * Percent completion of cluster creation process. */ percentComplete?: number; /** * Current status of cluster creation process. */ status?: string; } export interface GetFoundationCentralClusterDetailsClusterStatusClusterProgressDetailArgs { /** * Cluster name. */ clusterName?: pulumi.Input; /** * List of messages for the client based on process state. */ messageLists?: pulumi.Input[] | undefined>; /** * Percent completion of cluster creation process. */ percentComplete?: pulumi.Input; /** * Current status of cluster creation process. */ status?: pulumi.Input; } export interface GetFoundationCentralClusterDetailsClusterStatusNodeProgressDetail { /** * UUID of the node. */ imagedNodeUuid?: string; /** * Describes whether imaging has stopped. True indicates that process has stopped. False indicates that process is still going on. This field will only be used by phoenix nodes to update FC. */ imagingStopped?: boolean; /** * Denotes whether the remote nodes has picked up the cluster creation intent. */ intentPickedUp?: boolean; /** * List of messages for the client based on process state. */ messageLists?: string[]; /** * Percent completion of cluster creation process. */ percentComplete?: number; /** * Current status of cluster creation process. */ status?: string; } export interface GetFoundationCentralClusterDetailsClusterStatusNodeProgressDetailArgs { /** * UUID of the node. */ imagedNodeUuid?: pulumi.Input; /** * Describes whether imaging has stopped. True indicates that process has stopped. False indicates that process is still going on. This field will only be used by phoenix nodes to update FC. */ imagingStopped?: pulumi.Input; /** * Denotes whether the remote nodes has picked up the cluster creation intent. */ intentPickedUp?: pulumi.Input; /** * List of messages for the client based on process state. */ messageLists?: pulumi.Input[] | undefined>; /** * Percent completion of cluster creation process. */ percentComplete?: pulumi.Input; /** * Current status of cluster creation process. */ status?: pulumi.Input; } export interface GetFoundationCentralClusterDetailsCommonNetworkSettings { /** * List of dns servers for the cvms in the cluster. */ cvmDnsServers?: string[]; /** * List of ntp servers for the cvms in the cluster. */ cvmNtpServers?: string[]; /** * List of dns servers for the hypervisors in the cluster. */ hypervisorDnsServers?: string[]; /** * List of ntp servers for the hypervisors in the cluster. */ hypervisorNtpServers?: string[]; } export interface GetFoundationCentralClusterDetailsCommonNetworkSettingsArgs { /** * List of dns servers for the cvms in the cluster. */ cvmDnsServers?: pulumi.Input[] | undefined>; /** * List of ntp servers for the cvms in the cluster. */ cvmNtpServers?: pulumi.Input[] | undefined>; /** * List of dns servers for the hypervisors in the cluster. */ hypervisorDnsServers?: pulumi.Input[] | undefined>; /** * List of ntp servers for the hypervisors in the cluster. */ hypervisorNtpServers?: pulumi.Input[] | undefined>; } export interface GetFoundationCentralImagedClustersListFilters { /** * True if the cluster creation request is archived, False otherwise */ archived?: boolean; } export interface GetFoundationCentralImagedClustersListFiltersArgs { /** * True if the cluster creation request is archived, False otherwise */ archived?: pulumi.Input; } export interface GetFoundationCentralImagedNodesListFilters { /** * Specifies whether the node is discovering, available or unavailable for cluster creation. */ nodeState?: string; } export interface GetFoundationCentralImagedNodesListFiltersArgs { /** * Specifies whether the node is discovering, available or unavailable for cluster creation. */ nodeState?: pulumi.Input; } export interface GetFoundationCentralListApiKeysMetadata { /** * The number of records retrieved. */ length?: number; /** * Offset from the start of the object list. */ offset?: number; /** * Total matches found. */ totalMatches?: number; } export interface GetFoundationCentralListApiKeysMetadataArgs { /** * The number of records retrieved. */ length?: pulumi.Input; /** * Offset from the start of the object list. */ offset?: pulumi.Input; /** * Total matches found. */ totalMatches?: pulumi.Input; } export interface GetHostCategory { /** * - the key name. */ name?: string; /** * - value of the key. */ value?: string; } export interface GetHostCategoryArgs { /** * - the key name. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetImageCategory { /** * - the name. */ name?: string; value?: string; } export interface GetImageCategoryArgs { /** * - the name. */ name?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbCloneFilter { /** * Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted). Default is false */ anyStatus?: string; /** * Load entities with complete details. Default is false */ detailed?: string; /** * Load cluster info. Default is false */ loadDbserverCluster?: string; /** * Default is UTC */ timezone?: string; } export interface GetNdbCloneFilterArgs { /** * Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted). Default is false */ anyStatus?: pulumi.Input; /** * Load entities with complete details. Default is false */ detailed?: pulumi.Input; /** * Load cluster info. Default is false */ loadDbserverCluster?: pulumi.Input; /** * Default is UTC */ timezone?: pulumi.Input; } export interface GetNdbCloneTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbCloneTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbClonesFilter { /** * Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted). Default is false */ anyStatus?: string; /** * Load entities with complete details. Default is false */ detailed?: string; /** * Load cluster info. Default is false */ loadDbserverCluster?: string; /** * Sorted by dbserver cluster. Default is false */ orderByDbserverCluster?: string; /** * Sorted by dbserver logical cluster. Default is false */ orderByDbserverLogicalCluster?: string; /** * Default is UTC */ timezone?: string; } export interface GetNdbClonesFilterArgs { /** * Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted). Default is false */ anyStatus?: pulumi.Input; /** * Load entities with complete details. Default is false */ detailed?: pulumi.Input; /** * Load cluster info. Default is false */ loadDbserverCluster?: pulumi.Input; /** * Sorted by dbserver cluster. Default is false */ orderByDbserverCluster?: pulumi.Input; /** * Sorted by dbserver logical cluster. Default is false */ orderByDbserverLogicalCluster?: pulumi.Input; /** * Default is UTC */ timezone?: pulumi.Input; } export interface GetNdbDatabaseTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbDatabaseTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbDbserverTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbDbserverTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbMaintenanceWindowTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbMaintenanceWindowTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbSnapshotFilter { /** * load child snapshots. Default is false */ loadReplicatedChildSnapshots?: string; /** * Default is UTC */ timezone?: string; } export interface GetNdbSnapshotFilterArgs { /** * load child snapshots. Default is false */ loadReplicatedChildSnapshots?: pulumi.Input; /** * Default is UTC */ timezone?: pulumi.Input; } export interface GetNdbSnapshotTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbSnapshotTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNdbSnapshotsFilter { /** * Fetches all the snapshots for a given time machine */ timeMachineId?: string; } export interface GetNdbSnapshotsFilterArgs { /** * Fetches all the snapshots for a given time machine */ timeMachineId?: pulumi.Input; } export interface GetNdbTimeMachineTag { entityId?: string; entityType?: string; tagId?: string; tagName?: string; value?: string; } export interface GetNdbTimeMachineTagArgs { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface GetNetworkSecurityRuleCategory { /** * - the name. */ name?: string; /** * - value of the key. */ value?: string; } export interface GetNetworkSecurityRuleCategoryArgs { /** * - the name. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetPbrsMetadata { filter?: string; /** * - The kind name (Default value: project). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; totalMatches?: number; } export interface GetPbrsMetadataArgs { filter?: pulumi.Input; /** * - The kind name (Default value: project). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; totalMatches?: pulumi.Input; } export interface GetPermissionCategory { /** * the name. */ name?: string; /** * value of the key. */ value?: string; } export interface GetPermissionCategoryArgs { /** * the name. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface GetPermissionsMetadata { filter?: string; /** * (Required) The kind name (Default value: `project`). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetPermissionsMetadataArgs { filter?: pulumi.Input; /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetProjectCategory { /** * the name. */ name?: string; /** * value of the key. */ value?: string; } export interface GetProjectCategoryArgs { /** * the name. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface GetProjectExternalUserGroupReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: string; /** * the name. */ name?: string; /** * (Required) the UUID. */ uuid?: string; } export interface GetProjectExternalUserGroupReferenceListArgs { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * the name. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface GetProjectSubnetReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: string; /** * the name. */ name?: string; /** * (Required) the UUID. */ uuid?: string; } export interface GetProjectSubnetReferenceListArgs { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * the name. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface GetProjectUserReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: string; /** * the name. */ name?: string; /** * (Required) the UUID. */ uuid?: string; } export interface GetProjectUserReferenceListArgs { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * the name. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface GetProtectionRuleCategory { /** * (Optional) the name. */ name?: string; /** * value of the key. */ value?: string; } export interface GetProtectionRuleCategoryArgs { /** * (Optional) the name. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface GetRecoveryPlanCategory { /** * (Optional) the name. */ name?: string; /** * value of the key. */ value?: string; } export interface GetRecoveryPlanCategoryArgs { /** * (Optional) the name. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface GetRoleCategory { /** * - the name(Optional). */ name?: string; /** * - value of the key. */ value?: string; } export interface GetRoleCategoryArgs { /** * - the name(Optional). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetRolesMetadata { filter?: string; /** * - The kind name (Default value: project)(Required). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetRolesMetadataArgs { filter?: pulumi.Input; /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetServiceGroupsMetadata { filter?: string; kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetServiceGroupsMetadataArgs { filter?: pulumi.Input; kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetSubnetAdditionalFilter { /** * - the name(Optional). */ name: string; values: string[]; } export interface GetSubnetAdditionalFilterArgs { /** * - the name(Optional). */ name: pulumi.Input; values: pulumi.Input[]>; } export interface GetSubnetCategory { /** * - the name(Optional). */ name?: string; /** * - value of the key. */ value?: string; } export interface GetSubnetCategoryArgs { /** * - the name(Optional). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetSubnetV2ReservedIpAddress { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: number; /** * value of address */ value?: string; } export interface GetSubnetV2ReservedIpAddressArgs { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface GetSubnetsMetadata { filter?: string; /** * The kind name (Default value: project. */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetSubnetsMetadataArgs { filter?: pulumi.Input; /** * The kind name (Default value: project. */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetUserCategory { /** * - (Optional) The name for the user */ name?: string; /** * - value of the key. */ value?: string; } export interface GetUserCategoryArgs { /** * - (Optional) The name for the user */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetUserGroupCategory { /** * - the name(Optional). */ name?: string; /** * - value of the key. */ value?: string; } export interface GetUserGroupCategoryArgs { /** * - the name(Optional). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetUserGroupsMetadata { filter?: string; kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetUserGroupsMetadataArgs { filter?: pulumi.Input; kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetUsersMetadata { filter?: string; /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; } export interface GetUsersMetadataArgs { filter?: pulumi.Input; /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; } export interface GetVirtualMachineCategory { /** * - the name. */ name?: string; /** * - value of the key. */ value?: string; } export interface GetVirtualMachineCategoryArgs { /** * - the name. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface GetVmRecoveryPointInfoV2DiskRecoveryPoint { /** * External identifier of the disk. */ diskExtId?: string; /** * External identifier of the disk recovery point. */ diskRecoveryPointExtId?: string; } export interface GetVmRecoveryPointInfoV2DiskRecoveryPointArgs { /** * External identifier of the disk. */ diskExtId?: pulumi.Input; /** * External identifier of the disk recovery point. */ diskRecoveryPointExtId?: pulumi.Input; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkId { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: inputs.GetVolumeIscsiClientV2IscsiInitiatorNetworkIdFqdn[]; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: inputs.GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv4[]; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: inputs.GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv6[]; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdArgs { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdFqdn { /** * - The fully qualified domain name. */ value?: string; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdFqdnArgs { /** * - The fully qualified domain name. */ value?: pulumi.Input; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv4 { /** * - The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: number; /** * - The fully qualified domain name. */ value?: string; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv4Args { /** * - The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - The fully qualified domain name. */ value?: pulumi.Input; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv6 { /** * - The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: number; /** * - The fully qualified domain name. */ value?: string; } export interface GetVolumeIscsiClientV2IscsiInitiatorNetworkIdIpv6Args { /** * - The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - The fully qualified domain name. */ value?: pulumi.Input; } export interface GetVpcsMetadata { filter?: string; /** * - The kind name (Default value: project). */ kind?: string; length?: number; offset?: number; sortAttribute?: string; sortOrder?: string; totalMatches?: number; } export interface GetVpcsMetadataArgs { filter?: pulumi.Input; /** * - The kind name (Default value: project). */ kind?: pulumi.Input; length?: pulumi.Input; offset?: pulumi.Input; sortAttribute?: pulumi.Input; sortOrder?: pulumi.Input; totalMatches?: pulumi.Input; } export interface ImageCategory { /** * - (Required) The name for the image. */ name?: pulumi.Input; value?: pulumi.Input; } export interface ImageClusterReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the image. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface ImageCurrentClusterReferenceList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the image. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface ImageDataSourceReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface ImagePlacementPolicyV2ClusterEntityFilter { /** * Array of strings */ categoryExtIds?: pulumi.Input[] | undefined>; /** * Filter matching type. Valid values "CATEGORIES_MATCH_ALL", "CATEGORIES_MATCH_ANY" */ type: pulumi.Input; } export interface ImagePlacementPolicyV2ImageEntityFilter { /** * Array of strings */ categoryExtIds?: pulumi.Input[] | undefined>; /** * Filter matching type. Valid values "CATEGORIES_MATCH_ALL", "CATEGORIES_MATCH_ANY" */ type: pulumi.Input; } export interface ImagesV2Checksum { /** * The SHA1/SHA256 digest of an image file in hexadecimal format. */ hexDigest: pulumi.Input; /** * sha1 or sha256 type of image */ objectType: pulumi.Input; } export interface ImagesV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ImagesV2PlacementPolicyStatus { /** * Compliance status for a placement policy. */ complianceStatus?: pulumi.Input; /** * List of image placement policy external identifier that conflict with the current one. */ conflictingPolicyExtIds?: pulumi.Input[] | undefined>; /** * List of cluster external identifiers for the enforced placement policy. */ enforcedClusterExtIds?: pulumi.Input[] | undefined>; /** * Indicates whether the placement policy enforcement is ongoing or has failed. */ enforcementMode?: pulumi.Input; /** * Image placement policy external identifier. */ placementPolicyExtId?: pulumi.Input; /** * List of cluster external identifiers of the image location for the enforced placement policy. */ policyClusterExtIds?: pulumi.Input[] | undefined>; } export interface ImagesV2Source { /** * The URL for creating an image. */ objectLiteSources?: pulumi.Input[] | undefined>; /** * The URL for creating an image. */ urlSources?: pulumi.Input[] | undefined>; /** * The URL for creating an image. */ vmDiskSources?: pulumi.Input[] | undefined>; } export interface ImagesV2SourceObjectLiteSource { /** * Key that identifies the source object in the bucket. The resource implies the bucket, 'vmm-images' for Image and 'vmm-ovas' for OVA. */ key: pulumi.Input; } export interface ImagesV2SourceUrlSource { /** * Basic authentication credentials for image source HTTP/S URL * - `basic_auth.username`: (Required) Username for basic authentication * - `basic_auth.password`: (Required) Password for basic authentication. */ basicAuths?: pulumi.Input[] | undefined>; /** * Ignore the certificate errors, if the value is true. Default is false. */ shouldAllowInsecureUrl?: pulumi.Input; /** * The URL for creating an image. */ url: pulumi.Input; } export interface ImagesV2SourceUrlSourceBasicAuth { password: pulumi.Input; username: pulumi.Input; } export interface ImagesV2SourceVmDiskSource { /** * The external identifier of VM Disk. */ extId: pulumi.Input; } export interface KarbonClusterActivePassiveConfig { externalIpv4Address: pulumi.Input; } export interface KarbonClusterCniConfig { /** * - (Optional) Configuration of the calico CNI provider. * * `calico_config.ip_pool_config`: - (Optional) List of IP pools to be configured/managed by calico. * * `calico_config.ip_pool_config.cidr`: - (Optional) IP range to use for this pool, it should fall within pod cidr. */ calicoConfig?: pulumi.Input; /** * - (Optional) Configuration of the flannel container network interface (CNI) provider. */ flannelConfigs?: pulumi.Input[] | undefined>; /** * - (Optional) The size of the subnet from the podIpv4Cidr assigned to each host. A value of 24 would allow up to 255 pods per node. */ nodeCidrMaskSize?: pulumi.Input; /** * - (Optional) CIDR for pods in the cluster. */ podIpv4Cidr?: pulumi.Input; /** * - (Optional) Classless inter-domain routing (CIDR) for k8s services in the cluster. */ serviceIpv4Cidr?: pulumi.Input; } export interface KarbonClusterCniConfigCalicoConfig { ipPoolConfigs?: pulumi.Input[] | undefined>; } export interface KarbonClusterCniConfigCalicoConfigIpPoolConfig { cidr?: pulumi.Input; } export interface KarbonClusterCniConfigFlannelConfig { } export interface KarbonClusterEtcdNodePool { /** * - (Optional) VM configuration in AHV. **Note:** Updates to this attribute forces new resource creation. * * `ahv_config.cpu`: - (Required) The number of VCPUs allocated for each VM on the PE cluster. * * `ahv_config.disk_mib`: - (Optional) Size of local storage for each VM on the PE cluster in MiB. * * `ahv_config.memory_mib`: - (Optional) Memory allocated for each VM on the PE cluster in MiB. * * `ahv_config.network_uuid`: - (Required) The UUID of the network for the VMs deployed with this resource configuration. * * `ahv_config.prism_element_cluster_uuid`: - (Required) The unique universal identifier (UUID) of the Prism Element cluster used to deploy VMs for this node pool. */ ahvConfig?: pulumi.Input; /** * - (Optional) Unique name of the node pool. **Note:** Updates to this attribute forces new resource creation. */ name?: pulumi.Input; /** * - (Required) The version of the node OS image. **Note:** Updates to this attribute forces new resource creation. */ nodeOsVersion: pulumi.Input; /** * - List of the deployed nodes in the node pool. * * `nodes.hostname`: - Hostname of the deployed node. * * `nodes.ipv4_address`: - IP of the deployed node. */ nodes?: pulumi.Input[] | undefined>; /** * - (Required) Number of nodes in the node pool. **Note:** Updates to etcd or master node pool forces new resource creation. */ numInstances: pulumi.Input; } export interface KarbonClusterEtcdNodePoolAhvConfig { cpu?: pulumi.Input; diskMib?: pulumi.Input; memoryMib?: pulumi.Input; networkUuid: pulumi.Input; prismElementClusterUuid: pulumi.Input; } export interface KarbonClusterEtcdNodePoolNode { hostname?: pulumi.Input; ipv4Address?: pulumi.Input; } export interface KarbonClusterExternalLbConfig { externalIpv4Address: pulumi.Input; masterNodesConfigs: pulumi.Input[]>; } export interface KarbonClusterExternalLbConfigMasterNodesConfig { ipv4Address: pulumi.Input; nodePoolName?: pulumi.Input; } export interface KarbonClusterMasterNodePool { /** * - (Optional) VM configuration in AHV. **Note:** Updates to this attribute forces new resource creation. * * `ahv_config.cpu`: - (Required) The number of VCPUs allocated for each VM on the PE cluster. * * `ahv_config.disk_mib`: - (Optional) Size of local storage for each VM on the PE cluster in MiB. * * `ahv_config.memory_mib`: - (Optional) Memory allocated for each VM on the PE cluster in MiB. * * `ahv_config.network_uuid`: - (Required) The UUID of the network for the VMs deployed with this resource configuration. * * `ahv_config.prism_element_cluster_uuid`: - (Required) The unique universal identifier (UUID) of the Prism Element cluster used to deploy VMs for this node pool. */ ahvConfig?: pulumi.Input; /** * - (Optional) Unique name of the node pool. **Note:** Updates to this attribute forces new resource creation. */ name?: pulumi.Input; /** * - (Required) The version of the node OS image. **Note:** Updates to this attribute forces new resource creation. */ nodeOsVersion: pulumi.Input; /** * - List of the deployed nodes in the node pool. * * `nodes.hostname`: - Hostname of the deployed node. * * `nodes.ipv4_address`: - IP of the deployed node. */ nodes?: pulumi.Input[] | undefined>; /** * - (Required) Number of nodes in the node pool. **Note:** Updates to etcd or master node pool forces new resource creation. */ numInstances: pulumi.Input; } export interface KarbonClusterMasterNodePoolAhvConfig { cpu?: pulumi.Input; diskMib?: pulumi.Input; memoryMib?: pulumi.Input; networkUuid: pulumi.Input; prismElementClusterUuid: pulumi.Input; } export interface KarbonClusterMasterNodePoolNode { hostname?: pulumi.Input; ipv4Address?: pulumi.Input; } export interface KarbonClusterPrivateRegistry { registryName: pulumi.Input; } export interface KarbonClusterSingleMasterConfig { } export interface KarbonClusterStorageClassConfig { /** * - (Required) The name of the storage class. */ name?: pulumi.Input; /** * Reclaim policy for persistent volumes provisioned using the specified storage class. * * `volumes_config.#.file_system` - (Optional) Karbon uses either the ext4 or xfs file-system on the volume disk. * * `volumes_config.#.flash_mode` - (Optional) Pins the persistent volumes to the flash tier in case of a `true` value. * * `volumes_config.#.password` - (Required) The password of the Prism Element user that the API calls use to provision volumes. * * `volumes_config.#.prism_element_cluster_uuid` - (Required) The universally unique identifier (UUID) of the Prism Element cluster. * * `volumes_config.#.storage_container` - (Required) Name of the storage container the storage container uses to provision volumes. * * `volumes_config.#.username` - (Required) Username of the Prism Element user that the API calls use to provision volumes. * * **Note:** Updates to this attribute forces new resource creation. */ reclaimPolicy?: pulumi.Input; volumesConfig: pulumi.Input; } export interface KarbonClusterStorageClassConfigVolumesConfig { fileSystem?: pulumi.Input; flashMode?: pulumi.Input; password: pulumi.Input; prismElementClusterUuid: pulumi.Input; storageContainer: pulumi.Input; username: pulumi.Input; } export interface KarbonClusterWorkerNodePool { /** * - (Optional) VM configuration in AHV. **Note:** Updates to this attribute forces new resource creation. * * `ahv_config.cpu`: - (Required) The number of VCPUs allocated for each VM on the PE cluster. * * `ahv_config.disk_mib`: - (Optional) Size of local storage for each VM on the PE cluster in MiB. * * `ahv_config.memory_mib`: - (Optional) Memory allocated for each VM on the PE cluster in MiB. * * `ahv_config.network_uuid`: - (Required) The UUID of the network for the VMs deployed with this resource configuration. * * `ahv_config.prism_element_cluster_uuid`: - (Required) The unique universal identifier (UUID) of the Prism Element cluster used to deploy VMs for this node pool. */ ahvConfig?: pulumi.Input; /** * - (Optional) Unique name of the node pool. **Note:** Updates to this attribute forces new resource creation. */ name?: pulumi.Input; /** * - (Required) The version of the node OS image. **Note:** Updates to this attribute forces new resource creation. */ nodeOsVersion: pulumi.Input; /** * - List of the deployed nodes in the node pool. * * `nodes.hostname`: - Hostname of the deployed node. * * `nodes.ipv4_address`: - IP of the deployed node. */ nodes?: pulumi.Input[] | undefined>; /** * - (Required) Number of nodes in the node pool. **Note:** Updates to etcd or master node pool forces new resource creation. */ numInstances: pulumi.Input; } export interface KarbonClusterWorkerNodePoolAhvConfig { cpu?: pulumi.Input; diskMib?: pulumi.Input; memoryMib?: pulumi.Input; networkUuid: pulumi.Input; prismElementClusterUuid: pulumi.Input; } export interface KarbonClusterWorkerNodePoolNode { hostname?: pulumi.Input; ipv4Address?: pulumi.Input; } export interface KarbonWorkerNodepoolAhvConfig { /** * - (Required) The number of VCPUs allocated for each VM on the PE cluster. */ cpu?: pulumi.Input; /** * - (Optional) Size of local storage for each VM on the PE cluster in MiB. */ diskMib?: pulumi.Input; /** * VM network UUID for isolating iscsi data traffic. */ iscsiNetworkUuid?: pulumi.Input; /** * - (Optional) Memory allocated for each VM on the PE cluster in MiB. */ memoryMib?: pulumi.Input; /** * - (Required) The UUID of the network for the VMs deployed with this resource configuration. */ networkUuid: pulumi.Input; /** * - (Optional) The unique universal identifier (UUID) of the Prism Element */ prismElementClusterUuid?: pulumi.Input; } export interface KarbonWorkerNodepoolNode { /** * hostname of node */ hostname?: pulumi.Input; /** * ipv4 address of node */ ipv4Address?: pulumi.Input; } export interface KeyManagementServerV2AccessInformation { /** * - (Optional) Azure Key Vault access information. */ azureKeyVault?: pulumi.Input; /** * - (Optional) KMIP based External Key Manager Access Information. */ kmipKeyVault?: pulumi.Input; } export interface KeyManagementServerV2AccessInformationAzureKeyVault { /** * - (Required) Client identifier for the Azure Key Vault. */ clientId: pulumi.Input; /** * - (Required) Client secret for the Azure Key Vault. */ clientSecret: pulumi.Input; /** * - (Required) When the client secret is going to expire. */ credentialExpiryDate: pulumi.Input; /** * - (Required) Endpoint URL for the Azure Key Vault. */ endpointUrl: pulumi.Input; /** * - (Required) Master key identifier for the Azure Key Vault. */ keyId: pulumi.Input; /** * - (Required) Tetant identifier for the Azure Key Vault. */ tenantId: pulumi.Input; truncatedClientSecret?: pulumi.Input; } export interface KeyManagementServerV2AccessInformationKmipKeyVault { /** * - (Required) Name of the CA. */ caName: pulumi.Input; /** * - (Required) CA PEM. */ caPem: pulumi.Input; /** * - (Required) Cert PEM. */ certPem: pulumi.Input; /** * - (Required) Endpoint URL for the Azure Key Vault. */ endpointUrls: pulumi.Input[]>; /** * - (Required) Private key. */ privateKey: pulumi.Input; } export interface KeyManagementServerV2AccessInformationKmipKeyVaultEndpointUrl { /** * - (Required) IP address of the External Key Manager server. */ ipAddress: pulumi.Input; /** * - (Required) Port of the External Key Manager server. */ port: pulumi.Input; } export interface KeyManagementServerV2AccessInformationKmipKeyVaultEndpointUrlIpAddress { /** * - (Optional) FQDN of the External Key Manager server. */ fqdns?: pulumi.Input[] | undefined>; /** * - (Optional) IPv4 address of the External Key Manager server. */ ipv4s?: pulumi.Input[] | undefined>; /** * - (Optional) IPv6 address of the External Key Manager server. */ ipv6s?: pulumi.Input[] | undefined>; } export interface KeyManagementServerV2AccessInformationKmipKeyVaultEndpointUrlIpAddressFqdn { value?: pulumi.Input; } export interface KeyManagementServerV2AccessInformationKmipKeyVaultEndpointUrlIpAddressIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface KeyManagementServerV2AccessInformationKmipKeyVaultEndpointUrlIpAddressIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface KeyManagementServerV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface LcmPrechecksV2EntityUpdateSpec { /** * UUID of the LCM entity. */ entityUuid: pulumi.Input; /** * Version to upgrade to. * * See detailed information in [Nutanix LCM Prechecks v4](https://developers.nutanix.com/api-reference?namespace=lifecycle&version=v4.2#tag/Prechecks/operation/performPrechecks) */ toVersion: pulumi.Input; } export interface LcmPrechecksV2ManagementServer { /** * Type of Hypervisor present in the cluster. Enum Values: * * "HYPERV" : Hyper-V Hypervisor. * * "ESX" : ESX Hypervisor. * * "AHV" : Nutanix AHV Hypervisor. */ hypervisorType: pulumi.Input; /** * IP address of the management server. */ ip: pulumi.Input; /** * Password to login to the management server. */ password: pulumi.Input; /** * Username to login to the management server. */ username: pulumi.Input; } export interface LcmUpgradeV2EntityUpdateSpec { /** * UUID of the LCM entity. */ entityUuid: pulumi.Input; /** * Version to upgrade to. * * * See detailed information in [Nutanix LCM Upgrade v4](https://developers.nutanix.com/api-reference?namespace=lifecycle&version=v4.2#tag/Upgrades/operation/performUpgrade). */ toVersion: pulumi.Input; } export interface LcmUpgradeV2ManagementServer { /** * Type of Hypervisor present in the cluster. Enum Values: * * "HYPERV" : Hyper-V Hypervisor. * * "ESX" : ESX Hypervisor. * * "AHV" : Nutanix AHV Hypervisor. */ hypervisorType: pulumi.Input; /** * IP address of the management server. */ ip: pulumi.Input; /** * Password to login to the management server. */ password: pulumi.Input; /** * Username to login to the management server. */ username: pulumi.Input; } export interface NdbCloneActionargument { /** * - (Required) name of argument */ name: pulumi.Input; /** * - (Required) value for argument */ value: pulumi.Input; } export interface NdbCloneDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; databaseId?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Specify if you want to create a database server. This value can be set to true or false as required. */ dbserverId?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; id?: pulumi.Input; /** * info of clone */ infos?: pulumi.Input[] | undefined>; /** * database instance name */ name?: pulumi.Input; primary?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; /** * status of clone */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; } export interface NdbCloneDatabaseNodeInfo { /** * info of clone */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbCloneDatabaseNodeProperty { /** * database instance description */ description?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; /** * status of clone */ status?: pulumi.Input; /** * type of clone */ type?: pulumi.Input; } export interface NdbCloneDatabaseNodeProtectionDomainProperty { /** * database instance description */ description?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbCloneInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbCloneInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbCloneInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbCloneInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbCloneInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbCloneInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbCloneInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbCloneLcmConfig { databaseLcmConfigs?: pulumi.Input[] | undefined>; } export interface NdbCloneLcmConfigDatabaseLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbCloneLcmConfigDatabaseLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone: pulumi.Input; } export interface NdbCloneLcmConfigDatabaseLcmConfigRefreshDetail { refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbCloneLinkedDatabase { /** * database name */ databaseName?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; id?: pulumi.Input; /** * info of clone */ infos?: pulumi.Input[] | undefined>; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * database instance name */ name?: pulumi.Input; parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; /** * snapshot id from where clone is created */ snapshotId?: pulumi.Input; /** * status of clone */ status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbCloneLinkedDatabaseInfo { /** * info of clone */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbCloneNode { /** * specify compute profile id */ computeProfileId?: pulumi.Input; /** * dberver id */ dbserverId?: pulumi.Input; /** * specify network profile id */ networkProfileId?: pulumi.Input; /** * dbserver time zone */ newDbServerTimeZone?: pulumi.Input; /** * cluster id */ nxClusterId?: pulumi.Input; /** * properties of vm */ properties?: pulumi.Input[] | undefined>; /** * name for the database server VM. */ vmName?: pulumi.Input; } export interface NdbCloneNodeProperty { /** * database instance name */ name?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbClonePostgresqlInfo { /** * password of the postgres superuser. */ dbPassword: pulumi.Input; /** * description for the dbserver. */ dbserverDescription?: pulumi.Input; /** * OS command that you want to run after the instance is created. */ postCloneCmd?: pulumi.Input; /** * OS command that you want to run before the instance is created. */ preCloneCmd?: pulumi.Input; /** * name for the database server VM. */ vmName: pulumi.Input; } export interface NdbCloneProperty { /** * database instance name */ name?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneTimeMachine { accessLevel?: pulumi.Input; /** * cloned or not */ clone?: pulumi.Input; clones?: pulumi.Input; /** * clone will be clustered or not */ clustered?: pulumi.Input; database?: pulumi.Input; databaseId?: pulumi.Input; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; /** * status of clone */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; /** * type of clone */ type?: pulumi.Input; } export interface NdbCloneTimeMachineProperty { /** * database instance description */ description?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbCloneTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * database instance name */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; /** * timezone */ timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbCloneTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; hours?: pulumi.Input; minutes?: pulumi.Input; seconds?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbCloneTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbCloneTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; /** * date created for clone */ dateCreated?: pulumi.Input; /** * last modified date for clone */ dateModified?: pulumi.Input; /** * database instance description */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * database instance name */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbCloneTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbClusterAgentNetworkInfo { /** * string of DNS servers(comma separted). */ dns?: pulumi.Input; /** * string of NTP servers(comma separted). */ ntp?: pulumi.Input; } export interface NdbClusterEntityCount { dbServers?: pulumi.Input; engineCounts?: pulumi.Input[] | undefined>; } export interface NdbClusterEntityCountEngineCount { mariadbDatabases?: pulumi.Input[] | undefined>; mongodbDatabases?: pulumi.Input[] | undefined>; mysqlDatabases?: pulumi.Input[] | undefined>; oracleDatabases?: pulumi.Input[] | undefined>; postgresDatabases?: pulumi.Input[] | undefined>; saphanaDatabases?: pulumi.Input[] | undefined>; sqlserverDatabases?: pulumi.Input[] | undefined>; } export interface NdbClusterEntityCountEngineCountMariadbDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountMariadbDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountMongodbDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountMongodbDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountMysqlDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountMysqlDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountOracleDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountOracleDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountPostgresDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountPostgresDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountSaphanaDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountSaphanaDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountSqlserverDatabase { profiles?: pulumi.Input[] | undefined>; timeMachines?: pulumi.Input; } export interface NdbClusterEntityCountEngineCountSqlserverDatabaseProfile { compute?: pulumi.Input; databaseParameter?: pulumi.Input; network?: pulumi.Input; software?: pulumi.Input; storage?: pulumi.Input; windowsDomain?: pulumi.Input; } export interface NdbClusterNetworksInfo { /** * VLAN access types for which you want to configure network segmentation. Supports [PRISM, DSIP, DBSERVER ]. * Prism Element: Select this VLAN access type to configure a VLAN that the NDB agent VM can use to communicate with Prism. * Prism iSCSI Data Service. Select this VLAN access type to configure a VLAN that the agent VM can use to make connection requests to the iSCSI data services IP. * DBServer Access from NDB server. Select this VLAN access type to configure a VLAN that is used for communications between the NDB agent VM and the database server VM on the newly registered NDB server cluster. */ accessTypes?: pulumi.Input[] | undefined>; /** * network segmentation to segment the network traffic */ networkInfos?: pulumi.Input[] | undefined>; /** * type of vlan. Supported [DHCP, Static, IPAM] */ type?: pulumi.Input; } export interface NdbClusterNetworksInfoNetworkInfo { /** * gateway of agent network */ gateway?: pulumi.Input; /** * static ip of agent network */ staticIp?: pulumi.Input; /** * subnet mask of agent network */ subnetMask?: pulumi.Input; /** * vlan name */ vlanName?: pulumi.Input; } export interface NdbClusterProperty { /** * description of cluster */ description?: pulumi.Input; /** * name of the cluster to be registered */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbClusterResourceConfig { memoryThresholdPercentage?: pulumi.Input; storageThresholdPercentage?: pulumi.Input; } export interface NdbDatabaseActionargument { /** * - (Required) name of argument */ name: pulumi.Input; /** * - (Required) value for argument */ value: pulumi.Input; } export interface NdbDatabaseClusterInfo { clusterIpInfos: pulumi.Input[]>; } export interface NdbDatabaseClusterInfoClusterIpInfo { /** * - (Optional) IP infos for custom network profile. */ ipInfos?: pulumi.Input[] | undefined>; /** * - (Optional) cluster id. */ nxClusterId: pulumi.Input; } export interface NdbDatabaseClusterInfoClusterIpInfoIpInfo { ipAddresses?: pulumi.Input[] | undefined>; ipType?: pulumi.Input; } export interface NdbDatabaseDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; databaseId?: pulumi.Input; databaseStatus?: pulumi.Input; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; dbserverId?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; id?: pulumi.Input; infos?: pulumi.Input[] | undefined>; /** * - (Required) Name of the instance. */ name?: pulumi.Input; primary?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; status?: pulumi.Input; /** * - (Optional) tags */ tags?: pulumi.Input[] | undefined>; } export interface NdbDatabaseDatabaseNodeInfo { info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseDatabaseNodeProperty { /** * - (Optional) The description */ description?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; status?: pulumi.Input; type?: pulumi.Input; } export interface NdbDatabaseDatabaseNodeProtectionDomainProperty { /** * - (Optional) The description */ description?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbDatabaseInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbDatabaseInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbDatabaseInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbDatabaseInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbDatabaseInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbDatabaseInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbDatabaseLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbDatabaseLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; /** * - (Optional) Delete the database's Time Machine (snapshots/logs) from the NDB. Default value is true */ deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbDatabaseLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbDatabaseLinkedDatabase { databaseName?: pulumi.Input; databaseStatus?: pulumi.Input; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; id?: pulumi.Input; infos?: pulumi.Input[] | undefined>; metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * - (Required) Name of the instance. */ name?: pulumi.Input; parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; snapshotId?: pulumi.Input; status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbDatabaseLinkedDatabaseInfo { info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseMaintenanceTasks { maintenanceWindowId?: pulumi.Input; tasks?: pulumi.Input[] | undefined>; } export interface NdbDatabaseMaintenanceTasksTask { postCommand?: pulumi.Input; preCommand?: pulumi.Input; taskType?: pulumi.Input; } export interface NdbDatabaseNode { /** * - (Optional) compute profile id */ computeprofileid?: pulumi.Input; /** * - (Optional) Database server ID required for existing VM */ dbserverid?: pulumi.Input; /** * - (Optional) IP infos for custom network profile. */ ipInfos?: pulumi.Input[] | undefined>; /** * - (Required) network profile ID */ networkprofileid?: pulumi.Input; /** * - (Optional) cluster id. */ nxClusterId?: pulumi.Input; /** * - (Optional) list of additional properties */ properties?: pulumi.Input[] | undefined>; /** * - (Required) name of vm */ vmname: pulumi.Input; } export interface NdbDatabaseNodeIpInfo { ipAddresses?: pulumi.Input[] | undefined>; ipType?: pulumi.Input; } export interface NdbDatabaseNodeProperty { /** * - (Required) Name of the instance. */ name: pulumi.Input; /** * - (Required) value for argument */ value: pulumi.Input; } export interface NdbDatabasePostgresqlInfo { /** * - (Optional) allocate huge page. Default: false */ allocatePgHugepage?: pulumi.Input; /** * - (Optional) auth methods. Default: md5 */ authMethod?: pulumi.Input; /** * - (Optional) enable auto tuning of staging drive. Default: false */ autoTuneStagingDrive?: pulumi.Input; /** * - (Optional) if clustered database. Default: false */ clusterDatabase?: pulumi.Input; /** * - (Required) name of initial database to be created */ databaseNames: pulumi.Input; /** * - (Required) initial database size */ databaseSize: pulumi.Input; /** * - (Required) database instance password */ dbPassword: pulumi.Input; /** * - (Optional) High Availability instance */ haInstance?: pulumi.Input; /** * - (Required) listener port for database instance */ listenerPort: pulumi.Input; /** * - (Optional) post instance create script */ postCreateScript?: pulumi.Input; /** * - (Optional) pre instance create script */ preCreateScript?: pulumi.Input; } export interface NdbDatabasePostgresqlInfoHaInstance { /** * - (Optional) archive wal expire days. Default is set to -1 */ archiveWalExpireDays?: pulumi.Input; /** * - (Optional) backup policy for instance. Default is "primaryOnly" */ backupPolicy?: pulumi.Input; clusterDescription?: pulumi.Input; /** * - (Required) cluster name */ clusterName: pulumi.Input; /** * - (Optional) HA proxy node. Default is set to false */ deployHaproxy?: pulumi.Input; /** * - (Optional) enable peer auth . Default is set to false. */ enablePeerAuth?: pulumi.Input; /** * - (Optional) enable synchronous mode. Default is set to true */ enableSynchronousMode?: pulumi.Input; /** * - (Optional) failover mode of nodes. */ failoverMode?: pulumi.Input; /** * - (Optional) node type of instance. Default is set to database */ nodeType?: pulumi.Input; /** * - (Required) patroni cluster name */ patroniClusterName: pulumi.Input; /** * - (Optional) provisional virtual ip. Default is set to true */ provisionVirtualIp?: pulumi.Input; /** * - (Required) proxy read port */ proxyReadPort: pulumi.Input; /** * - (Required) proxy write port */ proxyWritePort: pulumi.Input; } export interface NdbDatabaseProperty { /** * - (Required) Name of the instance. */ name?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseRestoreDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * database id */ databaseId?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; dbserverId?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; primary?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; } export interface NdbDatabaseRestoreDatabaseNodeInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseRestoreDatabaseNodeProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * type of database */ type?: pulumi.Input; } export interface NdbDatabaseRestoreDatabaseNodeProtectionDomainProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseRestoreInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbDatabaseRestoreInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbDatabaseRestoreInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbDatabaseRestoreInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbDatabaseRestoreInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbDatabaseRestoreInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbDatabaseRestoreInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbDatabaseRestoreLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbDatabaseRestoreLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbDatabaseRestoreLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseRestoreLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseRestoreLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbDatabaseRestoreLinkedDatabase { /** * name of database */ databaseName?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of database instance */ name?: pulumi.Input; /** * parent database id */ parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; /** * snapshot id from you want to use for restoring the instance */ snapshotId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbDatabaseRestoreLinkedDatabaseInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseRestoreProperty { /** * Name of database instance */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachine { accessLevel?: pulumi.Input; /** * whether instance is cloned or not */ clone?: pulumi.Input; clones?: pulumi.Input; clustered?: pulumi.Input; database?: pulumi.Input; /** * database id */ databaseId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; /** * type of database */ type?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; /** * timezone on which instance is created xw */ timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbDatabaseRestoreTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; hours?: pulumi.Input; minutes?: pulumi.Input; seconds?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbDatabaseRestoreTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; databaseId?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; dbserverId?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; primary?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; } export interface NdbDatabaseScaleDatabaseNodeInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseScaleDatabaseNodeProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * type of database */ type?: pulumi.Input; } export interface NdbDatabaseScaleDatabaseNodeProtectionDomainProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseScaleInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbDatabaseScaleInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbDatabaseScaleInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbDatabaseScaleInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbDatabaseScaleInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbDatabaseScaleInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbDatabaseScaleInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbDatabaseScaleLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbDatabaseScaleLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbDatabaseScaleLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseScaleLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseScaleLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbDatabaseScaleLinkedDatabase { /** * name of database */ databaseName?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of database instance */ name?: pulumi.Input; /** * parent database id */ parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; snapshotId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbDatabaseScaleLinkedDatabaseInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbDatabaseScaleProperty { /** * Name of database instance */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachine { accessLevel?: pulumi.Input; /** * whether instance is cloned or not */ clone?: pulumi.Input; clones?: pulumi.Input; clustered?: pulumi.Input; database?: pulumi.Input; databaseId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; /** * type of database */ type?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; /** * timezone on which instance is created xw */ timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbDatabaseScaleTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; hours?: pulumi.Input; minutes?: pulumi.Input; seconds?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbDatabaseScaleTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseSnapshotLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbDatabaseSnapshotLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; /** * Default is set to Asia/Calcutta */ expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbDatabaseSnapshotLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseSnapshotLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbDatabaseSnapshotLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbDatabaseSnapshotProperty { /** * description of snapshot */ description?: pulumi.Input; /** * Snapshot name. Default value is era_manual_snapshot. */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseSnapshotTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbDatabaseTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseTimeMachine { accessLevel?: pulumi.Input; clone?: pulumi.Input; clones?: pulumi.Input; /** * - (Optional) If clustered database. Default: false */ clustered?: pulumi.Input; database?: pulumi.Input; databaseId?: pulumi.Input; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; metric?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; /** * List of all the properties */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; /** * - (Optional) schedule for snapshots */ schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; status?: pulumi.Input; /** * - (Optional) tags */ tags?: pulumi.Input[] | undefined>; type?: pulumi.Input; } export interface NdbDatabaseTimeMachineProperty { /** * - (Optional) The description */ description?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * - (Required) Name of the instance. */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbDatabaseTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; /** * - (Required) hours */ hours?: pulumi.Input; /** * - (Required) minutes */ minutes?: pulumi.Input; /** * - (Required) seconds */ seconds?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbDatabaseTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; /** * - (Required) month for snapshot */ month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbDatabaseTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * - (Optional) The description */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * - (Required) Name of the instance. */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbDatabaseTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDatabaseTimemachineinfo { /** * - (Optional) enable auto tune log drive. Default: true */ autotunelogdrive?: pulumi.Input; /** * - (Optional) description of time machine */ description?: pulumi.Input; /** * - (Required) name of time machine */ name: pulumi.Input; /** * - (Optional) schedule for snapshots */ schedule: pulumi.Input; /** * - (optional) SLA details for HA instance */ slaDetails?: pulumi.Input[] | undefined>; /** * - (Optional) SLA ID for single instance */ slaid?: pulumi.Input; /** * - (Optional) tags */ tags?: pulumi.Input[] | undefined>; } export interface NdbDatabaseTimemachineinfoSchedule { /** * - (Optional) snapshot freq and log config */ continuousschedule?: pulumi.Input; /** * - (Optional) monthly snapshot config */ monthlyschedule?: pulumi.Input; /** * - (Optional) quaterly snapshot config */ quartelyschedule?: pulumi.Input; /** * - (Optional) daily snapshot config */ snapshottimeofday?: pulumi.Input; /** * - (Optional) weekly snapshot config */ weeklyschedule?: pulumi.Input; /** * - (Optional) yearly snapshot config */ yearlyschedule?: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleContinuousschedule { /** * - (Required) to enable */ enabled: pulumi.Input; /** * - (Required) log catchup interval for database */ logbackupinterval: pulumi.Input; /** * - (Required) num of snapshots per day */ snapshotsperday: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleMonthlyschedule { /** * - (Required) day of month to take snapshot */ dayofmonth: pulumi.Input; /** * - (Required) to enable */ enabled: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleQuartelyschedule { /** * - (Required) month's day for snapshot */ dayofmonth: pulumi.Input; /** * - (Required) to enable */ enabled: pulumi.Input; /** * - (Required) quarter start month */ startmonth: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleSnapshottimeofday { /** * - (Required) hours */ hours: pulumi.Input; /** * - (Required) minutes */ minutes: pulumi.Input; /** * - (Required) seconds */ seconds: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleWeeklyschedule { /** * - (Required) day of week to take snaphsot. Eg. "WEDNESDAY" */ dayofweek: pulumi.Input; /** * - (Required) to enable */ enabled: pulumi.Input; } export interface NdbDatabaseTimemachineinfoScheduleYearlyschedule { /** * - (Required) day of month to take snapshot */ dayofmonth: pulumi.Input; /** * - (Required) to enable */ enabled: pulumi.Input; /** * - (Required) month for snapshot */ month: pulumi.Input; } export interface NdbDatabaseTimemachineinfoSlaDetail { /** * - (Required) primary sla details * * `primary_sla.sla_id` :- (Required) sla id * * `primary_sla.nx_cluster_ids` -: (Optioanl) cluster ids */ primarySlas?: pulumi.Input[] | undefined>; } export interface NdbDatabaseTimemachineinfoSlaDetailPrimarySla { nxClusterIds?: pulumi.Input[] | undefined>; /** * description of SLA ID. */ slaId: pulumi.Input; } export interface NdbDatabaseTimemachineinfoTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbDbserverVmCredential { label?: pulumi.Input; password: pulumi.Input; username: pulumi.Input; } export interface NdbDbserverVmMaintenanceTasks { /** * Associate an existing maintenance window id. NDB starts OS patching or database patching as per the schedule defined in the maintenance window. */ maintenanceWindowId?: pulumi.Input; /** * Tasks for the maintenance. * * `tasks.task_type`: use this option if you want NDB to perform database patching or OS patching automatically. Supports [ OS_PATCHING, DB_PATCHING ]. * * `tasks.pre_command`: add pre (operating system and database patching) commands. * * `tasks.post_command`:add post (operating system and database patching) commands. */ tasks?: pulumi.Input[] | undefined>; } export interface NdbDbserverVmMaintenanceTasksTask { postCommand?: pulumi.Input; preCommand?: pulumi.Input; taskType?: pulumi.Input; } export interface NdbDbserverVmPostgresDatabase { /** * use SSH public keys to access the database server VM. */ clientPublicKey?: pulumi.Input; /** * name for the database server VM. */ vmName: pulumi.Input; } export interface NdbDbserverVmProperty { /** * name of the dbserver vm */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbDbserverVmTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbLinkedDatabasesInfo { infos?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbLinkedDatabasesInfoInfo { createdBy?: pulumi.Input; } export interface NdbMaintenanceTaskEntityTaskAssociation { /** * access level of tasks */ accessLevel?: pulumi.Input; /** * created date of task */ dateCreated?: pulumi.Input; /** * modified date of task */ dateModified?: pulumi.Input; /** * description of maintenance window */ description?: pulumi.Input; entity?: pulumi.Input; /** * entity id */ entityId?: pulumi.Input; /** * type of the entity. i.e. DBSERVER */ entityType?: pulumi.Input; /** * id of maintenance window */ id?: pulumi.Input; /** * maintenance window id which has to be associated */ maintenanceWindowId?: pulumi.Input; /** * maintenance window owner id */ maintenanceWindowOwnerId?: pulumi.Input; /** * name of of maintenance window */ name?: pulumi.Input; /** * owner id of task */ ownerId?: pulumi.Input; /** * list of pre post commands of OS or DB task */ payloads?: pulumi.Input[] | undefined>; /** * properties of task */ properties?: pulumi.Input[] | undefined>; /** * status of task */ status?: pulumi.Input; /** * tags of task */ tags?: pulumi.Input[] | undefined>; /** * type of the task. OS or DB */ taskType?: pulumi.Input; } export interface NdbMaintenanceTaskEntityTaskAssociationPayload { /** * Pre Post command of Task */ prePostCommands?: pulumi.Input[] | undefined>; } export interface NdbMaintenanceTaskEntityTaskAssociationPayloadPrePostCommand { /** * post command of task */ postCommand?: pulumi.Input; /** * pre command of task */ preCommand?: pulumi.Input; } export interface NdbMaintenanceTaskEntityTaskAssociationProperty { /** * name of of maintenance window */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbMaintenanceTaskEntityTaskAssociationTag { /** * entity id */ entityId?: pulumi.Input; /** * type of the entity. i.e. DBSERVER */ entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbMaintenanceTaskTask { /** * command that you want to run after patching the OS/DB */ postCommand?: pulumi.Input; /** * command that you want to run before patching the OS/DB */ preCommand?: pulumi.Input; /** * type of task. Supports [ "OS_PATCHING", "DB_PATCHING" ] */ taskType?: pulumi.Input; } export interface NdbMaintenanceWindowEntityTaskAssoc { /** * access level */ accessLevel?: pulumi.Input; /** * created date of maintenance window */ dateCreated?: pulumi.Input; /** * modified date of maintenance window */ dateModified?: pulumi.Input; /** * Description for maintenance window */ description?: pulumi.Input; entity?: pulumi.Input; entityId?: pulumi.Input; entityType?: pulumi.Input; id?: pulumi.Input; maintenanceWindowId?: pulumi.Input; maintenanceWindowOwnerId?: pulumi.Input; /** * Name for the maintenance window. */ name?: pulumi.Input; /** * owner id of maintenance window */ ownerId?: pulumi.Input; payloads?: pulumi.Input[] | undefined>; /** * properties of maintenance window */ properties?: pulumi.Input[] | undefined>; /** * status of maintennace window */ status?: pulumi.Input; /** * tags of maintenance window */ tags?: pulumi.Input[] | undefined>; taskType?: pulumi.Input; } export interface NdbMaintenanceWindowEntityTaskAssocPayload { prePostCommands?: pulumi.Input[] | undefined>; } export interface NdbMaintenanceWindowEntityTaskAssocPayloadPrePostCommand { postCommand?: pulumi.Input; preCommand?: pulumi.Input; } export interface NdbMaintenanceWindowEntityTaskAssocProperty { /** * Name for the maintenance window. */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbMaintenanceWindowEntityTaskAssocTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbMaintenanceWindowProperty { /** * Name for the maintenance window. */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbMaintenanceWindowSchedule { /** * Day of the week to trigger maintenance window. Supports [ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY ] */ dayOfWeek?: pulumi.Input; /** * duration in hours. Default is 2 */ duration?: pulumi.Input; hour?: pulumi.Input; minute?: pulumi.Input; /** * Supported values [ MONTHLY, WEEKLY ] */ recurrence?: pulumi.Input; /** * start time for maintenance window to trigger */ startTime?: pulumi.Input; threshold?: pulumi.Input; /** * timezone . Default is Asia/Calcutta . */ timezone?: pulumi.Input; /** * week of the month. Supports [1, 2, 3, 4] . */ weekOfMonth?: pulumi.Input; } export interface NdbMaintenanceWindowTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbNetworkIpPool { addresses?: pulumi.Input[] | undefined>; /** * ending IP address range for new database servers */ endIp?: pulumi.Input; id?: pulumi.Input; modifiedBy?: pulumi.Input; /** * starting IP address range for new database servers */ startIp?: pulumi.Input; } export interface NdbNetworkIpPoolAddress { ip?: pulumi.Input; status?: pulumi.Input; } export interface NdbNetworkPropertiesMap { vlanGateway?: pulumi.Input; vlanPrimaryDns?: pulumi.Input; vlanSecondaryDns?: pulumi.Input; vlanSubnetMask?: pulumi.Input; } export interface NdbNetworkProperty { /** * Name of the vlan to be attached in NDB */ name?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbProfileClusterAvailability { dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * cluster on which profile created */ nxClusterId?: pulumi.Input; ownerId?: pulumi.Input; profileId?: pulumi.Input; /** * status of profile */ status?: pulumi.Input; } export interface NdbProfileComputeProfile { /** * number of cores per vCPU for the database server VM. */ corePerCpu?: pulumi.Input; /** * number of vCPUs for the database server VM. */ cpus?: pulumi.Input; /** * amount of memory for the database server VM. */ memorySize?: pulumi.Input; } export interface NdbProfileDatabaseParameterProfile { /** * Database parameters suuported for postgress. * * `postgres_database.max_connections`: (Optional) Determines the maximum number of concurrent connections to the database server. The default is set to 100 * * `postgres_database.max_replication_slots`: (Optional) Specifies the maximum number of replication slots that the server can support. The default is zero. walLevel must be set to archive or higher to allow replication slots to be used. Setting it to a lower value than the number of currently existing replication slots will prevent the server from starting. * * `postgres_database.effective_io_concurrency`: (Optional) Sets the number of concurrent disk I/O operations that PostgreSQL expects can be executed simultaneously. Raising this value will increase the number of I/O operations that any individual PostgreSQL session attempts to initiate in parallel. * * `postgres_database.timezone`: (Optional) Sets the time zone for displaying and interpreting time stamps. Defult is UTC . * * `postgres_database.max_prepared_transactions`: (Optional) Sets the maximum number of transactions that can be in the prepared state simultaneously. Setting this parameter to zero (which is the default) disables the prepared-transaction feature. * * `postgres_database.max_locks_per_transaction`: (Optional) This parameter controls the average number of object locks allocated for each transaction; individual transactions can lock more objects as long as the locks of all transactions fit in the lock table. Default is 64. * * `postgres_database.max_wal_senders`: (Optional) Specifies the maximum number of concurrent connections from standby servers or streaming base backup clients (i.e., the maximum number of simultaneously running WAL sender processes). The default is 10. * * `postgres_database.max_worker_processes`: (Optional) Sets the maximum number of background processes that the system can support. The default is 8. * * `postgres_database.min_wal_size`: (Optional) As long as WAL disk usage stays below this setting, old WAL files are always recycled for future use at a checkpoint, rather than removed. This can be used to ensure that enough WAL space is reserved to handle spikes in WAL usage, for example when running large batch jobs. The default is 80 MB. * * `postgres_database.max_wal_size`: (Optional) Maximum size to let the WAL grow to between automatic WAL checkpoints. The default is 1 GB * * `postgres_database.checkpoint_timeout`: (Optional) Sets the maximum time between automatic WAL checkpoints . High Value gives Good Performance, but takes More Recovery Time, Reboot time. can reduce the I/O load on your system, especially when using large values for shared_buffers. Default is 5min * * `postgres_database.autovacuum`: (Optional) Controls whether the server should run the autovacuum launcher daemon. This is on by default; however, trackCounts must also be enabled for autovacuum to work. * * `postgres_database.checkpoint_completion_target`: (Optional) * Specifies the target of checkpoint completion, as a fraction of total time between checkpoints. Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval . Formula - (checkpoint_timeout - 2min) / checkpoint_timeout. The default is 0.5. * * `postgres_database.autovacuum_freeze_max_age`: (Optional) Age at which to autovacuum a table to prevent transaction ID wraparound. Default is 200000000 * * `postgres_database.autovacuum_vacuum_threshold`: (Optional) Min number of row updates before vacuum. Minimum number of tuple updates or deletes prior to vacuum. Take value in KB. Default is 50 . * * `postgres_database.autovacuum_vacuum_scale_factor`: (Optional) Number of tuple updates or deletes prior to vacuum as a fraction of reltuples. Default is 0.2 * * `postgres_database.autovacuum_work_mem`: (Optional) Sets the maximum memory to be used by each autovacuum worker process. Unit is in KB. Default is -1 * * `postgres_database.autovacuum_max_workers`: (Optional) Sets the maximum number of simultaneously running autovacuum worker processes. Default is 3 * * `postgres_database.autovacuum_vacuum_cost_delay`: (Optional) Vacuum cost delay in milliseconds, for autovacuum. Specifies the cost delay value that will be used in automatic VACUUM operation. Default is 2ms * * `postgres_database.wal_buffers`: (Optional) * Sets the number of disk-page buffers in shared memory for WAL. The amount of shared memory used for WAL data that has not yet been written to disk. The default is -1. * * `postgres_database.synchronous_commit`: (Optional) Sets the current transaction's synchronization level. Specifies whether transaction commit will wait for WAL records to be written to disk before the command returns a success indication to the client. Default is on. * * `postgres_database.random_page_cost`: (Optional) Sets the planner's estimate of the cost of a nonsequentially fetched disk page. Sets the planner's estimate of the cost of a non-sequentially-fetched disk page. The default is 4.0. * * `postgres_database.wal_keep_segments`: (Optional) Sets the number of WAL files held for standby servers, Specifies the minimum number of past log file segments kept in the pgWal directory. Default is 700 . */ postgresDatabases?: pulumi.Input[] | undefined>; } export interface NdbProfileDatabaseParameterProfilePostgresDatabase { autovacuum?: pulumi.Input; autovacuumFreezeMaxAge?: pulumi.Input; autovacuumMaxWorkers?: pulumi.Input; autovacuumVacuumCostDelay?: pulumi.Input; autovacuumVacuumScaleFactor?: pulumi.Input; autovacuumVacuumThreshold?: pulumi.Input; autovacuumWorkMem?: pulumi.Input; checkpointCompletionTarget?: pulumi.Input; checkpointTimeout?: pulumi.Input; effectiveIoConcurrency?: pulumi.Input; maxConnections?: pulumi.Input; maxLocksPerTransaction?: pulumi.Input; maxPreparedTransactions?: pulumi.Input; maxReplicationSlots?: pulumi.Input; maxWalSenders?: pulumi.Input; maxWalSize?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; minWalSize?: pulumi.Input; randomPageCost?: pulumi.Input; synchronousCommit?: pulumi.Input; timezone?: pulumi.Input; walBuffers?: pulumi.Input; walKeepSegments?: pulumi.Input; } export interface NdbProfileNetworkProfile { /** * Postgres Info to create network profile * * * `postgres_database.single_instance`: (Optional) Info for postgres database to create single instance network profile. * * `postgres_database.single_instance.vlan_name`: (Required) specify the VLAN to provide the IP address used to connect the database from the public network. * * `postgres_database.single_instance.enable_ip_address_selection`: (Optional) If Advanced Network Segmentation is enabled, then this vLAN needs to be a static vLAN and needs to be true. * * * `postgres_database.ha_instance`: (Optional) Info for craeting Network profile for HA instance * * `postgres_database.ha_instance.vlan_name`: (Required) specify the VLANs for network * * `postgres_database.ha_instance.cluster_name`: (Required) specify the cluster name associated with given VLANs * * `postgres_database.ha_instance.cluster_id`: (Optional) specify the cluster ids associated with given VLANs * * `postgres_database.ha_instance.num_of_clusters`: (Required) number of cluster attached to network profile */ postgresDatabases?: pulumi.Input[] | undefined>; /** * Topology supported for network profile. Allowed values are "cluster" and "single" */ topology: pulumi.Input; /** * cluster associated with VLAN. this is used with Single instance for postgres database. * * `version_cluster_association.nx_cluster_id`: (Required) cluster id for associated VLAN. */ versionClusterAssociations?: pulumi.Input[] | undefined>; } export interface NdbProfileNetworkProfilePostgresDatabase { haInstances?: pulumi.Input[] | undefined>; singleInstances?: pulumi.Input[] | undefined>; } export interface NdbProfileNetworkProfilePostgresDatabaseHaInstance { clusterIds?: pulumi.Input[] | undefined>; clusterNames?: pulumi.Input[] | undefined>; numOfClusters?: pulumi.Input; vlanNames?: pulumi.Input[] | undefined>; } export interface NdbProfileNetworkProfilePostgresDatabaseSingleInstance { enableIpAddressSelection?: pulumi.Input; vlanName?: pulumi.Input; } export interface NdbProfileNetworkProfileVersionClusterAssociation { /** * cluster on which profile created */ nxClusterId: pulumi.Input; } export interface NdbProfileSoftwareProfile { /** * specify Nutanix clusters where this profile is available. */ availableClusterIds?: pulumi.Input[] | undefined>; /** * Software profile info about postgres database. * * `postgres_database.source_dbserver_id`: source dbserver id where postgress software will be installed. * * `postgres_database.base_profile_version_name`: name for the software profile version. * * `postgres_database.base_profile_version_description`: description for the software profile version. * * `postgres_database.os_notes`: a note to provide additional information about the operating system * * `postgres_database.db_software_notes`: a note to provide additional information about the database software. */ postgresDatabases?: pulumi.Input[] | undefined>; /** * Topology of software profile. Allowed values are "cluster" and "single" */ topology: pulumi.Input; } export interface NdbProfileSoftwareProfilePostgresDatabase { baseProfileVersionDescription?: pulumi.Input; baseProfileVersionName?: pulumi.Input; dbSoftwareNotes?: pulumi.Input; osNotes?: pulumi.Input; sourceDbserverId?: pulumi.Input; } export interface NdbProfileVersion { dbVersion?: pulumi.Input; deprecated?: pulumi.Input; /** * Description of profile */ description?: pulumi.Input; /** * Engine Type of database */ engineType?: pulumi.Input; id?: pulumi.Input; /** * Name of profile */ name?: pulumi.Input; /** * owner of profile */ owner?: pulumi.Input; profileId?: pulumi.Input; properties?: pulumi.Input[] | undefined>; propertiesMap?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Publish for all users */ published?: pulumi.Input; /** * status of profile */ status?: pulumi.Input; systemProfile?: pulumi.Input; topology?: pulumi.Input; type?: pulumi.Input; version?: pulumi.Input; /** * cluster associated with VLAN. this is used with Single instance for postgres database. * * `version_cluster_association.nx_cluster_id`: (Required) cluster id for associated VLAN. */ versionClusterAssociations?: pulumi.Input[] | undefined>; } export interface NdbProfileVersionProperty { /** * Name of profile */ name?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbProfileVersionVersionClusterAssociation { dateCreated?: pulumi.Input; dateModified?: pulumi.Input; /** * cluster on which profile created */ nxClusterId?: pulumi.Input; optimizedForProvisioning?: pulumi.Input; ownerId?: pulumi.Input; profileVersionId?: pulumi.Input; properties?: pulumi.Input[] | undefined>; /** * status of profile */ status?: pulumi.Input; } export interface NdbProfileVersionVersionClusterAssociationProperty { /** * Name of profile */ name?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbRegisterDatabaseActionargument { /** * - (Required) name of argument */ name: pulumi.Input; /** * - (Required) value for argument */ value: pulumi.Input; } export interface NdbRegisterDatabaseDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; databaseId?: pulumi.Input; /** * status of database */ databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; dbserverId?: pulumi.Input; /** * description */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; primary?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; /** * tags */ tags?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseDatabaseNodeInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbRegisterDatabaseDatabaseNodeProperty { /** * description */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * type of database */ type?: pulumi.Input; } export interface NdbRegisterDatabaseDatabaseNodeProtectionDomainProperty { /** * description */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbRegisterDatabaseInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbRegisterDatabaseInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbRegisterDatabaseInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbRegisterDatabaseInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbRegisterDatabaseInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbRegisterDatabaseLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; /** * - (Optional) Delete the database's Time Machine (snapshots/logs) from the NDB. Default value is true */ deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbRegisterDatabaseLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbRegisterDatabaseLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbRegisterDatabaseLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbRegisterDatabaseLinkedDatabase { /** * name of database */ databaseName?: pulumi.Input; /** * status of database */ databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of database instance */ name?: pulumi.Input; /** * parent database id */ parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; snapshotId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbRegisterDatabaseLinkedDatabaseInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbRegisterDatabasePostgressInfo { /** * allow multiple databases. Default is true */ allowMultipleDatabases?: pulumi.Input; /** * backup policy of database. Default is prefer_secondary. */ backupPolicy?: pulumi.Input; /** * name of the database server VM on which the instance you want to register is running. */ dbName: pulumi.Input; /** * database password */ dbPassword: pulumi.Input; /** * username of the NDB drive user account that has sudo access. */ dbUser?: pulumi.Input; /** * listner port of database */ listenerPort: pulumi.Input; /** * path to the PostgreSQL home directory in which the PostgreSQL software is installed. */ postgresSoftwareHome: pulumi.Input; /** * path to the directory in which the PostgreSQL software is installed. */ softwareHome?: pulumi.Input; /** * switch log of database. Default is true */ switchLog?: pulumi.Input; /** * VM IP of the database server VM on which the instance you want to register is running. */ vmIp?: pulumi.Input; } export interface NdbRegisterDatabaseProperty { /** * Name of database instance */ name?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachine { accessLevel?: pulumi.Input; /** * whether instance is cloned or not */ clone?: pulumi.Input; clones?: pulumi.Input; /** * clustered or not. Default is false */ clustered?: pulumi.Input; database?: pulumi.Input; databaseId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; /** * - (Optional) schedule for snapshots */ schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * tags */ tags?: pulumi.Input[] | undefined>; /** * type of database */ type?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfo { /** * - (Optional) enable auto tune log drive. Default: true */ autotunelogdrive?: pulumi.Input; /** * - (Optional) description of time machine */ description?: pulumi.Input; /** * - (Required) name of time machine */ name: pulumi.Input; /** * - (Optional) schedule for snapshots */ schedule: pulumi.Input; /** * - (optional) SLA details for HA instance */ slaDetails?: pulumi.Input[] | undefined>; /** * - (Optional) SLA ID for single instance */ slaid?: pulumi.Input; /** * - (Optional) tags */ tags?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseTimeMachineInfoSchedule { /** * - (Optional) snapshot freq and log config */ continuousschedule?: pulumi.Input; /** * - (Optional) monthly snapshot config */ monthlyschedule?: pulumi.Input; /** * - (Optional) quaterly snapshot config */ quartelyschedule?: pulumi.Input; /** * - (Optional) daily snapshot config */ snapshottimeofday?: pulumi.Input; /** * - (Optional) weekly snapshot config */ weeklyschedule?: pulumi.Input; /** * - (Optional) yearly snapshot config */ yearlyschedule?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleContinuousschedule { enabled: pulumi.Input; logbackupinterval: pulumi.Input; snapshotsperday: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleMonthlyschedule { dayofmonth: pulumi.Input; enabled: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleQuartelyschedule { dayofmonth: pulumi.Input; enabled: pulumi.Input; startmonth: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleSnapshottimeofday { hours: pulumi.Input; minutes: pulumi.Input; seconds: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleWeeklyschedule { dayofweek: pulumi.Input; enabled: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoScheduleYearlyschedule { dayofmonth: pulumi.Input; enabled: pulumi.Input; month: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoSlaDetail { /** * - (Required) primary sla details * * `primary_sla.sla_id` :- (Required) sla id * * `primary_sla.nx_cluster_ids` -: (Optioanl) cluster ids */ primarySlas?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseTimeMachineInfoSlaDetailPrimarySla { nxClusterIds?: pulumi.Input[] | undefined>; /** * description of SLA ID. */ slaId: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineInfoTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineProperty { /** * description */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; /** * timezone on which instance is created xw */ timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbRegisterDatabaseTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; hours?: pulumi.Input; minutes?: pulumi.Input; seconds?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbRegisterDatabaseTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; /** * - (Required) value for argument */ value?: pulumi.Input; } export interface NdbRegisterDbserverCredential { label?: pulumi.Input; /** * password of the NDB drive user account. Conflicts with ssh_key. */ password: pulumi.Input; /** * username of the NDB drive user account that has sudo access */ username: pulumi.Input; } export interface NdbRegisterDbserverPostgresDatabase { /** * listener port of db server */ listenerPort?: pulumi.Input; /** * path to the PostgreSQL home directory in which the PostgreSQL software is installed */ postgresSoftwareHome?: pulumi.Input; } export interface NdbRegisterDbserverProperty { /** * Name of db server vm. Should be used in Update Method only. */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbRegisterDbserverTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseDatabaseNode { accessLevel?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; databaseId?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; dbserver?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; dbserverId?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; primary?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; protectionDomainId?: pulumi.Input; protectionDomains?: pulumi.Input[] | undefined>; softwareInstallationId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; } export interface NdbScaleDatabaseDatabaseNodeInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbScaleDatabaseDatabaseNodeProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseDatabaseNodeProtectionDomain { assocEntities?: pulumi.Input[] | undefined>; cloudId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eraCreated?: pulumi.Input; id?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; primaryHost?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * type of database */ type?: pulumi.Input; } export interface NdbScaleDatabaseDatabaseNodeProtectionDomainProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseDatabaseNodeTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseInfo { bpgConfigs?: pulumi.Input[] | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbScaleDatabaseInfoBpgConfig { bpgDbParams?: pulumi.Input[] | undefined>; storages?: pulumi.Input[] | undefined>; vmProperties?: pulumi.Input[] | undefined>; } export interface NdbScaleDatabaseInfoBpgConfigBpgDbParam { effectiveCacheSize?: pulumi.Input; maintenanceWorkMem?: pulumi.Input; maxParallelWorkersPerGather?: pulumi.Input; maxWorkerProcesses?: pulumi.Input; sharedBuffers?: pulumi.Input; workMem?: pulumi.Input; } export interface NdbScaleDatabaseInfoBpgConfigStorage { archiveStorages?: pulumi.Input[] | undefined>; dataDisks?: pulumi.Input[] | undefined>; logDisks?: pulumi.Input[] | undefined>; } export interface NdbScaleDatabaseInfoBpgConfigStorageArchiveStorage { size?: pulumi.Input; } export interface NdbScaleDatabaseInfoBpgConfigStorageDataDisk { count?: pulumi.Input; } export interface NdbScaleDatabaseInfoBpgConfigStorageLogDisk { count?: pulumi.Input; size?: pulumi.Input; } export interface NdbScaleDatabaseInfoBpgConfigVmProperty { dirtyBackgroundRatio?: pulumi.Input; dirtyExpireCentisecs?: pulumi.Input; dirtyRatio?: pulumi.Input; dirtyWritebackCentisecs?: pulumi.Input; nrHugepages?: pulumi.Input; overcommitMemory?: pulumi.Input; swappiness?: pulumi.Input; } export interface NdbScaleDatabaseLcmConfig { expiryDetails?: pulumi.Input[] | undefined>; postDeleteCommands?: pulumi.Input[] | undefined>; preDeleteCommands?: pulumi.Input[] | undefined>; refreshDetails?: pulumi.Input[] | undefined>; } export interface NdbScaleDatabaseLcmConfigExpiryDetail { deleteDatabase?: pulumi.Input; deleteTimeMachine?: pulumi.Input; deleteVm?: pulumi.Input; effectiveTimestamp?: pulumi.Input; expireInDays?: pulumi.Input; expiryDateTimezone?: pulumi.Input; expiryTimestamp?: pulumi.Input; remindBeforeInDays?: pulumi.Input; userCreated?: pulumi.Input; } export interface NdbScaleDatabaseLcmConfigPostDeleteCommand { command?: pulumi.Input; } export interface NdbScaleDatabaseLcmConfigPreDeleteCommand { command?: pulumi.Input; } export interface NdbScaleDatabaseLcmConfigRefreshDetail { lastRefreshDate?: pulumi.Input; nextRefreshDate?: pulumi.Input; refreshDateTimezone?: pulumi.Input; refreshInDays?: pulumi.Input; refreshInHours?: pulumi.Input; refreshInMonths?: pulumi.Input; refreshTime?: pulumi.Input; } export interface NdbScaleDatabaseLinkedDatabase { /** * name of database */ databaseName?: pulumi.Input; databaseStatus?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; /** * info of instance */ infos?: pulumi.Input[] | undefined>; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of database instance */ name?: pulumi.Input; /** * parent database id */ parentDatabaseId?: pulumi.Input; parentLinkedDatabaseId?: pulumi.Input; snapshotId?: pulumi.Input; /** * status of instance */ status?: pulumi.Input; timezone?: pulumi.Input; } export interface NdbScaleDatabaseLinkedDatabaseInfo { /** * info of instance */ info?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; secureInfo?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface NdbScaleDatabaseProperty { /** * Name of database instance */ name?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachine { accessLevel?: pulumi.Input; /** * whether instance is cloned or not */ clone?: pulumi.Input; clones?: pulumi.Input; clustered?: pulumi.Input; database?: pulumi.Input; databaseId?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; eaStatus?: pulumi.Input; id?: pulumi.Input; /** * Stores storage info regarding size, allocatedSize, usedSize and unit of calculation that seems to have been fetched from PRISM. */ metric?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; /** * properties of database created */ properties?: pulumi.Input[] | undefined>; scheduleId?: pulumi.Input; schedules?: pulumi.Input[] | undefined>; scope?: pulumi.Input; slaId?: pulumi.Input; slaUpdateInProgress?: pulumi.Input; slaUpdateMetadata?: pulumi.Input; slas?: pulumi.Input[] | undefined>; sourceNxClusters?: pulumi.Input[] | undefined>; /** * status of instance */ status?: pulumi.Input; /** * allows you to assign metadata to entities (clones, time machines, databases, and database servers) by using tags. */ tags?: pulumi.Input[] | undefined>; /** * type of database */ type?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineProperty { /** * description of database instance */ description?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; refId?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineSchedule { continuousSchedules?: pulumi.Input[] | undefined>; dailySchedules?: pulumi.Input[] | undefined>; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; globalPolicy?: pulumi.Input; id?: pulumi.Input; monthlySchedules?: pulumi.Input[] | undefined>; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; quartelySchedules?: pulumi.Input[] | undefined>; referenceCount?: pulumi.Input; snapshotTimeOfDays?: pulumi.Input[] | undefined>; startTime?: pulumi.Input; systemPolicy?: pulumi.Input; /** * timezone on which instance is created xw */ timeZone?: pulumi.Input; uniqueName?: pulumi.Input; weeklySchedules?: pulumi.Input[] | undefined>; yearlySchedules?: pulumi.Input[] | undefined>; } export interface NdbScaleDatabaseTimeMachineScheduleContinuousSchedule { enabled?: pulumi.Input; logBackupInterval?: pulumi.Input; snapshotsPerDay?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleDailySchedule { enabled?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleMonthlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleQuartelySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; startMonth?: pulumi.Input; startMonthValue?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleSnapshotTimeOfDay { extra?: pulumi.Input; hours?: pulumi.Input; minutes?: pulumi.Input; seconds?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleWeeklySchedule { dayOfWeek?: pulumi.Input; dayOfWeekValue?: pulumi.Input; enabled?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineScheduleYearlySchedule { dayOfMonth?: pulumi.Input; enabled?: pulumi.Input; month?: pulumi.Input; monthValue?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineSla { continuousRetention?: pulumi.Input; currentActiveFrequency?: pulumi.Input; dailyRetention?: pulumi.Input; /** * date created for db instance */ dateCreated?: pulumi.Input; /** * date modified for instance */ dateModified?: pulumi.Input; /** * description of database instance */ description?: pulumi.Input; id?: pulumi.Input; monthlyRetention?: pulumi.Input; /** * Name of database instance */ name?: pulumi.Input; ownerId?: pulumi.Input; pitrEnabled?: pulumi.Input; quarterlyRetention?: pulumi.Input; referenceCount?: pulumi.Input; systemSla?: pulumi.Input; uniqueName?: pulumi.Input; weeklyRetention?: pulumi.Input; yearlyRetention?: pulumi.Input; } export interface NdbScaleDatabaseTimeMachineTag { entityId?: pulumi.Input; entityType?: pulumi.Input; tagId?: pulumi.Input; tagName?: pulumi.Input; value?: pulumi.Input; } export interface NdbSoftwareVersionProfilePostgresDatabase { /** * db software notes */ dbSoftwareNotes?: pulumi.Input; /** * os notes for software profile */ osNotes?: pulumi.Input; /** * source dbserver id */ sourceDbserverId?: pulumi.Input; } export interface NdbSoftwareVersionProfileProperty { /** * Name of profile */ name?: pulumi.Input; /** * secure or not */ secure?: pulumi.Input; /** * value of property */ value?: pulumi.Input; } export interface NdbSoftwareVersionProfileVersionClusterAssociation { /** * date created of profile */ dateCreated?: pulumi.Input; /** * date modified of profile */ dateModified?: pulumi.Input; /** * nutanix cluster id */ nxClusterId?: pulumi.Input; /** * version optimized for provisioning */ optimizedForProvisioning?: pulumi.Input; /** * owner id */ ownerId?: pulumi.Input; /** * profile version id */ profileVersionId?: pulumi.Input; /** * properties of software profile */ properties?: pulumi.Input[] | undefined>; /** * status of profile. Allowed Values are "deprecated", "published", "unpublished" */ status?: pulumi.Input; } export interface NdbSoftwareVersionProfileVersionClusterAssociationProperty { /** * Name of profile */ name?: pulumi.Input; /** * secure or not */ secure?: pulumi.Input; /** * value of property */ value?: pulumi.Input; } export interface NdbStretchedVlanMetadata { gateway?: pulumi.Input; subnetMask?: pulumi.Input; } export interface NdbStretchedVlanVlansList { /** * cluster id where network is present */ clusterId?: pulumi.Input; /** * network id */ id?: pulumi.Input; /** * network managed by NDB or not */ managed?: pulumi.Input; /** * name for the stretched VLAN */ name?: pulumi.Input; /** * properties of network */ properties?: pulumi.Input[] | undefined>; /** * properties map of network */ propertiesMaps?: pulumi.Input[] | undefined>; /** * stretched vlan id */ stretchedVlanId?: pulumi.Input; /** * type of vlan. static VLANs that are managed in NDB can be added to a stretched VLAN. */ type?: pulumi.Input; } export interface NdbStretchedVlanVlansListPropertiesMap { /** * gateway of vlan */ vlanGateway?: pulumi.Input; /** * primary dns of vlan */ vlanPrimaryDns?: pulumi.Input; /** * secondary dns of vlan */ vlanSecondaryDns?: pulumi.Input; /** * subnet mask of vlan */ vlanSubnetMask?: pulumi.Input; } export interface NdbStretchedVlanVlansListProperty { /** * name for the stretched VLAN */ name?: pulumi.Input; secure?: pulumi.Input; value?: pulumi.Input; } export interface NetworkFunctionV2DataPlaneHealthCheckConfig { /** * `Default: 3`. The number of failure checks after which the target is considered unhealthy. */ failureThreshold?: pulumi.Input; /** * `Default: 5`. Interval in seconds between health checks. */ intervalSecs?: pulumi.Input; /** * `Default: 3`. The number of successful checks after which the target is considered healthy. */ successThreshold?: pulumi.Input; /** * `Default: 1`. The time, in seconds, after which a health check times out. */ timeoutSecs?: pulumi.Input; } export interface NetworkFunctionV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface NetworkFunctionV2Metadata { /** * A list of globally unique identifiers that represent all the categories the resource is associated with. */ categoryIds?: pulumi.Input[] | undefined>; /** * A globally unique identifier that represents the owner of this resource. */ ownerReferenceId?: pulumi.Input; /** * The userName of the owner of this resource. */ ownerUserName?: pulumi.Input; /** * The name of the project this resource belongs to. */ projectName?: pulumi.Input; /** * A globally unique identifier that represents the project this resource belongs to. */ projectReferenceId?: pulumi.Input; } export interface NetworkFunctionV2NicPair { /** * Data plane health status of the NIC pair. Values: */ dataPlaneHealthStatus?: pulumi.Input; /** * UUID of NIC which will be used as egress NIC. * - The optional UUID of the virtual NIC from which traffic exits the NFVM. * - Specify the UUID of another Network Function NIC on the same VM. * - In an inline model, traffic enters the ingressNic, is processed by the NFVM, and then sent out through the egressNic to its final destination. * - This is not used in VTAP mode. */ egressNicReference?: pulumi.Input; /** * High availability state of the NIC pair. Values: */ highAvailabilityState?: pulumi.Input; /** * UUID of NIC which will be used as ingress NIC. * - The required UUID of the virtual NIC on the NFVM where traffic enters. * - You must create a VM with a special "Network Function NIC" type and provide the UUID of that NIC here. * - This tells the Nutanix platform which vNIC on your firewall VM to send the redirected traffic to. */ ingressNicReference: pulumi.Input; /** * Administrative state of the NIC pair. * - A boolean flag to control the administrative state of the NIC pair. * - Set to `false` to administratively disable this NIC pair, for instance, during a maintenance window. * - If set to `false`, this NIC pair will not be considered for traffic redirection, even if it's healthy. * - This provides a way to gracefully take a specific NFVM out of service without deleting the configuration. */ isEnabled: pulumi.Input; /** * VM UUID which both ingress/egress NICs are part of. */ vmReference?: pulumi.Input; } export interface NetworkSecurityPolicyV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface NetworkSecurityPolicyV2Rule { /** * A user defined annotation for a rule. */ description?: pulumi.Input; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Spec for rules. */ specs: pulumi.Input[]>; /** * The type for a rule—the value chosen here restricts which specification can be chosen. Acceptable values are "QUARANTINE", "TWO_ENV_ISOLATION", "APPLICATION", "INTRA_GROUP", "MULTI_ENV_ISOLATION", "SHARED_SERVICE". */ type: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpec { /** * Application Rule Spec. */ applicationRuleSpecs?: pulumi.Input[] | undefined>; /** * Intra entity group Rule Spec */ intraEntityGroupRuleSpecs?: pulumi.Input[] | undefined>; /** * Multi Environment Isolation Rule Spec. */ multiEnvIsolationRuleSpecs?: pulumi.Input[] | undefined>; /** * Two Environment Isolation Rule Spec. */ twoEnvIsolationRuleSpecs?: pulumi.Input[] | undefined>; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpec { /** * A list of address group references. */ destAddressGroupReferences?: pulumi.Input[] | undefined>; /** * A specification to how allow mode traffic should be applied, either ALL or NONE. */ destAllowSpec?: pulumi.Input; /** * Entity type for the destination category. Acceptable values are "SUBNET", "VM", "VPC". Default is "VM". */ destCategoryAssociatedEntityType?: pulumi.Input; /** * List of categories that define a set of network endpoints as outbound. */ destCategoryReferences?: pulumi.Input[] | undefined>; /** * Reference to the destination entity group. */ destEntityGroupReference?: pulumi.Input; /** * destination subnet value */ destSubnets?: pulumi.Input[] | undefined>; /** * icmp services */ icmpServices?: pulumi.Input[] | undefined>; /** * Denotes if rule allows traffic for all protocol. */ isAllProtocolAllowed?: pulumi.Input; /** * A reference to the network function chain in the rule. */ networkFunctionChainReference?: pulumi.Input; /** * A reference to the network function in the rule. */ networkFunctionReference?: pulumi.Input; /** * Entity type for the secured group category. Acceptable values are "SUBNET", "VM", "VPC". Default is "VM". */ securedGroupCategoryAssociatedEntityType?: pulumi.Input; /** * A set of network endpoints which is protected by a Network Security Policy and defined as a list of categories. */ securedGroupCategoryReferences: pulumi.Input[]>; /** * Reference to the secured group entity group. */ securedGroupEntityGroupReference?: pulumi.Input; /** * A list of service group references. */ serviceGroupReferences?: pulumi.Input[] | undefined>; /** * A list of address group references. */ srcAddressGroupReferences?: pulumi.Input[] | undefined>; /** * A specification to how allow mode traffic should be applied, either ALL or NONE. */ srcAllowSpec?: pulumi.Input; /** * Entity type for the source category. Acceptable values are "SUBNET", "VM", "VPC". Default is "VM". */ srcCategoryAssociatedEntityType?: pulumi.Input; /** * List of categories that define a set of network endpoints as inbound. */ srcCategoryReferences?: pulumi.Input[] | undefined>; /** * Reference to the source entity group. */ srcEntityGroupReference?: pulumi.Input; /** * source subnet value */ srcSubnets?: pulumi.Input[] | undefined>; /** * tcp services */ tcpServices?: pulumi.Input[] | undefined>; /** * udp services */ udpServices?: pulumi.Input[] | undefined>; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpecDestSubnet { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpecIcmpService { /** * Icmp service Code. Ignore this field if Code has to be ANY. */ code?: pulumi.Input; /** * Set this field to true if both Type and Code is ANY. */ isAllAllowed?: pulumi.Input; /** * Icmp service Type. Ignore this field if Type has to be ANY. */ type?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpecSrcSubnet { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpecTcpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecApplicationRuleSpecUdpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecIntraEntityGroupRuleSpec { /** * ICMP type/code for the rule. */ icmpServices?: pulumi.Input[] | undefined>; /** * Whether traffic between intra secured group entities should be allowed or denied. Acceptable values are "ALLOW", "DENY". */ securedGroupAction: pulumi.Input; /** * Entity type for the secured group category. Acceptable values are "SUBNET", "VM", "VPC". Default is "VM". */ securedGroupCategoryAssociatedEntityType?: pulumi.Input; /** * List of category references for the secured group. */ securedGroupCategoryReferences?: pulumi.Input[] | undefined>; /** * Reference to the secured group entity group. */ securedGroupEntityGroupReference?: pulumi.Input; /** * List of service group references for the secured group. */ securedGroupServiceReferences?: pulumi.Input[] | undefined>; /** * TCP port ranges for the rule. */ tcpServices?: pulumi.Input[] | undefined>; /** * UDP port ranges for the rule. */ udpServices?: pulumi.Input[] | undefined>; } export interface NetworkSecurityPolicyV2RuleSpecIntraEntityGroupRuleSpecIcmpService { /** * Icmp service Code. Ignore this field if Code has to be ANY. */ code?: pulumi.Input; /** * Set this field to true if both Type and Code is ANY. */ isAllAllowed?: pulumi.Input; /** * Icmp service Type. Ignore this field if Type has to be ANY. */ type?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecIntraEntityGroupRuleSpecTcpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecIntraEntityGroupRuleSpecUdpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecMultiEnvIsolationRuleSpec { /** * Multi Environment Isolation Rule Spec. */ specs: pulumi.Input[]>; } export interface NetworkSecurityPolicyV2RuleSpecMultiEnvIsolationRuleSpecSpec { /** * all to all isolation groups */ allToAllIsolationGroups?: pulumi.Input[] | undefined>; } export interface NetworkSecurityPolicyV2RuleSpecMultiEnvIsolationRuleSpecSpecAllToAllIsolationGroup { /** * Denotes the list of secured groups that will be used in All to All mutual isolation. */ isolationGroups: pulumi.Input[]>; } export interface NetworkSecurityPolicyV2RuleSpecMultiEnvIsolationRuleSpecSpecAllToAllIsolationGroupIsolationGroup { /** * Entity type for the group category. Acceptable values are "SUBNET", "VM", "VPC". Default is "VM". */ groupCategoryAssociatedEntityType?: pulumi.Input; /** * External identifiers of categories belonging to the isolation group. */ groupCategoryReferences: pulumi.Input[]>; /** * Reference to the entity group for the isolation group. */ groupEntityGroupReference?: pulumi.Input; } export interface NetworkSecurityPolicyV2RuleSpecTwoEnvIsolationRuleSpec { /** * Denotes the first group of category uuids that will be used in an isolation policy. */ firstIsolationGroups: pulumi.Input[]>; /** * Denotes the second group of category uuids that will be used in an isolation policy. */ secondIsolationGroups: pulumi.Input[]>; } export interface NetworkSecurityRuleAdRuleInboundAllowList { addressGroupInclusionLists?: pulumi.Input[] | undefined>; expirationTime?: pulumi.Input; filterKindLists?: pulumi.Input[] | undefined>; filterParams?: pulumi.Input[] | undefined>; filterType?: pulumi.Input; icmpTypeCodeLists?: pulumi.Input[] | undefined>; ipSubnet?: pulumi.Input; ipSubnetPrefixLength?: pulumi.Input; networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; peerSpecificationType?: pulumi.Input; protocol?: pulumi.Input; serviceGroupLists?: pulumi.Input[] | undefined>; tcpPortRangeLists?: pulumi.Input[] | undefined>; udpPortRangeLists?: pulumi.Input[] | undefined>; } export interface NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleInboundAllowListFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeList { code?: pulumi.Input; type?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleInboundAllowListServiceGroupList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleOutboundAllowList { addressGroupInclusionLists?: pulumi.Input[] | undefined>; expirationTime?: pulumi.Input; filterKindLists?: pulumi.Input[] | undefined>; filterParams?: pulumi.Input[] | undefined>; filterType?: pulumi.Input; icmpTypeCodeLists?: pulumi.Input[] | undefined>; ipSubnet?: pulumi.Input; ipSubnetPrefixLength?: pulumi.Input; networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; peerSpecificationType?: pulumi.Input; protocol?: pulumi.Input; serviceGroupLists?: pulumi.Input[] | undefined>; tcpPortRangeLists?: pulumi.Input[] | undefined>; udpPortRangeLists?: pulumi.Input[] | undefined>; } export interface NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleOutboundAllowListFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeList { code?: pulumi.Input; type?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAdRuleTargetGroupFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleAppRuleInboundAllowList { addressGroupInclusionLists?: pulumi.Input[] | undefined>; expirationTime?: pulumi.Input; filterKindLists?: pulumi.Input[] | undefined>; filterParams?: pulumi.Input[] | undefined>; filterType?: pulumi.Input; icmpTypeCodeLists?: pulumi.Input[] | undefined>; ipSubnet?: pulumi.Input; ipSubnetPrefixLength?: pulumi.Input; networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; peerSpecificationType?: pulumi.Input; protocol?: pulumi.Input; serviceGroupLists?: pulumi.Input[] | undefined>; tcpPortRangeLists?: pulumi.Input[] | undefined>; udpPortRangeLists?: pulumi.Input[] | undefined>; } export interface NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleInboundAllowListFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeList { code?: pulumi.Input; type?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleInboundAllowListServiceGroupList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleOutboundAllowList { addressGroupInclusionLists?: pulumi.Input[] | undefined>; expirationTime?: pulumi.Input; filterKindLists?: pulumi.Input[] | undefined>; filterParams?: pulumi.Input[] | undefined>; filterType?: pulumi.Input; icmpTypeCodeLists?: pulumi.Input[] | undefined>; ipSubnet?: pulumi.Input; ipSubnetPrefixLength?: pulumi.Input; networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; peerSpecificationType?: pulumi.Input; protocol?: pulumi.Input; serviceGroupLists?: pulumi.Input[] | undefined>; tcpPortRangeLists?: pulumi.Input[] | undefined>; udpPortRangeLists?: pulumi.Input[] | undefined>; } export interface NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleOutboundAllowListFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeList { code?: pulumi.Input; type?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface NetworkSecurityRuleAppRuleTargetGroupFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleCategory { /** * - (Required) The name for the network_security_rule. */ name?: pulumi.Input; value?: pulumi.Input; } export interface NetworkSecurityRuleIsolationRuleFirstEntityFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NetworkSecurityRuleIsolationRuleSecondEntityFilterParam { /** * - (Required) The name for the network_security_rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface NgtInstallationV2Credential { /** * - (Required) password to sign in to server */ password: pulumi.Input; /** * - (Required) username to sign in to server */ username: pulumi.Input; } export interface NgtInstallationV2RebootPreference { /** * - Restart schedule. */ schedule?: pulumi.Input; /** * - Schedule type for restart. * * `LATER` : Schedule a restart for a specific time. * * `SKIP` : Do not schedule a restart. * * `IMMEDIATE` : Schedule an immediate restart. */ scheduleType: pulumi.Input; } export interface NgtInstallationV2RebootPreferenceSchedule { /** * - The start time for a scheduled restart. */ startTime: pulumi.Input; } export interface NgtUpgradeV2RebootPreference { /** * - Restart schedule. */ schedule?: pulumi.Input; /** * - Schedule type for restart. * * `LATER` : Schedule a restart for a specific time. * * `SKIP` : Do not schedule a restart. * * `IMMEDIATE` : Schedule an immediate restart. */ scheduleType: pulumi.Input; } export interface NgtUpgradeV2RebootPreferenceSchedule { /** * - The start time for a scheduled restart. */ startTime: pulumi.Input; } export interface ObjectStoreCertificateV2AlternateFqdn { value?: pulumi.Input; } export interface ObjectStoreCertificateV2AlternateIp { ipv4?: pulumi.Input; ipv6?: pulumi.Input; } export interface ObjectStoreCertificateV2AlternateIpIpv4 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ObjectStoreCertificateV2AlternateIpIpv6 { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface ObjectStoreCertificateV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ObjectStoreCertificateV2Metadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface ObjectStoreV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface ObjectStoreV2Metadata { /** * -(Optional) A list of globally unique identifiers that represent all the categories the resource is associated with. */ categoryIds?: pulumi.Input[] | undefined>; /** * -(Optional) A globally unique identifier that represents the owner of this resource. */ ownerReferenceId?: pulumi.Input; /** * -(Optional) The userName of the owner of this resource. */ ownerUserName?: pulumi.Input; /** * -(Optional) The name of the project this resource belongs to. */ projectName?: pulumi.Input; /** * -(Optional) A globally unique identifier that represents the project this resource belongs to. */ projectReferenceId?: pulumi.Input; } export interface ObjectStoreV2PublicNetworkIp { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4?: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6?: pulumi.Input; } export interface ObjectStoreV2PublicNetworkIpIpv4 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ObjectStoreV2PublicNetworkIpIpv6 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ObjectStoreV2StorageNetworkDnsIp { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4?: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6?: pulumi.Input; } export interface ObjectStoreV2StorageNetworkDnsIpIpv4 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ObjectStoreV2StorageNetworkDnsIpIpv6 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ObjectStoreV2StorageNetworkVip { /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4?: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6?: pulumi.Input; } export interface ObjectStoreV2StorageNetworkVipIpv4 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ObjectStoreV2StorageNetworkVipIpv6 { /** * - The prefix length of the network to which this host IPv4 address belongs. Default for IPv4 is 32 and for IPv6 is 128. */ prefixLength?: pulumi.Input; /** * - The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface OvaV2Checksum { /** * -(Optional) The SHA1 checksum of the OVA file. */ ovaSha1Checksums?: pulumi.Input[] | undefined>; /** * -(Optional) The SHA256 checksum of the OVA file. */ ovaSha256Checksums?: pulumi.Input[] | undefined>; } export interface OvaV2ChecksumOvaSha1Checksum { /** * -(Required) The hexadecimal representation of the checksum. */ hexDigest: pulumi.Input; } export interface OvaV2ChecksumOvaSha256Checksum { /** * -(Required) The hexadecimal representation of the checksum. */ hexDigest: pulumi.Input; } export interface OvaV2CreatedBy { /** * -(Optional) Any additional attribute for the User. */ additionalAttributes?: pulumi.Input[] | undefined>; /** * -(Optional) Creation type of the User. * |ENUM |Description | * |---|---| * | PREDEFINED | Predefined creator workflow type is for entity created by the system. | * | SERVICEDEFINED | Service defined creator workflow type is for entity created by the service. | * | USERDEFINED | User defined creator workflow type is for entity created by the users. | */ creationType?: pulumi.Input; /** * -(Optional) Description of the User. */ description?: pulumi.Input; /** * -(Optional) Display name for the User. */ displayName?: pulumi.Input; /** * -(Optional) Email Id for the User. */ emailId?: pulumi.Input; extId?: pulumi.Input; /** * -(Optional) First name for the User. */ firstName?: pulumi.Input; /** * -(Optional) Identifier of the IDP for the User. */ idpId?: pulumi.Input; /** * -(Optional) Flag to force the User to reset password. */ isForceResetPasswordEnabled?: pulumi.Input; /** * -(Optional) Last name for the User. */ lastName?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * -(Optional) Default locale for the User. */ locale?: pulumi.Input; /** * -(Optional) Middle name for the User. */ middleInitial?: pulumi.Input; /** * -(Optional) Password of the user. */ password?: pulumi.Input; /** * -(Optional) Default Region for the User. */ region?: pulumi.Input; /** * -(Optional) Status of the User. */ status?: pulumi.Input; tenantId?: pulumi.Input; /** * -(Required) Type of the User. */ userType?: pulumi.Input; /** * -(Required) Identifier for the User in the form an email address. */ username?: pulumi.Input; } export interface OvaV2CreatedByAdditionalAttribute { /** * -(Optional) The URL at which the entity described by the link can be accessed. */ name?: pulumi.Input; /** * -(Optional) A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ values?: pulumi.Input[] | undefined>; } export interface OvaV2CreatedByAdditionalAttributeValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface OvaV2CreatedByAdditionalAttributeValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface OvaV2CreatedByLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface OvaV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface OvaV2Source { /** * -(Optional) The source of the OVA file when it is being created from an object lite upload. */ objectLiteSources?: pulumi.Input[] | undefined>; /** * -(Optional) The source of the OVA file when it is being created from a URL. */ ovaUrlSources?: pulumi.Input[] | undefined>; /** * -(Optional) The source of the OVA file when it is being created from a VM. */ ovaVmSources?: pulumi.Input[] | undefined>; } export interface OvaV2SourceObjectLiteSource { /** * -(Required) The identifier of the object from which the OVA file is being created. */ key: pulumi.Input; } export interface OvaV2SourceOvaUrlSource { /** * -(Optional) Basic authentication credentials for accessing the OVA file. */ basicAuths?: pulumi.Input[] | undefined>; /** * -(Optional) Flag to allow insecure URLs. */ shouldAllowInsecureUrl?: pulumi.Input; /** * -(Required) The URL from which the OVA file can be downloaded. */ url: pulumi.Input; } export interface OvaV2SourceOvaUrlSourceBasicAuth { /** * -(Required) The password for basic authentication. */ password: pulumi.Input; /** * -(Required) The username for basic authentication. */ username: pulumi.Input; } export interface OvaV2SourceOvaVmSource { /** * -(Required) The disk file format of the VM. */ diskFileFormat: pulumi.Input; /** * -(Required) The external identifier of the VM from which the OVA file is being created. */ vmExtId: pulumi.Input; } export interface OvaV2VmConfig { /** * -(Optional) Advanced Processor Compatibility configuration for the VM. Enabling this retains the CPU model for the VM across power cycles and migrations. */ apcConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) Reference to an availability zone. */ availabilityZones?: pulumi.Input[] | undefined>; /** * -(Optional) BIOS UUID of the VM. It should be of type UUID. */ biosUuid?: pulumi.Input; /** * -(Optional) Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. */ bootConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) Categories for the VM. */ categories?: pulumi.Input[] | undefined>; /** * -(Optional) CD-ROMs attached to the VM. */ cdRoms?: pulumi.Input[] | undefined>; /** * -(Optional) Reference to a cluster. */ clusters?: pulumi.Input[] | undefined>; /** * -(Optional) VM creation time */ createTime?: pulumi.Input; /** * -(Optional) VM description */ description?: pulumi.Input; /** * -(Optional) Disks attached to the VM. */ disks?: pulumi.Input[] | undefined>; /** * -(Optional) The list of additional CPU features to be enabled. HardwareVirtualization: Indicates whether hardware assisted virtualization should be enabled for the Guest OS or not. Once enabled, the Guest OS can deploy a nested hypervisor */ enabledCpuFeatures?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * -(Optional) Generation UUID of the VM. It should be of type UUID. */ generationUuid?: pulumi.Input; /** * -(Optional) GPUs attached to the VM. */ gpuses?: pulumi.Input[] | undefined>; /** * -(Optional) Stage a Sysprep or cloud-init configuration file to be used by the guest for the next boot. Note that the Sysprep command must be used to generalize the Windows VMs before triggering this API call. */ guestCustomizations?: pulumi.Input[] | undefined>; /** * -(Optional) The details about Nutanix Guest Tools for a VM. */ guestTools?: pulumi.Input[] | undefined>; /** * -(Optional) VM hardware clock timezone in IANA TZDB format (America/Los_Angeles). */ hardwareClockTimezone?: pulumi.Input; /** * -(Optional) Reference to the host, the VM is running on. */ hosts?: pulumi.Input[] | undefined>; /** * -(Optional) Indicates whether the VM is an agent VM or not. When their host enters maintenance mode, once the normal VMs are evacuated, the agent VMs are powered off. When the host is restored, agent VMs are powered on before the normal VMs are restored. In other words, agent VMs cannot be HA-protected or live migrated. */ isAgentVm?: pulumi.Input; /** * -(Optional) Indicates whether to remove AHV branding from VM firmware tables or not. */ isBrandingEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the VM CPU hotplug is enabled. */ isCpuHotplugEnabled?: pulumi.Input; /** * -(Optional) Indicates whether to passthrough the host CPU features to the guest or not. Enabling this will make VM incapable of live migration. */ isCpuPassthroughEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the vGPU console is enabled or not. */ isGpuConsoleEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the memory overcommit feature should be enabled for the VM or not. If enabled, parts of the VM memory may reside outside of the hypervisor physical memory. Once enabled, it should be expected that the VM may suffer performance degradation. */ isMemoryOvercommitEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the VM SCSI controller is enabled. */ isScsiControllerEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the vCPUs should be hard pinned to specific pCPUs or not. */ isVcpuHardPinningEnabled?: pulumi.Input; /** * -(Optional) Indicates whether the VGA console should be disabled or not. */ isVgaConsoleEnabled?: pulumi.Input; /** * -(Optional) Machine type for the VM. Machine type Q35 is required for secure boot and does not support IDE disks. */ machineType?: pulumi.Input; /** * -(Optional) Memory size in bytes. */ memorySizeBytes?: pulumi.Input; /** * -(Optional) VM name. */ name?: pulumi.Input; /** * -(Optional) NICs attached to the VM. */ nics?: pulumi.Input[] | undefined>; /** * -(Optional) Number of cores per socket. */ numCoresPerSocket?: pulumi.Input; /** * -(Optional) Number of NUMA nodes. 0 means NUMA is disabled. */ numNumaNodes?: pulumi.Input; /** * -(Optional) Number of vCPU sockets. */ numSockets?: pulumi.Input; /** * -(Optional) Number of threads per core */ numThreadsPerCore?: pulumi.Input; /** * -(Optional) Ownership information for the VM. */ ownershipInfos?: pulumi.Input[] | undefined>; powerState?: pulumi.Input; /** * -(Optional) Reference to a project. */ projects?: pulumi.Input[] | undefined>; /** * -(Optional) Status of protection policy applied to this VM. */ protectionPolicyStates?: pulumi.Input[] | undefined>; /** * -(Optional) The type of protection applied on a VM. PD_PROTECTED indicates a VM is protected using the Prism Element. RULE_PROTECTED indicates a VM protection using the Prism Central. */ protectionType?: pulumi.Input; /** * -(Optional) Serial ports configured on the VM. */ serialPorts?: pulumi.Input[] | undefined>; /** * -(Optional) Reference to an entity that the VM should be cloned or created from */ sources?: pulumi.Input[] | undefined>; /** * -(Optional) Storage configuration for VM. */ storageConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) VM last updated time. */ updateTime?: pulumi.Input; /** * -(Optional) Indicates how the vTPM for the VM should be configured. */ vtpmConfigs?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigApcConfig { /** * CPU model associated with the VM if Advanced Processor Compatibility(APC) is enabled. If APC is enabled and no CPU model is explicitly set, a default baseline CPU model is picked by the system. See the APC documentation for more information * - `cpu_model.name`: (Required) Name of the CPU model associated with the VM. */ cpuModels?: pulumi.Input[] | undefined>; /** * If enabled, the selected CPU model will be retained across live and cold migrations of the VM. */ isApcEnabled?: pulumi.Input; } export interface OvaV2VmConfigApcConfigCpuModel { extId?: pulumi.Input; /** * -(Required) Name of the OVA. */ name?: pulumi.Input; } export interface OvaV2VmConfigAvailabilityZone { /** * -(Optional) The globally unique identifier of an availability zone type UUID. */ extId?: pulumi.Input; } export interface OvaV2VmConfigBootConfig { /** * LegacyBoot config Object */ legacyBoots?: pulumi.Input[] | undefined>; /** * UefiBoot config Object */ uefiBoots?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigLegacyBoot { /** * Boot Device object * - `boot_device.boot_device_disk`: (Optional) Disk address. * - `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * - `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * - `boot_device.boot_device_nic`: (Optional) Disk Nic address. * - `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigLegacyBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigLegacyBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigLegacyBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigBootConfigLegacyBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBoot { /** * Boot Device object * - `boot_device.boot_device_disk`: (Optional) Disk address. * - `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * - `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * - `boot_device.boot_device_nic`: (Optional) Disk Nic address. * - `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; /** * Indicate whether to enable secure boot or not */ isSecureBootEnabled?: pulumi.Input; /** * Configuration for NVRAM to be presented to the VM. * - `nvram_device.backing_storage_info`: (Required) Storage provided by Nutanix ADSF */ nvramDevices?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootNvramDevice { backingStorageInfos?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfo { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReference { /** * Image Reference * - `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * - `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * - `vm_disk_reference.disk_address`: (Optional) Disk address. * - `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface OvaV2VmConfigBootConfigUefiBootNvramDeviceBackingStorageInfoStorageContainer { extId?: pulumi.Input; } export interface OvaV2VmConfigCategory { /** * -(Optional) A globally unique identifier of a VM category of type UUID. */ extId?: pulumi.Input; } export interface OvaV2VmConfigCdRom { /** * Storage provided by Nutanix ADSF */ backingInfos?: pulumi.Input[] | undefined>; /** * Virtual Machine disk (VM disk). */ diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Type of ISO image inserted in CD-ROM. Valid values "OTHER", "GUEST_TOOLS", "GUEST_CUSTOMIZATION" . */ isoType?: pulumi.Input; } export interface OvaV2VmConfigCdRomBackingInfo { /** * A reference to a disk or image that contains the contents of a disk. * container. */ dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; /** * Size of the disk in Bytes */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM disks * - `storage_config.is_flash_mode_enabled`: Indicates whether the virtual disk is pinned to the hot tier or not. */ storageConfigs?: pulumi.Input[] | undefined>; /** * This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigCdRomBackingInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigCdRomBackingInfoDataSourceReference { /** * Image Reference * - `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * - `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * - `vm_disk_reference.disk_address`: (Optional) Disk address. * - `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigCdRomBackingInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface OvaV2VmConfigCdRomBackingInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigCdRomBackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigCdRomBackingInfoDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface OvaV2VmConfigCdRomBackingInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface OvaV2VmConfigCdRomBackingInfoStorageContainer { extId?: pulumi.Input; } export interface OvaV2VmConfigCdRomDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigCluster { /** * -(Optional) The globally unique identifier of a cluster type UUID. */ extId?: pulumi.Input; } export interface OvaV2VmConfigDisk { /** * Supporting storage to create virtual disk on. * - `backing_info.vm_disk`:(Optional) backing Info for vmDisk * - `backing_info.adfs_volume_group_reference`: (Required) Volume Group Reference * - `backing_info.adfs_volume_group_reference.volume_group_ext_id`: (Required) The globally unique identifier of an ADSF volume group. It should be of type UUID. */ backingInfos?: pulumi.Input[] | undefined>; /** * Disk address. * - `disk_address.bus_type`: (Required) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * - `disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. */ diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfo { adfsVolumeGroupReferences?: pulumi.Input[] | undefined>; vmDisks?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigDiskBackingInfoAdfsVolumeGroupReference { volumeGroupExtId?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfoVmDisk { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSourceReference { /** * Image Reference * - `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * - `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * - `vm_disk_reference.disk_address`: (Optional) Disk address. * - `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfoVmDiskStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface OvaV2VmConfigDiskBackingInfoVmDiskStorageContainer { extId?: pulumi.Input; } export interface OvaV2VmConfigDiskDiskAddress { busType?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; } export interface OvaV2VmConfigGpus { /** * The device Id of the GPU. */ deviceId?: pulumi.Input; extId?: pulumi.Input; fraction?: pulumi.Input; frameBufferSizeBytes?: pulumi.Input; guestDriverVersion?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * ) The mode of this GPU. Valid values "PASSTHROUGH_GRAPHICS", "PASSTHROUGH_COMPUTE", "VIRTUAL" . */ mode?: pulumi.Input; /** * -(Required) Name of the OVA. */ name?: pulumi.Input; numVirtualDisplayHeads?: pulumi.Input; /** * The (S)egment:(B)us:(D)evice.(F)unction hardware address. */ pciAddresses?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * The vendor of the GPU. Valid values "NVIDIA", "AMD", "INTEL" . */ vendor?: pulumi.Input; } export interface OvaV2VmConfigGpusLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface OvaV2VmConfigGpusPciAddress { bus?: pulumi.Input; device?: pulumi.Input; func?: pulumi.Input; segment?: pulumi.Input; } export interface OvaV2VmConfigGuestCustomization { /** * -(Optional) The Nutanix Guest Tools customization settings. * * - `config.sysprep`: -(Optional) Sysprep config * - `config.cloud_init`: -(Optional) CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInit { /** * -(Optional) The script to use for cloud-init. * - `cloud_init_script.user_data`: -(Optional) user data object * - `cloud_init_script.custom_keys`: -(Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * -(Optional) Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * -(Optional) The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. */ metadata?: pulumi.Input; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { /** * -(Required) Name of the OVA. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface OvaV2VmConfigGuestCustomizationConfigSysprep { /** * -(Optional) Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Default is 'PREPARED'. */ installType?: pulumi.Input; /** * -(Optional) Object either UnattendXml or CustomKeyValues * - `sysprep_script.unattend_xml`: -(Optional) xml object * - `sysprep_script.custom_key_values`: -(Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { /** * -(Required) Name of the OVA. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface OvaV2VmConfigGuestCustomizationConfigSysprepSysprepScriptUnattendXml { value: pulumi.Input; } export interface OvaV2VmConfigGuestTool { availableVersion?: pulumi.Input; /** * -(Optional) The list of the application names that are enabled on the guest VM. */ capabilities?: pulumi.Input[] | undefined>; guestOsVersion?: pulumi.Input; /** * -(Optional) Indicates whether Nutanix Guest Tools is enabled or not. */ isEnabled?: pulumi.Input; isInstalled?: pulumi.Input; isIsoInserted?: pulumi.Input; isReachable?: pulumi.Input; isVmMobilityDriversInstalled?: pulumi.Input; isVssSnapshotCapable?: pulumi.Input; version?: pulumi.Input; } export interface OvaV2VmConfigHost { /** * -(Optional) A globally unique identifier of a host of type UUID. */ extId?: pulumi.Input; } export interface OvaV2VmConfigNic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; } export interface OvaV2VmConfigNicBackingInfo { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * - `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoDpOffloadNicDpOffloadProfileReference { extId: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoDpOffloadNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoSriovNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoSriovNicSriovProfileReference { extId: pulumi.Input; } export interface OvaV2VmConfigNicNicBackingInfoVirtualEthernetNic { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * - `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * - `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface OvaV2VmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface OvaV2VmConfigOwnershipInfo { /** * Reference to the owner. * - `owner.ext_id`: -(Optional) A globally unique identifier of a VM owner type UUID. */ owners?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigOwnershipInfoOwner { extId?: pulumi.Input; } export interface OvaV2VmConfigProject { extId?: pulumi.Input; } export interface OvaV2VmConfigProtectionPolicyState { /** * Reference to the policy object in use. * - `policy.ext_id`: (Optional) Reference to the policy object in use. */ policies?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigProtectionPolicyStatePolicy { extId?: pulumi.Input; } export interface OvaV2VmConfigSerialPort { extId?: pulumi.Input; /** * -(Optional) Index of the serial port. */ index?: pulumi.Input; /** * -(Optional) Indicates whether the serial port is connected or not. */ isConnected?: pulumi.Input; } export interface OvaV2VmConfigSource { /** * -(Optional) Reference to an entity from which the VM should be cloned or created. Values are: * - VM_RECOVERY_POINT: Reference to the recovery point entity from which the VM should be cloned or created. * - VM: Reference to an entity from which the VM should be cloned or created. */ entityType?: pulumi.Input; extId?: pulumi.Input; } export interface OvaV2VmConfigStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; /** * QoS parameters to be enforced. * - `qos_config.throttled_iops`: (Optional) Throttled IOPS for the governed entities. The block size for the I/O is 32 kB. */ qosConfigs?: pulumi.Input[] | undefined>; } export interface OvaV2VmConfigStorageConfigQosConfig { throttledIops?: pulumi.Input; } export interface OvaV2VmConfigVtpmConfig { /** * Indicates whether the virtual trusted platform module is enabled for the Guest OS or not. */ isVtpmEnabled?: pulumi.Input; version?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfig { /** * Categories for the VM. */ categories?: pulumi.Input[] | undefined>; /** * CD-ROMs attached to the VM. */ cdRoms?: pulumi.Input[] | undefined>; /** * Additional disks to attach to the VM. */ disks?: pulumi.Input[] | undefined>; /** * Memory size in bytes. */ memorySizeBytes?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; /** * NICs attached to the VM. */ nics: pulumi.Input[]>; /** * Number of cores per socket. Value should be at least 1. */ numCoresPerSocket?: pulumi.Input; /** * Number of vCPU sockets. Value should be at least 1. */ numSockets?: pulumi.Input; /** * Number of threads per core. Value should be at least 1. */ numThreadsPerCore?: pulumi.Input; /** * Power state of the VM (ON or OFF). Default is "ON". */ powerState?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCategory { /** * A globally unique identifier of a VM category of type UUID. * * * See detailed information in [Nutanix Deploy VMs from an OVA V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Ovas/operation/deployOva). */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRom { /** * Storage provided by Nutanix ADSF */ backingInfos?: pulumi.Input[] | undefined>; /** * Virtual Machine disk (VM disk). */ diskAddresses?: pulumi.Input[] | undefined>; /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; /** * Type of ISO image inserted in CD-ROM. Valid values "OTHER", "GUEST_TOOLS", "GUEST_CUSTOMIZATION" . */ isoType?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfo { dataSources?: pulumi.Input[] | undefined>; /** * Disk size in bytes. */ diskSizeBytes?: pulumi.Input; /** * Storage configuration options. */ storageConfigs?: pulumi.Input[] | undefined>; /** * Storage container for the disk. */ storageContainers?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSource { references?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSourceReference { imageReferences?: pulumi.Input[] | undefined>; vmDiskReferences?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { /** * Bus type for the disk. Valid values "SCSI", "SPAPR", "PCI", "IDE", "SATA". */ busType?: pulumi.Input; /** * Device index on the bus. */ index?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoDataSourceReferenceVmDiskReferenceVmReference { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoStorageConfig { isFlashModeEnabled?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomBackingInfoStorageContainer { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigCdRomDiskAddress { /** * Bus type for the disk. Valid values "SCSI", "SPAPR", "PCI", "IDE", "SATA". */ busType?: pulumi.Input; /** * Device index on the bus. */ index?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDisk { /** * Storage configuration for the disk. */ backingInfos?: pulumi.Input[] | undefined>; /** * Disk address configuration. */ diskAddresses?: pulumi.Input[] | undefined>; /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfo { adfsVolumeGroupReferences?: pulumi.Input[] | undefined>; /** * VM disk configuration. */ vmDisks?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoAdfsVolumeGroupReference { volumeGroupExtId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDisk { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; /** * Disk size in bytes. */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration options. */ storageConfigs?: pulumi.Input[] | undefined>; /** * Storage container for the disk. */ storageContainers?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSource { references?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSourceReference { imageReferences?: pulumi.Input[] | undefined>; vmDiskReferences?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceDiskAddress { /** * Bus type for the disk. Valid values "SCSI", "SPAPR", "PCI", "IDE", "SATA". */ busType?: pulumi.Input; /** * Device index on the bus. */ index?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceVmReference { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskStorageConfig { isFlashModeEnabled?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskBackingInfoVmDiskStorageContainer { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigDiskDiskAddress { /** * Bus type for the disk. Valid values "SCSI", "SPAPR", "PCI", "IDE", "SATA". */ busType?: pulumi.Input; /** * Device index on the bus. */ index?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicBackingInfo { /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoNetworkFunctionChain { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNetworkInfoSubnet { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoDpOffloadNicDpOffloadProfileReference { /** * -(Required) The external identifier for an OVA. */ extId: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoDpOffloadNicHostPcieDeviceReference { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoSriovNicHostPcieDeviceReference { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoSriovNicSriovProfileReference { /** * -(Required) The external identifier for an OVA. */ extId: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicBackingInfoVirtualEthernetNic { /** * Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface OvaVmDeployV2OverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { /** * -(Required) The external identifier for an OVA. */ extId?: pulumi.Input; } export interface PbrDestination { addressType?: pulumi.Input; prefixLength?: pulumi.Input; subnetIp?: pulumi.Input; } export interface PbrProtocolParameters { icmp?: pulumi.Input; protocolNumber?: pulumi.Input; tcp?: pulumi.Input; udp?: pulumi.Input; } export interface PbrProtocolParametersIcmp { icmpCode: pulumi.Input; icmpType: pulumi.Input; } export interface PbrProtocolParametersTcp { destinationPortRangeLists?: pulumi.Input[] | undefined>; sourcePortRangeLists?: pulumi.Input[] | undefined>; } export interface PbrProtocolParametersTcpDestinationPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface PbrProtocolParametersTcpSourcePortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface PbrProtocolParametersUdp { destinationPortRangeLists?: pulumi.Input[] | undefined>; sourcePortRangeLists?: pulumi.Input[] | undefined>; } export interface PbrProtocolParametersUdpDestinationPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface PbrProtocolParametersUdpSourcePortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface PbrSource { addressType?: pulumi.Input; prefixLength?: pulumi.Input; subnetIp?: pulumi.Input; } export interface PbrV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface PbrV2Metadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface PbrV2Policy { /** * If True, policies in the reverse direction will be installed with the same action but source and destination will be swapped. */ isBidirectional?: pulumi.Input; /** * The action to be taken on the traffic matching the routing policy. */ policyActions: pulumi.Input[]>; /** * Match condition for the traffic that is entering the VPC. */ policyMatches: pulumi.Input[]>; } export interface PbrV2PolicyPolicyAction { /** * Routing policy action type. */ actionType: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ nexthopIpAddresses?: pulumi.Input[] | undefined>; /** * Routing policy Reroute params. */ rerouteParams?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionNexthopIpAddress { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionNexthopIpAddressIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionNexthopIpAddressIpv6 { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParam { /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ egressServiceIps?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ ingressServiceIps?: pulumi.Input[] | undefined>; /** * Type of fallback action in reroute case when service VM is down. Acceptable values are "PASSTHROUGH", "NO_ACTION", "ALLOW", "DENY". */ rerouteFallbackAction?: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ serviceIps?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionRerouteParamEgressServiceIp { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionRerouteParamEgressServiceIpIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParamEgressServiceIpIpv6 { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParamIngressServiceIp { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionRerouteParamIngressServiceIpIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParamIngressServiceIpIpv6 { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParamServiceIp { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyActionRerouteParamServiceIpIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyActionRerouteParamServiceIpIpv6 { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyMatch { /** * Address Type like "EXTERNAL" or "ANY". */ destinations: pulumi.Input[]>; /** * Protocol Params Object. */ protocolParameters?: pulumi.Input[] | undefined>; /** * Routing Policy IP protocol type. Acceptable values are "TCP", "UDP", "PROTOCOL_NUMBER", "ANY", "ICMP" . */ protocolType: pulumi.Input; /** * Address Type like "EXTERNAL" or "ANY". */ sources: pulumi.Input[]>; } export interface PbrV2PolicyPolicyMatchDestination { /** * Address Type. Acceptable values are "SUBNET", "EXTERNAL", "ANY" . */ addressType: pulumi.Input; /** * Subnet Prefix */ subnetPrefixes?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchDestinationSubnetPrefix { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchDestinationSubnetPrefixIpv4 { /** * IP of address */ ips?: pulumi.Input[] | undefined>; /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchDestinationSubnetPrefixIpv4Ip { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchDestinationSubnetPrefixIpv6 { /** * IP of address */ ips?: pulumi.Input[] | undefined>; prefixLength?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchDestinationSubnetPrefixIpv6Ip { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchProtocolParameter { /** * ICMP object */ icmpObjects?: pulumi.Input[] | undefined>; /** * Layer Four Protocol Object. */ layerFourProtocolObjects?: pulumi.Input[] | undefined>; /** * Protocol Number Object. */ protocolNumberObjects?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchProtocolParameterIcmpObject { /** * icmp code */ icmpCode?: pulumi.Input; /** * icmp type */ icmpType?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchProtocolParameterLayerFourProtocolObject { /** * Start and end port ranges object. */ destinationPortRanges?: pulumi.Input[] | undefined>; /** * Start and end port ranges object. */ sourcePortRanges?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchProtocolParameterLayerFourProtocolObjectDestinationPortRange { /** * End Port. */ endPort: pulumi.Input; /** * Start Port. */ startPort: pulumi.Input; } export interface PbrV2PolicyPolicyMatchProtocolParameterLayerFourProtocolObjectSourcePortRange { /** * End Port. */ endPort: pulumi.Input; /** * Start Port. */ startPort: pulumi.Input; } export interface PbrV2PolicyPolicyMatchProtocolParameterProtocolNumberObject { /** * protocol number */ protocolNumber: pulumi.Input; } export interface PbrV2PolicyPolicyMatchSource { /** * Address Type. Acceptable values are "SUBNET", "EXTERNAL", "ANY" . */ addressType: pulumi.Input; /** * Subnet Prefix */ subnetPrefixes?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchSourceSubnetPrefix { /** * IPv4 Object. */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PbrV2PolicyPolicyMatchSourceSubnetPrefixIpv4 { /** * IP of address */ ips?: pulumi.Input[] | undefined>; /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchSourceSubnetPrefixIpv4Ip { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchSourceSubnetPrefixIpv6 { /** * IP of address */ ips?: pulumi.Input[] | undefined>; prefixLength?: pulumi.Input; } export interface PbrV2PolicyPolicyMatchSourceSubnetPrefixIpv6Ip { prefixLength?: pulumi.Input; /** * ip value */ value?: pulumi.Input; } export interface PbrV2Vpc { /** * Name of the routing policy. */ name?: pulumi.Input; } export interface PcBackupTargetV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface PcBackupTargetV2Location { /** * -(Optional) A boolean value indicating whether to enable lockdown mode for a cluster. */ clusterLocations?: pulumi.Input[] | undefined>; /** * -(Optional) Currently representing the build information to be used for the cluster creation. */ objectStoreLocations?: pulumi.Input[] | undefined>; } export interface PcBackupTargetV2LocationClusterLocation { /** * -(Required) Cluster reference of the remote cluster to be connected. */ configs: pulumi.Input[]>; } export interface PcBackupTargetV2LocationClusterLocationConfig { /** * -(Required) Cluster UUID of a remote cluster. */ extId: pulumi.Input; name?: pulumi.Input; } export interface PcBackupTargetV2LocationObjectStoreLocation { /** * -(Optional) Backup policy for the object store provided. */ backupPolicies?: pulumi.Input[] | undefined>; /** * -(Required) The base model of S3 object store endpoint where domain manager is backed up. */ providerConfigs: pulumi.Input[]>; } export interface PcBackupTargetV2LocationObjectStoreLocationBackupPolicy { /** * -(Required) RPO interval in minutes at which the backup will be taken. The Value should be in the range of 60 to 1440. */ rpoInMinutes: pulumi.Input; } export interface PcBackupTargetV2LocationObjectStoreLocationProviderConfig { /** * -(Required) The bucket name of the object store endpoint where backup data of domain manager is to be stored. */ bucketName: pulumi.Input; /** * -(Optional) Secret credentials model for the object store containing access key ID and secret access key. */ credentials?: pulumi.Input; /** * -(Optional) The region name of the object store endpoint where backup data of domain manager is stored. Default is `us-east-1`. */ region?: pulumi.Input; } export interface PcBackupTargetV2LocationObjectStoreLocationProviderConfigCredentials { /** * -(Required) Access key ID for the object store provided for backup target. */ accessKeyId: pulumi.Input; /** * -(Required) Secret access key for the object store provided for backup target. */ secretAccessKey: pulumi.Input; } export interface PcDeployV2Config { /** * - (Optional) Bootstrap configuration details for the domain manager (Prism Central). */ bootstrapConfig?: pulumi.Input; /** * -(Required) Currently representing the build information to be used for the cluster creation. */ buildInfo: pulumi.Input; /** * - (Optional) The credentials consist of a username and password for a particular user like admin. Users can pass the credentials of admin users currently which will be configured in the create domain manager operation. */ credentials?: pulumi.Input[] | undefined>; /** * -(Required) Name of the domain manager (Prism Central). */ name: pulumi.Input; /** * -(Optional) This configuration is used to provide the resource-related details like container external identifiers, number of VCPUs, memory size, data disk size of the domain manager (Prism Central). In the case of a multi-node setup, the sum of resources like number of VCPUs, memory size and data disk size are provided. */ resourceConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) A boolean value indicating whether to enable lockdown mode for a cluster. */ shouldEnableLockdownMode?: pulumi.Input; /** * - (Required) Domain manager (Prism Central) size is an enumeration of starter, small, large, or extra large starter values. The allowed values are: * - `SMALL` : Domain manager (Prism Central) of size small. * - `LARGE` : Domain manager (Prism Central) of size large. * - `EXTRALARGE` : Domain manager (Prism Central) of size extra large. * - `STARTER` : Domain manager (Prism Central) of size starter. */ size: pulumi.Input; } export interface PcDeployV2ConfigBootstrapConfig { /** * -(Optional) Cloud-init configuration for the domain manager (Prism Central) cluster. */ cloudInitConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) Environment information for the domain manager (Prism Central) cluster. */ environmentInfo?: pulumi.Input; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfig { /** * -(Optional) The script to use for cloud-init. * - `cloud_init_script.user_data`: -(Optional) user data object * - `cloud_init_script.custom_keys`: -(Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * -(Optional) Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * -(Optional)The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePair { /** * -(Required) Name of the domain manager (Prism Central). */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface PcDeployV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptUserData { value?: pulumi.Input; } export interface PcDeployV2ConfigBootstrapConfigEnvironmentInfo { /** * -(Optional) Enums denoting the provider type of the PC, that is, AHV or ESXi. * Following are the supported provider types: * - `VSPHERE` : Vsphere cloud provider. * - `AZURE` : Azure cloud provider. * - `NTNX` : Nutanix cloud provider. * - `GCP` : GCP cloud provider. * - `AWS` : AWS cloud provider. */ providerType?: pulumi.Input; /** * -(Optional) Enums denoting the instance type of the cloud PC. It indicates whether the PC is created on bare-metal or on a cloud-provisioned VM. Hence, it supports two possible values: * - `NTNX` : Nutanix instance. * - `NATIVE` : Native instance. */ provisioningType?: pulumi.Input; /** * -(Optional) Enums denoting the environment type of the PC, that is, on-prem PC or cloud PC. * Following are the supported entity types: * - `ONPREM` : On-prem environment. * - `NTNX_CLOUD` : Nutanix cloud environment. */ type?: pulumi.Input; } export interface PcDeployV2ConfigBuildInfo { /** * -(Required) Software version. */ version?: pulumi.Input; } export interface PcDeployV2ConfigCredential { /** * -(Required) Password required for the basic auth scheme. */ password: pulumi.Input; /** * -(Required) Username required for the basic auth scheme. As per RFC 2617 usernames might be case sensitive. */ username: pulumi.Input; } export interface PcDeployV2ConfigResourceConfig { /** * -(Optional) The external identifier of the container that will be used to create the domain manager (Prism Central) cluster. */ containerExtIds?: pulumi.Input[] | undefined>; dataDiskSizeBytes?: pulumi.Input; memorySizeBytes?: pulumi.Input; numVcpus?: pulumi.Input; } export interface PcDeployV2Network { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ externalAddress?: pulumi.Input; /** * -(Required) This configuration is used to manage Prism Central. */ externalNetworks?: pulumi.Input[] | undefined>; fqdn?: pulumi.Input; /** * -(Required) This configuration is used to internally manage Prism Central network. */ internalNetworks?: pulumi.Input; /** * -(Required) List of name servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ nameServers: pulumi.Input[]>; /** * -(Required) List of NTP servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ ntpServers: pulumi.Input[]>; } export interface PcDeployV2NetworkExternalAddress { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkExternalAddressIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalAddressIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetwork { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ defaultGateway: pulumi.Input; /** * -(Required) Range of IPs used for Prism Central network setup. */ ipRanges: pulumi.Input[]>; /** * -(Required) The network external identifier to which Domain Manager (Prism Central) is to be deployed or is already configured. */ networkExtId: pulumi.Input; /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ subnetMask: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkDefaultGateway { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkExternalNetworkDefaultGatewayFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkDefaultGatewayIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkDefaultGatewayIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkIpRange { /** * -(Optional) The beginning IP address of the range. */ begin?: pulumi.Input; /** * -(Optional) The ending IP address of the range. */ end?: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkIpRangeBegin { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkExternalNetworkIpRangeBeginIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkIpRangeBeginIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkIpRangeEnd { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkExternalNetworkIpRangeEndIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkIpRangeEndIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkSubnetMask { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkExternalNetworkSubnetMaskFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkSubnetMaskIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkExternalNetworkSubnetMaskIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworks { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ defaultGateway: pulumi.Input; /** * -(Required) Range of IPs used for Prism Central network setup. */ ipRanges: pulumi.Input[]>; /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ subnetMask: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksDefaultGateway { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkInternalNetworksDefaultGatewayFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksDefaultGatewayIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksDefaultGatewayIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksIpRange { /** * -(Optional) The beginning IP address of the range. */ begin?: pulumi.Input; /** * -(Optional) The ending IP address of the range. */ end?: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksIpRangeBegin { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkInternalNetworksIpRangeBeginIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksIpRangeBeginIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksIpRangeEnd { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkInternalNetworksIpRangeEndIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksIpRangeEndIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksSubnetMask { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkInternalNetworksSubnetMaskFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksSubnetMaskIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkInternalNetworksSubnetMaskIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkNameServer { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkNameServerFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkNameServerIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkNameServerIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkNtpServer { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcDeployV2NetworkNtpServerFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Deploy PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/createDomainManager). */ value: pulumi.Input; } export interface PcDeployV2NetworkNtpServerIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcDeployV2NetworkNtpServerIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRegistrationV2Config { bootstrapConfig?: pulumi.Input; buildInfo: pulumi.Input; /** * -(Required) Credentials to connect to a remote cluster. */ credentials?: pulumi.Input[] | undefined>; name: pulumi.Input; resourceConfigs?: pulumi.Input[] | undefined>; shouldEnableLockdownMode?: pulumi.Input; size: pulumi.Input; } export interface PcRegistrationV2ConfigBootstrapConfig { cloudInitConfigs?: pulumi.Input[] | undefined>; environmentInfo?: pulumi.Input; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfig { cloudInitScripts?: pulumi.Input[] | undefined>; datasourceType?: pulumi.Input; metadata?: pulumi.Input; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface PcRegistrationV2ConfigBootstrapConfigCloudInitConfigCloudInitScriptUserData { value?: pulumi.Input; } export interface PcRegistrationV2ConfigBootstrapConfigEnvironmentInfo { providerType?: pulumi.Input; provisioningType?: pulumi.Input; type?: pulumi.Input; } export interface PcRegistrationV2ConfigBuildInfo { version?: pulumi.Input; } export interface PcRegistrationV2ConfigCredential { /** * -(Required) Password required for the basic auth scheme. * * See detailed information in [Nutanix Register a PC Docs](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/register). */ password: pulumi.Input; /** * -(Required) Username required for the basic auth scheme. As per RFC 2617 usernames might be case sensitive. */ username: pulumi.Input; } export interface PcRegistrationV2ConfigResourceConfig { containerExtIds?: pulumi.Input[] | undefined>; dataDiskSizeBytes?: pulumi.Input; memorySizeBytes?: pulumi.Input; numVcpus?: pulumi.Input; } export interface PcRegistrationV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface PcRegistrationV2Network { externalAddress?: pulumi.Input; externalNetworks?: pulumi.Input[] | undefined>; /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdn?: pulumi.Input; internalNetworks?: pulumi.Input; nameServers: pulumi.Input[]>; ntpServers: pulumi.Input[]>; } export interface PcRegistrationV2NetworkExternalAddress { /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkExternalAddressIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalAddressIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetwork { defaultGateway: pulumi.Input; ipRanges: pulumi.Input[]>; networkExtId: pulumi.Input; subnetMask: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkDefaultGateway { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkExternalNetworkDefaultGatewayFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkDefaultGatewayIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkDefaultGatewayIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkIpRange { begin?: pulumi.Input; end?: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeBegin { /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeBeginIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeBeginIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeEnd { /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeEndIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkIpRangeEndIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkSubnetMask { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkExternalNetworkSubnetMaskFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkSubnetMaskIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkExternalNetworkSubnetMaskIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworks { defaultGateway: pulumi.Input; ipRanges: pulumi.Input[]>; subnetMask: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksDefaultGateway { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkInternalNetworksDefaultGatewayFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksDefaultGatewayIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksDefaultGatewayIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksIpRange { begin?: pulumi.Input; end?: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeBegin { /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeBeginIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeBeginIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeEnd { /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeEndIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksIpRangeEndIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksSubnetMask { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkInternalNetworksSubnetMaskFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksSubnetMaskIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkInternalNetworksSubnetMaskIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkNameServer { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkNameServerFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkNameServerIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkNameServerIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2NetworkNtpServer { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2NetworkNtpServerFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkNtpServerIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2NetworkNtpServerIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2RemoteCluster { /** * - The registration request consists of the remote cluster details. */ aosRemoteClusterSpec?: pulumi.Input; /** * - The registration request consists of the remote cluster details. using the cluster reference. */ clusterReference?: pulumi.Input; /** * - The registration request consists of the remote cluster details. and cloud type. */ domainManagerRemoteClusterSpec?: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpec { /** * -(Required) Address configuration of a remote cluster. It requires the address of the remote, that is an IP or domain name along with the basic authentication credentials. */ remoteCluster: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteCluster { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ addresses: pulumi.Input[]>; /** * -(Required) Credentials to connect to a remote cluster. */ credentials: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterAddress { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterAddressFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterAddressIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterAddressIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterCredentials { /** * -(Required) An authentication scheme that requires the client to present a username and password. The server will service the request only if it can validate the user-ID and password for the protection space of the Request-URI. */ authentication: pulumi.Input; } export interface PcRegistrationV2RemoteClusterAosRemoteClusterSpecRemoteClusterCredentialsAuthentication { /** * -(Required) Password required for the basic auth scheme. * * See detailed information in [Nutanix Register a PC Docs](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/register). */ password: pulumi.Input; /** * -(Required) Username required for the basic auth scheme. As per RFC 2617 usernames might be case sensitive. */ username: pulumi.Input; } export interface PcRegistrationV2RemoteClusterClusterReference { /** * -(Required) Cluster UUID of a remote cluster. */ extId: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpec { /** * -(Required) Enum denoting whether the domain manager (Prism Central) instance is reachable with its physical address or reachable through the My Nutanix portal. Based on the above description, the allowed enum values are: * * `NUTANIX_HOSTED_CLOUD` : Domain manager (Prism Central) reachable through My Nutanix portal. * * `ONPREM_CLOUD`: Domain manager (Prism Central) reachable on it's physical address. */ cloudType: pulumi.Input; /** * -(Required) Address configuration of a remote cluster. It requires the address of the remote, that is an IP or domain name along with the basic authentication credentials. */ remoteCluster: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteCluster { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ addresses: pulumi.Input[]>; /** * -(Required) Credentials to connect to a remote cluster. */ credentials: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterAddress { /** * - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterAddressFqdn { /** * - The fully qualified domain name of the host. */ value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterAddressIpv4 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format. */ value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterAddressIpv6 { /** * - The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterCredentials { /** * -(Required) An authentication scheme that requires the client to present a username and password. The server will service the request only if it can validate the user-ID and password for the protection space of the Request-URI. */ authentication: pulumi.Input; } export interface PcRegistrationV2RemoteClusterDomainManagerRemoteClusterSpecRemoteClusterCredentialsAuthentication { /** * -(Required) Password required for the basic auth scheme. * * See detailed information in [Nutanix Register a PC Docs](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/register). */ password: pulumi.Input; /** * -(Required) Username required for the basic auth scheme. As per RFC 2617 usernames might be case sensitive. */ username: pulumi.Input; } export interface PcRestoreSourceV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface PcRestoreSourceV2Location { /** * -(Optional) A boolean value indicating whether to enable lockdown mode for a cluster. */ clusterLocations?: pulumi.Input[] | undefined>; /** * -(Optional) Currently representing the build information to be used for the cluster creation. */ objectStoreLocations?: pulumi.Input[] | undefined>; } export interface PcRestoreSourceV2LocationClusterLocation { /** * -(Required) Cluster reference of the remote cluster to be connected. */ configs: pulumi.Input[]>; } export interface PcRestoreSourceV2LocationClusterLocationConfig { /** * -(Required) Cluster UUID of a remote cluster. */ extId: pulumi.Input; name?: pulumi.Input; } export interface PcRestoreSourceV2LocationObjectStoreLocation { /** * -(Optional) Backup policy for the object store provided. */ backupPolicies?: pulumi.Input[] | undefined>; /** * -(Required) The base model of S3 object store endpoint where domain manager is backed up. */ providerConfigs: pulumi.Input[]>; } export interface PcRestoreSourceV2LocationObjectStoreLocationBackupPolicy { /** * -(Required) RPO interval in minutes at which the backup will be taken. The Value should be in the range of 60 to 1440. */ rpoInMinutes: pulumi.Input; } export interface PcRestoreSourceV2LocationObjectStoreLocationProviderConfig { /** * -(Required) The bucket name of the object store endpoint where backup data of domain manager is to be stored. */ bucketName: pulumi.Input; /** * -(Optional) Secret credentials model for the object store containing access key ID and secret access key. */ credentials?: pulumi.Input; /** * -(Optional) The region name of the object store endpoint where backup data of domain manager is stored. Default is `us-east-1`. */ region?: pulumi.Input; } export interface PcRestoreSourceV2LocationObjectStoreLocationProviderConfigCredentials { /** * -(Required) Access key ID for the object store provided for backup target. */ accessKeyId: pulumi.Input; /** * -(Required) Secret access key for the object store provided for backup target. */ secretAccessKey: pulumi.Input; } export interface PcRestoreV2DomainManager { /** * -(Required) Domain manager (Prism Central) cluster configuration details. */ configs: pulumi.Input[]>; hostingClusterExtId?: pulumi.Input; isRegisteredWithHostingCluster?: pulumi.Input; /** * -(Required) Domain manager (Prism Central) network configuration details. */ networks: pulumi.Input[]>; nodeExtIds?: pulumi.Input[] | undefined>; /** * -(Optional) This configuration enables Prism Central to be deployed in scale-out mode. Default is `false`. */ shouldEnableHighAvailability?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfig { /** * - (Optional) Bootstrap configuration details for the domain manager (Prism Central). */ bootstrapConfig?: pulumi.Input; /** * -(Required) Currently representing the build information to be used for the cluster creation. */ buildInfo: pulumi.Input; /** * - (Optional) The credentials consist of a username and password for a particular user like admin. Users can pass the credentials of admin users currently which will be configured in the create domain manager operation. */ credentials?: pulumi.Input[] | undefined>; /** * -(Required) Name of the domain manager (Prism Central). */ name: pulumi.Input; /** * -(Optional) This configuration is used to provide the resource-related details like container external identifiers, number of VCPUs, memory size, data disk size of the domain manager (Prism Central). In the case of a multi-node setup, the sum of resources like number of VCPUs, memory size and data disk size are provided. */ resourceConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) A boolean value indicating whether to enable lockdown mode for a cluster. */ shouldEnableLockdownMode?: pulumi.Input; /** * - (Required) Domain manager (Prism Central) size is an enumeration of starter, small, large, or extra large starter values. The allowed values are: * - `SMALL` : Domain manager (Prism Central) of size small. * - `LARGE` : Domain manager (Prism Central) of size large. * - `EXTRALARGE` : Domain manager (Prism Central) of size extra large. * - `STARTER` : Domain manager (Prism Central) of size starter. */ size: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigBootstrapConfig { /** * -(Optional) Cloud-init configuration for the domain manager (Prism Central) cluster. */ cloudInitConfigs?: pulumi.Input[] | undefined>; /** * -(Optional) Environment information for the domain manager (Prism Central) cluster. */ environmentInfo?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfig { /** * -(Optional) The script to use for cloud-init. * - `cloud_init_script.user_data`: -(Optional) user data object * - `cloud_init_script.custom_keys`: -(Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * -(Optional) Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * -(Optional)The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePair { /** * -(Required) Name of the domain manager (Prism Central). */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigCloudInitConfigCloudInitScriptUserData { value?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigBootstrapConfigEnvironmentInfo { /** * -(Optional) Enums denoting the provider type of the PC, that is, AHV or ESXi. * Following are the supported provider types: * - `VSPHERE` : Vsphere cloud provider. * - `AZURE` : Azure cloud provider. * - `NTNX` : Nutanix cloud provider. * - `GCP` : GCP cloud provider. * - `AWS` : AWS cloud provider. */ providerType?: pulumi.Input; /** * -(Optional) Enums denoting the instance type of the cloud PC. It indicates whether the PC is created on bare-metal or on a cloud-provisioned VM. Hence, it supports two possible values: * - `NTNX` : Nutanix instance. * - `NATIVE` : Native instance. */ provisioningType?: pulumi.Input; /** * -(Optional) Enums denoting the environment type of the PC, that is, on-prem PC or cloud PC. * Following are the supported entity types: * - `ONPREM` : On-prem environment. * - `NTNX_CLOUD` : Nutanix cloud environment. */ type?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigBuildInfo { /** * -(Optional) Software version. */ version?: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigCredential { /** * -(Required) Password required for the basic auth scheme. */ password: pulumi.Input; /** * -(Required) Username required for the basic auth scheme. As per RFC 2617 usernames might be case sensitive. */ username: pulumi.Input; } export interface PcRestoreV2DomainManagerConfigResourceConfig { /** * -(Optional) The external identifier of the container that will be used to create the domain manager (Prism Central) cluster. */ containerExtIds?: pulumi.Input[] | undefined>; dataDiskSizeBytes?: pulumi.Input; memorySizeBytes?: pulumi.Input; numVcpus?: pulumi.Input; } export interface PcRestoreV2DomainManagerNetwork { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. */ externalAddress?: pulumi.Input; /** * -(Required) This configuration is used to manage Prism Central. */ externalNetworks?: pulumi.Input[] | undefined>; fqdn?: pulumi.Input; /** * -(Required) This configuration is used to internally manage Prism Central network. */ internalNetworks?: pulumi.Input; /** * -(Required) List of name servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ nameServers: pulumi.Input[]>; /** * -(Required) List of NTP servers on a cluster. This is part of payload for both cluster create & update operations. For create operation, only ipv4 address / fqdn values are supported currently. */ ntpServers: pulumi.Input[]>; } export interface PcRestoreV2DomainManagerNetworkExternalAddress { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkExternalAddressIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalAddressIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetwork { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ defaultGateway: pulumi.Input; /** * -(Required) Range of IPs used for Prism Central network setup. */ ipRanges: pulumi.Input[]>; /** * -(Required) The network external identifier to which Domain Manager (Prism Central) is to be deployed or is already configured. */ networkExtId: pulumi.Input; /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ subnetMask: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkDefaultGateway { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkDefaultGatewayFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkDefaultGatewayIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkDefaultGatewayIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRange { /** * -(Optional) The beginning IP address of the range. */ begin?: pulumi.Input; /** * -(Optional) The ending IP address of the range. */ end?: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeBegin { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeBeginIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeBeginIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeEnd { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeEndIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkIpRangeEndIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkSubnetMask { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkSubnetMaskFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkSubnetMaskIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkExternalNetworkSubnetMaskIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworks { /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ defaultGateway: pulumi.Input; /** * -(Required) Range of IPs used for Prism Central network setup. */ ipRanges: pulumi.Input[]>; /** * -(Required) An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. */ subnetMask: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksDefaultGateway { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksDefaultGatewayFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksDefaultGatewayIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksDefaultGatewayIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRange { /** * -(Optional) The beginning IP address of the range. */ begin?: pulumi.Input; /** * -(Optional) The ending IP address of the range. */ end?: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeBegin { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeBeginIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeBeginIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeEnd { /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeEndIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksIpRangeEndIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksSubnetMask { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksSubnetMaskFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksSubnetMaskIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkInternalNetworksSubnetMaskIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNameServer { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkNameServerFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNameServerIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNameServerIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNtpServer { /** * -(Optional) A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * -(Optional) An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface PcRestoreV2DomainManagerNetworkNtpServerFqdn { /** * -(Optional) The fully qualified domain name of the host. * * See detailed information in [Nutanix Restore PC V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/restore). */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNtpServerIpv4 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface PcRestoreV2DomainManagerNetworkNtpServerIpv6 { /** * -(Optional) The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * -(Required) The IPv4/IPv6 address of the host. */ value: pulumi.Input; } export interface ProjectAccountReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectAcp { /** * The list of context filters. These are OR filters. The scope-expression-list defines the context, and the filter works in conjunction with the entity-expression-list. */ contextFilterLists?: pulumi.Input[] | undefined>; /** * A description for project. */ description?: pulumi.Input; metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The name for the project. */ name?: pulumi.Input; /** * Reference to role. */ roleReference: pulumi.Input; /** * List of Reference of users groups. */ userGroupReferenceLists?: pulumi.Input[] | undefined>; /** * List of Reference of users. */ userReferenceLists?: pulumi.Input[] | undefined>; } export interface ProjectAcpContextFilterList { /** * (Required) A list of Entity filter expressions. */ entityFilterExpressionLists: pulumi.Input[]>; /** * - (Optional) Filter the scope of an Access Control Policy. */ scopeFilterExpressionLists?: pulumi.Input[] | undefined>; } export interface ProjectAcpContextFilterListEntityFilterExpressionList { /** * - (Optional) The LHS of the filter expression - the entity type. */ leftHandSideEntityType?: pulumi.Input; /** * - (Required) The operator in the filter expression. */ operator: pulumi.Input; /** * - (Required) The right hand side (RHS) of an scope expression. */ rightHandSide: pulumi.Input; } export interface ProjectAcpContextFilterListEntityFilterExpressionListRightHandSide { /** * - (Optional) The category values represented as a dictionary of key > list of values. */ categories?: pulumi.Input; /** * - (Optional) A representative term for supported groupings of entities. ALL = All the entities of a given kind. */ collection?: pulumi.Input; /** * - (Optional) The explicit list of UUIDs for the given kind. */ uuidLists?: pulumi.Input[] | undefined>; } export interface ProjectAcpContextFilterListEntityFilterExpressionListRightHandSideCategories { /** * The name for the project. */ name?: pulumi.Input; /** * value of the key. */ values?: pulumi.Input[] | undefined>; } export interface ProjectAcpContextFilterListScopeFilterExpressionList { /** * - (Optional) The LHS of the filter expression - the scope type. */ leftHandSide: pulumi.Input; /** * - (Required) The operator in the filter expression. */ operator: pulumi.Input; /** * - (Required) The right hand side (RHS) of an scope expression. */ rightHandSide: pulumi.Input; } export interface ProjectAcpContextFilterListScopeFilterExpressionListRightHandSide { /** * - (Optional) The category values represented as a dictionary of key > list of values. */ categories?: pulumi.Input; /** * - (Optional) A representative term for supported groupings of entities. ALL = All the entities of a given kind. */ collection?: pulumi.Input; /** * - (Optional) The explicit list of UUIDs for the given kind. */ uuidLists?: pulumi.Input[] | undefined>; } export interface ProjectAcpContextFilterListScopeFilterExpressionListRightHandSideCategories { /** * The name for the project. */ name?: pulumi.Input; /** * value of the key. */ values?: pulumi.Input[] | undefined>; } export interface ProjectAcpRoleReference { /** * (Required) The kind name (Default value: `project`). */ kind: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectAcpUserGroupReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectAcpUserReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectCategory { /** * The name for the project. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface ProjectClusterReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectDefaultEnvironmentReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectDefaultSubnetReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectEnvironmentReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectExternalNetworkList { /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectExternalUserGroupReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectResourceDomain { resources: pulumi.Input[]>; } export interface ProjectResourceDomainResource { limit: pulumi.Input; resourceType: pulumi.Input; units?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface ProjectSubnetReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectTunnelReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectUserGroupList { directoryServiceOus?: pulumi.Input[] | undefined>; directoryServiceUserGroups?: pulumi.Input[] | undefined>; metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; samlUserGroups?: pulumi.Input[] | undefined>; } export interface ProjectUserGroupListDirectoryServiceOus { distinguishedName: pulumi.Input; } export interface ProjectUserGroupListDirectoryServiceUserGroup { distinguishedName: pulumi.Input; } export interface ProjectUserGroupListSamlUserGroup { idpUuid: pulumi.Input; /** * The name for the project. */ name: pulumi.Input; } export interface ProjectUserList { directoryServiceUser?: pulumi.Input; identityProviderUser?: pulumi.Input; metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface ProjectUserListDirectoryServiceUser { defaultUserPrincipalName?: pulumi.Input; directoryServiceReference: pulumi.Input; userPrincipalName?: pulumi.Input; } export interface ProjectUserListDirectoryServiceUserDirectoryServiceReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectUserListIdentityProviderUser { identityProviderReference: pulumi.Input; username?: pulumi.Input; } export interface ProjectUserListIdentityProviderUserIdentityProviderReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectUserReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProjectVpcReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the project. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface ProtectionPolicyV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfiguration { /** * -(Optional) Label of the source location from the replication locations list, where the entity will be replicated. */ remoteLocationLabel?: pulumi.Input; /** * -(Required) Schedule for protection. The schedule specifies the recovery point objective and the retention policy for the participating locations. */ schedule: pulumi.Input; /** * -(Required) Label of the source location from the replication locations list, where the entity is running. The location of type MST can not be specified as the replication source. */ sourceLocationLabel: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationSchedule { /** * -(Required) The Recovery point objective of the schedule in seconds and specified in multiple of 60 seconds. Only following RPO values can be provided for rollup retention type: * - Minute(s): 1, 2, 3, 4, 5, 6, 10, 12, 15 * - Hour(s): 1, 2, 3, 4, 6, 8, 12 * - Day(s): 1 * - Week(s): 1, 2 */ recoveryPointObjectiveTimeSeconds?: pulumi.Input; /** * -(Optional) Type of recovery point. * * `CRASH_CONSISTENT`: Crash-consistent Recovery points capture all the VM and application level details. * * `APP_CONSISTENT`: Application-consistent Recovery points can capture all the data stored in the memory and also the in-progress transaction details. */ recoveryPointType?: pulumi.Input; /** * -(Optional) Specifies the retention policy for the recovery point schedule. */ retention?: pulumi.Input; /** * -(Optional) Represents the protection start time for the new entities added to the policy after the policy is created in h:m format. The values must be between 00h:00m and 23h:59m and in UTC timezone. It specifies the time when the first snapshot is taken and replicated for any entity added to the policy. If this is not specified, the snapshot is taken immediately and replicated for any new entity added to the policy. */ startTime?: pulumi.Input; /** * -(Optional) Auto suspend timeout if there is a connection failure between locations for synchronous replication. If this value is not set, then the policy will not be suspended. */ syncReplicationAutoSuspendTimeoutSeconds?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationScheduleRetention { /** * -(Optional) Auto rollup retention policy. */ autoRollupRetention?: pulumi.Input; /** * -(Optional) Linear retention policy. */ linearRetention?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetention { /** * -(Required) Specifies the auto rollup retention details. */ local: pulumi.Input; /** * -(Optional) Specifies the auto rollup retention details. */ remote?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionLocal { /** * -(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained. */ frequency: pulumi.Input; /** * -(Required) Snapshot interval period. * * `YEARLY`: Specifies the number of latest yearly recovery points to retain. * * `WEEKLY`: Specifies the number of latest weekly recovery points to retain. * * `DAILY`: Specifies the number of latest daily recovery points to retain. * * `MONTHLY`: Specifies the number of latest monthly recovery points to retain. * * `HOURLY`: Specifies the number of latest hourly recovery points to retain. */ snapshotIntervalType?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationScheduleRetentionAutoRollupRetentionRemote { /** * -(Required) Multiplier to 'snapshotIntervalType'. For example, if 'snapshotIntervalType' is 'YEARLY' and 'multiple' is 5, then 5 years worth of rollup snapshots will be retained. */ frequency: pulumi.Input; /** * -(Required) Snapshot interval period. * * `YEARLY`: Specifies the number of latest yearly recovery points to retain. * * `WEEKLY`: Specifies the number of latest weekly recovery points to retain. * * `DAILY`: Specifies the number of latest daily recovery points to retain. * * `MONTHLY`: Specifies the number of latest monthly recovery points to retain. * * `HOURLY`: Specifies the number of latest hourly recovery points to retain. */ snapshotIntervalType?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationConfigurationScheduleRetentionLinearRetention { /** * -(Required) Specifies the number of recovery points to retain on the local location. */ local: pulumi.Input; /** * -(Optional) Specifies the number of recovery points to retain on the remote location. */ remote?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationLocation { /** * -(Required) External identifier of the domain manager. */ domainManagerExtId: pulumi.Input; /** * -(Optional) One of the locations must be specified as the primary location. All the other locations must be connected to the primary location. */ isPrimary?: pulumi.Input; /** * -(Required) This is a unique user defined label of the replication location. It is used to identify the location in the replication configurations. */ label: pulumi.Input; /** * -(Optional) Specifies the replication sub-locations where recovery points can be created or replicated. */ replicationSubLocation?: pulumi.Input; } export interface ProtectionPolicyV2ReplicationLocationReplicationSubLocation { /** * -(Optional) External identifier of the clusters. */ clusterExtIds: pulumi.Input; } export interface ProtectionPolicyV2ReplicationLocationReplicationSubLocationClusterExtIds { /** * -(Optional) External identifier of the clusters. */ clusterExtIds: pulumi.Input[]>; } export interface ProtectionRuleAvailabilityZoneConnectivityList { destinationAvailabilityZoneIndex?: pulumi.Input; snapshotScheduleLists?: pulumi.Input[] | undefined>; sourceAvailabilityZoneIndex?: pulumi.Input; } export interface ProtectionRuleAvailabilityZoneConnectivityListSnapshotScheduleList { autoSuspendTimeoutSecs?: pulumi.Input; localSnapshotRetentionPolicy?: pulumi.Input; recoveryPointObjectiveSecs: pulumi.Input; remoteSnapshotRetentionPolicy?: pulumi.Input; snapshotType?: pulumi.Input; } export interface ProtectionRuleAvailabilityZoneConnectivityListSnapshotScheduleListLocalSnapshotRetentionPolicy { numSnapshots?: pulumi.Input; rollupRetentionPolicyMultiple?: pulumi.Input; rollupRetentionPolicySnapshotIntervalType?: pulumi.Input; } export interface ProtectionRuleAvailabilityZoneConnectivityListSnapshotScheduleListRemoteSnapshotRetentionPolicy { numSnapshots?: pulumi.Input; rollupRetentionPolicyMultiple?: pulumi.Input; rollupRetentionPolicySnapshotIntervalType?: pulumi.Input; } export interface ProtectionRuleCategory { /** * The name for the protection rule. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface ProtectionRuleCategoryFilter { kindLists?: pulumi.Input[] | undefined>; params?: pulumi.Input[] | undefined>; type?: pulumi.Input; } export interface ProtectionRuleCategoryFilterParam { /** * The name for the protection rule. */ name: pulumi.Input; values: pulumi.Input[]>; } export interface ProtectionRuleOrderedAvailabilityZoneList { availabilityZoneUrl?: pulumi.Input; clusterUuid?: pulumi.Input; } export interface ProtectionRuleOwnerReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the protection rule. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface ProtectionRuleProjectReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the protection rule. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanCategory { /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface RecoveryPlanOwnerReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParameters { floatingIpAssignmentLists?: pulumi.Input[] | undefined>; networkMappingLists?: pulumi.Input[] | undefined>; } export interface RecoveryPlanParametersFloatingIpAssignmentList { availabilityZoneUrl: pulumi.Input; vmIpAssignmentLists: pulumi.Input[]>; } export interface RecoveryPlanParametersFloatingIpAssignmentListVmIpAssignmentList { recoveryFloatingIpConfig?: pulumi.Input; testFloatingIpConfig?: pulumi.Input; vmNicInformation: pulumi.Input; vmReference: pulumi.Input; } export interface RecoveryPlanParametersFloatingIpAssignmentListVmIpAssignmentListRecoveryFloatingIpConfig { ip?: pulumi.Input; shouldAllocateDynamically?: pulumi.Input; } export interface RecoveryPlanParametersFloatingIpAssignmentListVmIpAssignmentListTestFloatingIpConfig { ip?: pulumi.Input; shouldAllocateDynamically?: pulumi.Input; } export interface RecoveryPlanParametersFloatingIpAssignmentListVmIpAssignmentListVmNicInformation { ip?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface RecoveryPlanParametersFloatingIpAssignmentListVmIpAssignmentListVmReference { /** * (Required) The kind name (Default value: `project`). */ kind: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingList { areNetworksStretched?: pulumi.Input; availabilityZoneNetworkMappingLists?: pulumi.Input[] | undefined>; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingList { availabilityZoneUrl?: pulumi.Input; clusterReferenceLists?: pulumi.Input[] | undefined>; recoveryIpAssignmentLists?: pulumi.Input[] | undefined>; recoveryNetwork?: pulumi.Input; testIpAssignmentLists?: pulumi.Input[] | undefined>; testNetwork?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListClusterReferenceList { /** * (Required) The kind name (Default value: `project`). */ kind: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryIpAssignmentList { ipConfigLists: pulumi.Input[]>; vmReference: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryIpAssignmentListIpConfigList { ipAddress: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryIpAssignmentListVmReference { /** * (Required) The kind name (Default value: `project`). */ kind: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryNetwork { /** * The name for the Recovery Plan. */ name?: pulumi.Input; subnetLists?: pulumi.Input[] | undefined>; useVpcReference?: pulumi.Input; virtualNetworkReference?: pulumi.Input; vpcReference?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryNetworkSubnetList { externalConnectivityState?: pulumi.Input; gatewayIp: pulumi.Input; prefixLength: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryNetworkVirtualNetworkReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListRecoveryNetworkVpcReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestIpAssignmentList { ipConfigLists: pulumi.Input[]>; vmReference: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestIpAssignmentListIpConfigList { ipAddress: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestIpAssignmentListVmReference { /** * (Required) The kind name (Default value: `project`). */ kind: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestNetwork { /** * The name for the Recovery Plan. */ name?: pulumi.Input; subnetLists?: pulumi.Input[] | undefined>; useVpcReference?: pulumi.Input; virtualNetworkReference?: pulumi.Input; vpcReference?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestNetworkSubnetList { externalConnectivityState?: pulumi.Input; gatewayIp: pulumi.Input; prefixLength: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestNetworkVirtualNetworkReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanParametersNetworkMappingListAvailabilityZoneNetworkMappingListTestNetworkVpcReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanProjectReference { /** * (Required) The kind name (Default value: `project`). */ kind?: pulumi.Input; /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * (Required) the UUID. */ uuid?: pulumi.Input; } export interface RecoveryPlanStageList { delayTimeSecs?: pulumi.Input; stageUuid?: pulumi.Input; stageWork: pulumi.Input; } export interface RecoveryPlanStageListStageWork { recoverEntities?: pulumi.Input; } export interface RecoveryPlanStageListStageWorkRecoverEntities { entityInfoLists?: pulumi.Input[] | undefined>; } export interface RecoveryPlanStageListStageWorkRecoverEntitiesEntityInfoList { anyEntityReferenceKind?: pulumi.Input; anyEntityReferenceName?: pulumi.Input; anyEntityReferenceUuid?: pulumi.Input; categories?: pulumi.Input[] | undefined>; scriptLists?: pulumi.Input[] | undefined>; } export interface RecoveryPlanStageListStageWorkRecoverEntitiesEntityInfoListCategory { /** * The name for the Recovery Plan. */ name?: pulumi.Input; /** * value of the key. */ value?: pulumi.Input; } export interface RecoveryPlanStageListStageWorkRecoverEntitiesEntityInfoListScriptList { enableScriptExec: pulumi.Input; timeout?: pulumi.Input; } export interface RecoveryPointRestoreV2VmRecoveryPointRestoreOverride { /** * -(Required) External identifier of a VM recovery point, that is a part of the top-level recovery point. */ vmRecoveryPointExtId: pulumi.Input; } export interface RecoveryPointRestoreV2VolumeGroupRecoveryPointRestoreOverride { /** * -(Optional) Protected resource/recovery point restore that overrides the volume group configuration. The specified properties will be overridden for the restored volume group. */ volumeGroupOverrideSpecs?: pulumi.Input[] | undefined>; /** * -(Required) External identifier of a volume group recovery point, that is a part of the top-level recovery point. */ volumeGroupRecoveryPointExtId: pulumi.Input; } export interface RecoveryPointRestoreV2VolumeGroupRecoveryPointRestoreOverrideVolumeGroupOverrideSpec { /** * -(Optional) The name of the restored volume group. */ name?: pulumi.Input; } export interface RecoveryPointsV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface RecoveryPointsV2LocationReference { /** * External identifier of the cluster where the recovery point is present. */ locationExtId?: pulumi.Input; } export interface RecoveryPointsV2VmRecoveryPoint { /** * User-defined application-consistent properties for the recovery point. */ applicationConsistentProperties?: pulumi.Input[] | undefined>; /** * External identifier of the Consistency group which the entity was part of at the time of recovery point creation. */ consistencyGroupExtId?: pulumi.Input; /** * The UTC date and time in ISO-8601 format when the Recovery point is created. */ creationTime?: pulumi.Input; /** * array of disk recovery points. */ diskRecoveryPoints?: pulumi.Input[] | undefined>; /** * The UTC date and time in ISO-8601 format when the current Recovery point expires and will be garbage collected. */ expirationTime?: pulumi.Input; /** * recovery point UUID */ extId?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Location agnostic identifier of the recovery point. This identifier is used to identify the same instances of a recovery point across different sites. */ locationAgnosticId?: pulumi.Input; /** * The name of the Recovery point. */ name?: pulumi.Input; /** * Type of the Recovery point. */ recoveryPointType?: pulumi.Input; /** * The status of the Recovery point, which indicates whether this Recovery point is fit to be consumed. * * supported values: * * `COMPLETE`: - The Recovery point is in a complete state and ready to be consumed. */ status?: pulumi.Input; /** * A globally unique identifier that represents the tenant that owns this entity */ tenantId?: pulumi.Input; /** * Category key-value pairs associated with the VM at the time of recovery point creation. The category key and value are separated by '/'. For example, a category with key 'dept' and value 'hr' is displayed as 'dept/hr'. */ vmCategories?: pulumi.Input[] | undefined>; /** * VM external identifier which is captured as a part of this recovery point. */ vmExtId: pulumi.Input; } export interface RecoveryPointsV2VmRecoveryPointApplicationConsistentProperty { /** * -(Required) The backup type specifies the criteria for identifying the files to be backed up. This property should be specified to the application-consistent recovery points for Windows VMs/agents. The following backup types are supported for the application-consistent recovery points: * * supported values: * * `FULL_BACKUP`: - All the files are backed up irrespective of their last backup date/time or state. Also, this backup type updates the backup history of each file that participated in the recovery point. If not explicitly specified, this is the default backup type. * * `COPY_BACKUP`: - this backup type does not update the backup history of individual files involved in the recovery point. */ backupType: pulumi.Input; /** * -(Required) value: `dataprotection.v4.common.VssProperties` */ objectType: pulumi.Input; /** * -(Optional) Indicates whether the given set of VSS writers' UUIDs should be included or excluded from the application consistent recovery point. By default, the value is set to false, indicating that all listed VSS writers' UUIDs will be excluded. */ shouldIncludeWriters?: pulumi.Input; /** * -(Optional) Indicates whether to store the VSS metadata if the user is interested in application-specific backup/restore. The VSS metadata consists of VSS writers and requester metadata details. These are compressed into a cabinet file(.cab file) during a VSS backup operation. This cabinet file must be saved to the backup media during a backup operation, as it is required during the restore operation. */ shouldStoreVssMetadata?: pulumi.Input; /** * -(Optional) List of VSS writer UUIDs that are used in an application consistent recovery point. The default values are the system and the registry writer UUIDs. */ writers?: pulumi.Input[] | undefined>; } export interface RecoveryPointsV2VmRecoveryPointDiskRecoveryPoint { /** * External identifier of the disk. */ diskExtId?: pulumi.Input; /** * External identifier of the disk recovery point. */ diskRecoveryPointExtId?: pulumi.Input; } export interface RecoveryPointsV2VmRecoveryPointLink { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface RecoveryPointsV2VolumeGroupRecoveryPoint { /** * External identifier of the Consistency group which the entity was part of at the time of recovery point creation. */ consistencyGroupExtId?: pulumi.Input; /** * array of disk recovery points. */ diskRecoveryPoints?: pulumi.Input[] | undefined>; /** * recovery point UUID */ extId?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Location agnostic identifier of the recovery point. This identifier is used to identify the same instances of a recovery point across different sites. */ locationAgnosticId?: pulumi.Input; /** * A globally unique identifier that represents the tenant that owns this entity */ tenantId?: pulumi.Input; /** * Category key-value pairs associated with the volume group at the time of recovery point creation. The category key and value are separated by '/'. For example, a category with key 'dept' and value 'hr' will be represented as 'dept/hr'. */ volumeGroupCategories?: pulumi.Input[] | undefined>; /** * Volume Group external identifier which is captured as part of this recovery point. */ volumeGroupExtId: pulumi.Input; } export interface RecoveryPointsV2VolumeGroupRecoveryPointDiskRecoveryPoint { /** * External identifier of the disk. */ diskExtId?: pulumi.Input; /** * External identifier of the disk recovery point. */ diskRecoveryPointExtId?: pulumi.Input; } export interface RecoveryPointsV2VolumeGroupRecoveryPointLink { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface RoleCategory { /** * - (Optional) Name of the role. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface RoleOwnerReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the role. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface RolePermissionReferenceList { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the role. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface RoleProjectReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Optional) Name of the role. */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface RolesV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface RoutesV2Destination { /** * IPv4 Subnet Object * - `ipv4.ip`: (Required) An unique address that identifies a device on the internet or a local network in IPv4 format. * - `ipv4.ip.value`: (Required) The IPv4 address of the host. * - `ipv4.ip.prefix_length`: (Optional) The prefix length of the network to which this host IPv4 address belongs. * - `ipv4.prefix_length`: (Required) The prefix length of the network to which this host IPv4 address belongs. */ ipv4?: pulumi.Input; /** * IPv6 Subnet Object * - `ipv6.ip`: (Required) IP address format * - `ipv6.ip.value`: (Required) The IPv6 address of the host. * - `ipv6.ip.prefix_length`: (Optional) The prefix length of the network to which this host IPv6 address belongs. * - `ipv6.prefix_length`: (Required) The prefix length of the network to which this host IPv6 address belongs. */ ipv6?: pulumi.Input; } export interface RoutesV2DestinationIpv4 { ip: pulumi.Input; /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; } export interface RoutesV2DestinationIpv4Ip { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of IP address */ value: pulumi.Input; } export interface RoutesV2DestinationIpv6 { ip: pulumi.Input; /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; } export interface RoutesV2DestinationIpv6Ip { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of IP address */ value: pulumi.Input; } export interface RoutesV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface RoutesV2Metadata { /** * A list of globally unique identifiers that represent all the categories the resource is associated with. */ categoryIds?: pulumi.Input[] | undefined>; /** * A globally unique identifier that represents the owner of this resource. */ ownerReferenceId?: pulumi.Input; /** * The userName of the owner of this resource. */ ownerUserName?: pulumi.Input; /** * The name of the project this resource belongs to. */ projectName?: pulumi.Input; /** * A globally unique identifier that represents the project this resource belongs to. */ projectReferenceId?: pulumi.Input; } export interface RoutesV2NextHop { nextHopIpAddresses?: pulumi.Input[] | undefined>; nextHopName?: pulumi.Input; nextHopReference?: pulumi.Input; nextHopType: pulumi.Input; } export interface RoutesV2NextHopNextHopIpAddress { /** * IPv4 Address */ ipv4: pulumi.Input; /** * IPv6 Address */ ipv6: pulumi.Input; } export interface RoutesV2NextHopNextHopIpAddressIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of IP address */ value: pulumi.Input; } export interface RoutesV2NextHopNextHopIpAddressIpv6 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of IP address */ value: pulumi.Input; } export interface SamlIdentityProvidersV2IdpMetadata { /** * - Certificate for verification. */ certificate: pulumi.Input; /** * - Entity Identifier of Identity provider. */ entityId: pulumi.Input; /** * - Error URL of the Identity provider. */ errorUrl?: pulumi.Input; /** * - Login URL of the Identity provider. */ loginUrl: pulumi.Input; /** * - Logout URL of the Identity provider. */ logoutUrl?: pulumi.Input; /** * - Name ID Policy format. * * supported values: * * `emailAddress`: - Uses email address as NameID format */ nameIdPolicyFormat?: pulumi.Input; } export interface SelfServiceAppPatchCategory { /** * - (Optional) The operation to perform on the category. (e.g. "add", "delete") */ operation: pulumi.Input; /** * - (Optional, string) The value of the category. A Key:Value pair (e.g. "AppType:Oracle_DB"). There should not be any space in value. */ value?: pulumi.Input; } export interface SelfServiceAppPatchDisk { /** * - (Optional, integer) The size of the disk to allocate (in MiB). */ diskSizeMib?: pulumi.Input; /** * - (Optional) The operation to perform on the category. (e.g. "add", "delete") */ operation: pulumi.Input; } export interface SelfServiceAppPatchNic { /** * - (Optional, string) The index of the NIC. A dummy string for now. */ index?: pulumi.Input; /** * - (Optional) The operation to perform on the category. (e.g. "add", "delete") */ operation?: pulumi.Input; /** * - (Optional, string) The UUID of the subnet to which the NIC should be attached. */ subnetUuid?: pulumi.Input; } export interface SelfServiceAppPatchVmConfig { /** * - (Optional, integer) The amount of memory (in MiB) to allocate for the VM. */ memorySizeMib?: pulumi.Input; /** * - (Optional, integer) The number of vCPUs to assign. */ numSockets?: pulumi.Input; /** * - (Optional, integer) The number of cores per vCPU to assign to the VM. */ numVcpusPerSocket?: pulumi.Input; } export interface SelfServiceAppProvisionAction { /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; } export interface SelfServiceAppProvisionAppSummary { /** * The profile assigned to the application. */ applicationProfile?: pulumi.Input; /** * The UUID of the application. */ applicationUuid?: pulumi.Input; /** * The blueprint associated with the application. */ blueprint?: pulumi.Input; /** * The timestamp when the application was created. */ createdOn?: pulumi.Input; /** * The timestamp when the application was last updated. */ lastUpdatedOn?: pulumi.Input; /** * The owner of the application. */ owner?: pulumi.Input; /** * The project associated with the application. */ project?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditable { /** * - A list of actions associated with the blueprint. Each action contains runtime specifications (defined in RuntimeSpec). */ actionLists?: pulumi.Input[] | undefined>; /** * - A list of application profiles associated with the blueprint. Each application profile contains runtime specifications (defined in RuntimeSpec). */ appProfile?: pulumi.Input; /** * - A list of credentials associated with the blueprint. Each credential contains runtime specifications (defined in RuntimeSpec). */ credentialLists?: pulumi.Input[] | undefined>; /** * - A list of deployments associated with the blueprint. Each deployment contains runtime specifications (defined in RuntimeSpec). */ deploymentLists?: pulumi.Input[] | undefined>; /** * - A list of packages associated with the blueprint. Each package contains runtime specifications (defined in RuntimeSpec). */ packageLists?: pulumi.Input[] | undefined>; /** * - A list of restore configurations associated with the blueprint. Each restore configuration contains runtime specifications (defined in RuntimeSpec). */ restoreConfigLists?: pulumi.Input[] | undefined>; /** * - A list of services associated with the blueprint. Each service contains runtime specifications (defined in RuntimeSpec). */ serviceLists?: pulumi.Input[] | undefined>; /** * - A list of snapshot configurations associated with the blueprint. Each snapshot configuration contains runtime specifications (defined in RuntimeSpec). */ snapshotConfigLists?: pulumi.Input[] | undefined>; /** * - A list of substrates associated with the blueprint. Each substrate contains runtime specifications (defined in RuntimeSpec). */ substrateLists?: pulumi.Input[] | undefined>; /** * - A list of tasks associated with the blueprint. Each task contains runtime specifications (defined in RuntimeSpec). */ taskLists?: pulumi.Input[] | undefined>; /** * - A list of variables associated with the blueprint. Each variable contains runtime specifications (defined in RuntimeSpec). */ variableLists?: pulumi.Input[] | undefined>; } export interface SelfServiceAppProvisionRuntimeEditableActionList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableAppProfile { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableCredentialList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableDeploymentList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditablePackageList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableRestoreConfigList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableServiceList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableSnapshotConfigList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableSubstrateList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableTaskList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionRuntimeEditableVariableList { /** * (Optional, Computed) The context in which the runtime specification is applied. It is full address of where the entity in target is present. */ context?: pulumi.Input; /** * description of the action */ description?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; /** * UUID of the action. */ uuid?: pulumi.Input; /** * (Optional, Computed) The value associated with the runtime specification. This can be a string value representing a configuration or setting. */ value?: pulumi.Input; } export interface SelfServiceAppProvisionVm { /** * - A map of categories applied to the VM. Each key is a category name, and the value is the category value. */ categories?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * - Cluster-related information for the VM. */ clusterInfos?: pulumi.Input[] | undefined>; /** * - Configuration details for the VM. */ configurations?: pulumi.Input[] | undefined>; /** * - A list of network interfaces attached to the VM. */ nics?: pulumi.Input[] | undefined>; } export interface SelfServiceAppProvisionVmClusterInfo { /** * - The name of the cluster. */ clusterName?: pulumi.Input; /** * - The UUID of the cluster. */ clusterUuid?: pulumi.Input; } export interface SelfServiceAppProvisionVmConfiguration { /** * - Number of CPU cores. */ cores?: pulumi.Input; /** * - The VM image used. */ image?: pulumi.Input; /** * - IP address of the VM. */ ipAddress?: pulumi.Input; /** * - Memory allocated to the VM. */ memory?: pulumi.Input; /** * name of action. */ name?: pulumi.Input; /** * - Number of virtual CPUs assigned to the VM. */ vcpus?: pulumi.Input; /** * - The UUID of the VM. */ vmUuid?: pulumi.Input; } export interface SelfServiceAppProvisionVmNic { /** * - The MAC address of the VM's network interface. */ macAddress?: pulumi.Input; /** * - The subnet the VM's network interface is attached to. */ subnet?: pulumi.Input; /** * - The type of network interface. */ type?: pulumi.Input; } export interface ServiceGroupServiceList { /** * - (Optional) ICMP type code list */ icmpTypeCodeLists?: pulumi.Input[] | undefined>; /** * - (Optional) The UserPrincipalName of the user from the directory service. */ protocol?: pulumi.Input; /** * - (Optional) TCP Port range list */ tcpPortRangeLists?: pulumi.Input[] | undefined>; /** * - (Optional) UDP port range list */ udpPortRangeLists?: pulumi.Input[] | undefined>; } export interface ServiceGroupServiceListIcmpTypeCodeList { /** * - (Optional) Code as text */ code?: pulumi.Input; /** * - (Optional) Type as text */ type?: pulumi.Input; } export interface ServiceGroupServiceListTcpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface ServiceGroupServiceListUdpPortRangeList { endPort?: pulumi.Input; startPort?: pulumi.Input; } export interface ServiceGroupsV2IcmpService { /** * Icmp service Code. Ignore this field if Code has to be ANY */ code?: pulumi.Input; /** * Set this field to true if both Type and Code is ANY. Default is False. */ isAllAllowed?: pulumi.Input; /** * Icmp service Type. Ignore this field if Type has to be ANY. */ type?: pulumi.Input; } export interface ServiceGroupsV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface ServiceGroupsV2TcpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface ServiceGroupsV2UdpService { /** * end port */ endPort: pulumi.Input; /** * start port */ startPort: pulumi.Input; } export interface StaticRoutesDefaultRouteNexthop { /** * Reference to a subnet. */ externalSubnetReferenceUuid?: pulumi.Input; } export interface StaticRoutesStaticRoutesList { /** * Destination ip with prefix. */ destination: pulumi.Input; /** * Reference to a subnet. Supported with 2022.x . */ externalSubnetReferenceUuid?: pulumi.Input; /** * Reference to a vpn connection. */ vpnConnectionReferenceUuid?: pulumi.Input; } export interface StorageContainersV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface StorageContainersV2NfsWhitelistAddress { /** * Reference to address configuration */ fqdns?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface StorageContainersV2NfsWhitelistAddressFqdn { /** * value of fqdn address */ value?: pulumi.Input; } export interface StorageContainersV2NfsWhitelistAddressIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of fqdn address */ value?: pulumi.Input; } export interface StorageContainersV2NfsWhitelistAddressIpv6 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * value of fqdn address */ value?: pulumi.Input; } export interface StoragePolicyV2CompressionSpec { /** * - (Required) Controls enabling or disabling compression. If no explicit preference is set, the system chooses a value. * Valid values: * * `"DISABLED"`:- User wants data not compressed. * * `"POSTPROCESS"`:- User wants data compressed later. * * `"INLINE"`:- User wants data compressed inline. * * `"SYSTEM_DERIVED"`:- User is not interested in compression; system decides. */ compressionState: pulumi.Input; } export interface StoragePolicyV2EncryptionSpec { /** * - (Required) Controls enabling encryption. Once enabled, it cannot be disabled. If no explicit preference is set, the system decides. * Valid values: * * `"SYSTEM_DERIVED"`:- User is not interested in encryption; system decides. * * `"ENABLED"`:- User wants data encrypted. * * > **Note**: Once `encryptionState` is explicitly set to `ENABLED`, it cannot be reverted back to a system-derived value. */ encryptionState: pulumi.Input; } export interface StoragePolicyV2FaultToleranceSpec { /** * - (Required) Specifies the number of data copies for entities governed by the Storage Policy. * Valid values: * * `"SYSTEM_DERIVED"`:- User has not provided the number of copies; system decides. * * `"TWO"`:- Two data copies (Original + 1 copy). * * `"THREE"`:- Three data copies (Original + 2 copies). */ replicationFactor: pulumi.Input; } export interface StoragePolicyV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface StoragePolicyV2QosSpec { /** * - (Required) Specifies throttled IOPS for governed entities. The block size for IO is 32kB. Valid range: 100 to 2147483647. */ throttledIops: pulumi.Input; } export interface SubnetCategory { /** * - (Optional) Subnet name (Readonly). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface SubnetV2DhcpOption { /** * Boot file name */ bootFileName?: pulumi.Input; /** * The DNS domain name of the client. */ domainName?: pulumi.Input; /** * List of Domain Name Server addresses. */ domainNameServers?: pulumi.Input[] | undefined>; /** * List of NTP server addresses */ ntpServers?: pulumi.Input[] | undefined>; /** * The DNS domain search list. */ searchDomains?: pulumi.Input[] | undefined>; /** * TFTP server name */ tftpServerName?: pulumi.Input; } export interface SubnetV2DhcpOptionDomainNameServer { /** * IPv4 Object. Reference to address configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. Reference to address configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2DhcpOptionDomainNameServerIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2DhcpOptionDomainNameServerIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2DhcpOptionNtpServer { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2DhcpOptionNtpServerIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2DhcpOptionNtpServerIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2DynamicIpAddress { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2DynamicIpAddressIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2DynamicIpAddressIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfig { /** * IP V4 configuration. */ ipv4s?: pulumi.Input[] | undefined>; /** * IP V6 configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2IpConfigIpv4 { /** * Reference to address configuration */ defaultGatewayIps?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ dhcpServerAddresses?: pulumi.Input[] | undefined>; /** * subnet ip */ ipSubnets?: pulumi.Input[] | undefined>; /** * Pool of IP addresses from where IPs are allocated. */ poolLists?: pulumi.Input[] | undefined>; } export interface SubnetV2IpConfigIpv4DefaultGatewayIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv4DhcpServerAddress { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv4IpSubnet { /** * Reference to address configuration */ ips?: pulumi.Input[] | undefined>; /** * The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; } export interface SubnetV2IpConfigIpv4IpSubnetIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv4PoolList { /** * Reference to address configuration */ endIps?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ startIps?: pulumi.Input[] | undefined>; } export interface SubnetV2IpConfigIpv4PoolListEndIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv4PoolListStartIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv6 { /** * Reference to address configuration */ defaultGatewayIps?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ dhcpServerAddresses?: pulumi.Input[] | undefined>; /** * subnet ip */ ipSubnets?: pulumi.Input[] | undefined>; /** * Pool of IP addresses from where IPs are allocated. */ poolLists?: pulumi.Input[] | undefined>; } export interface SubnetV2IpConfigIpv6DefaultGatewayIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv6DhcpServerAddress { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv6IpSubnet { /** * Reference to address configuration */ ips?: pulumi.Input[] | undefined>; /** * The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; } export interface SubnetV2IpConfigIpv6IpSubnetIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv6PoolList { /** * Reference to address configuration */ endIps?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ startIps?: pulumi.Input[] | undefined>; } export interface SubnetV2IpConfigIpv6PoolListEndIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpConfigIpv6PoolListStartIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpUsage { ipPoolUsages?: pulumi.Input[] | undefined>; numAssignedIps?: pulumi.Input; numFreeIps?: pulumi.Input; numMacs?: pulumi.Input; } export interface SubnetV2IpUsageIpPoolUsage { numFreeIps?: pulumi.Input; numTotalIps?: pulumi.Input; ranges?: pulumi.Input[] | undefined>; } export interface SubnetV2IpUsageIpPoolUsageRange { /** * Reference to address configuration */ endIps?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ startIps?: pulumi.Input[] | undefined>; } export interface SubnetV2IpUsageIpPoolUsageRangeEndIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2IpUsageIpPoolUsageRangeStartIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface SubnetV2Metadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface SubnetV2ReservedIpAddress { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VirtualSwitch { /** * The types of bond modes */ bondMode?: pulumi.Input; /** * Cluster configuration list */ clusters?: pulumi.Input[] | undefined>; /** * Input body to configure a Virtual Switch */ description?: pulumi.Input; extId?: pulumi.Input; /** * When true, the node is not put in maintenance mode during the create/update operation. */ hasDeploymentError?: pulumi.Input; /** * Indicates whether it is a default Virtual Switch which cannot be deleted */ isDefault?: pulumi.Input; links?: pulumi.Input[] | undefined>; metadatas?: pulumi.Input[] | undefined>; /** * MTU */ mtu?: pulumi.Input; /** * User-visible Virtual Switch name */ name?: pulumi.Input; tenantId?: pulumi.Input; } export interface SubnetV2VirtualSwitchCluster { /** * Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central */ extId?: pulumi.Input; /** * Reference to address configuration */ gatewayIpAddresses?: pulumi.Input[] | undefined>; /** * Host configuration array */ hosts?: pulumi.Input[] | undefined>; } export interface SubnetV2VirtualSwitchClusterGatewayIpAddress { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VirtualSwitchClusterHost { /** * Reference to the host */ extId?: pulumi.Input; /** * Host NIC array */ hostNics?: pulumi.Input[] | undefined>; internalBridgeName?: pulumi.Input; /** * Ip Address config. * - `ip_address.ip`: (Required) Reference to address configuration * - `ip_address.prefix_length`: (Required) prefix length of address. */ ipAddresses?: pulumi.Input[] | undefined>; routeTable?: pulumi.Input; } export interface SubnetV2VirtualSwitchClusterHostIpAddress { /** * Reference to address configuration */ ips?: pulumi.Input[] | undefined>; prefixLength?: pulumi.Input; } export interface SubnetV2VirtualSwitchClusterHostIpAddressIp { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VirtualSwitchLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface SubnetV2VirtualSwitchMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface SubnetV2Vpc { /** * List of DHCP options to be configured. */ commonDhcpOptions?: pulumi.Input[] | undefined>; /** * Description of the VPC. */ description?: pulumi.Input; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * External routing domain associated with this route table */ externalRoutingDomainReference?: pulumi.Input; /** * List of external subnets that the VPC is attached to. */ externalSubnets?: pulumi.Input[] | undefined>; /** * CIDR blocks from the VPC which can talk externally without performing NAT. This is applicable when connecting to external subnets which have disabled NAT. */ externallyRoutablePrefixes?: pulumi.Input[] | undefined>; links?: pulumi.Input[] | undefined>; metadatas?: pulumi.Input[] | undefined>; /** * Name of the VPC. */ name?: pulumi.Input; snatIps?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * Type of VPC. Acceptables values are "REGULAR" , "TRANSIT". */ vpcType?: pulumi.Input; } export interface SubnetV2VpcCommonDhcpOption { /** * List of Domain Name Server addresses. * - `domain_name_servers.ipv4`: (Optional) Reference to address configuration * - `domain_name_servers.ipv6`: (Optional) Reference to address configuration */ domainNameServers?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcCommonDhcpOptionDomainNameServer { /** * IPv4 Object. Reference to address configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * IPv6 Object. Reference to address configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcCommonDhcpOptionDomainNameServerIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcCommonDhcpOptionDomainNameServerIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternalSubnet { activeGatewayCount?: pulumi.Input; /** * Reference of gateway nodes */ activeGatewayNodes?: pulumi.Input[] | undefined>; /** * List of IP Addresses used for SNAT, if NAT is enabled on the external subnet. If NAT is not enabled, this specifies the IP address of the VPC port connected to the external gateway. */ externalIps?: pulumi.Input[] | undefined>; /** * List of gateway nodes that can be used for external connectivity. */ gatewayNodes?: pulumi.Input[] | undefined>; /** * External subnet reference. */ subnetReference?: pulumi.Input; } export interface SubnetV2VpcExternalSubnetActiveGatewayNode { /** * Node id */ nodeId?: pulumi.Input; /** * An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. * - `node_ip_address.ipv4`: (Optional) Reference to address configuration * - `node_ip_address.ipv6`: (Optional) Reference to address configuration */ nodeIpAddresses?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcExternalSubnetActiveGatewayNodeNodeIpAddress { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternalSubnetActiveGatewayNodeNodeIpAddressIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternalSubnetExternalIp { /** * Reference to address configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcExternalSubnetExternalIpIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternalSubnetExternalIpIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternallyRoutablePrefix { /** * IP v4 subnet * - `ipv4.ip`: (Required) Reference to address configuration * - `ipv4.prefix_length`: (Required) The prefix length of the network. */ ipv4s?: pulumi.Input[] | undefined>; /** * IP v6 subnet * - `ipv6.ip`: (Required) Reference to address configuration * - `ipv6.prefix_length`: (Required) The prefix length of the network. */ ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcExternallyRoutablePrefixIpv4 { /** * Reference to address configuration */ ips?: pulumi.Input[] | undefined>; /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; } export interface SubnetV2VpcExternallyRoutablePrefixIpv4Ip { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcExternallyRoutablePrefixIpv6 { /** * Reference to address configuration */ ips?: pulumi.Input[] | undefined>; prefixLength?: pulumi.Input; } export interface SubnetV2VpcExternallyRoutablePrefixIpv6Ip { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface SubnetV2VpcMetadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface SubnetV2VpcSnatIp { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface SubnetV2VpcSnatIpIpv4 { /** * The prefix length of the network to which this host IPv4/IPv6 address belongs. Default value is 32. */ prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface SubnetV2VpcSnatIpIpv6 { prefixLength?: pulumi.Input; /** * value of address */ value?: pulumi.Input; } export interface TemplateV2CreatedBy { additionalAttributes?: pulumi.Input[] | undefined>; creationType?: pulumi.Input; /** * VM description */ description?: pulumi.Input; displayName?: pulumi.Input; emailId?: pulumi.Input; extId?: pulumi.Input; firstName?: pulumi.Input; idpId?: pulumi.Input; isForceResetPasswordEnabled?: pulumi.Input; lastName?: pulumi.Input; locale?: pulumi.Input; middleInitial?: pulumi.Input; password?: pulumi.Input; region?: pulumi.Input; status?: pulumi.Input; userType: pulumi.Input; username: pulumi.Input; } export interface TemplateV2CreatedByAdditionalAttribute { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2CreatedByAdditionalAttributeValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2CreatedByAdditionalAttributeValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2GuestUpdateStatus { deployedVmReference?: pulumi.Input; } export interface TemplateV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpec { createTime?: pulumi.Input; createdBies?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Default: `true` Specify whether to mark the template version as active or not. The newly created version during template creation, update, or guest OS update is set to active by default unless specified otherwise. */ isActiveVersion?: pulumi.Input; /** * Allow or disallow overriding guest customization during template deployment. * * `version_source.template_vm_reference`: (Optional) Template VM Reference * * `version_source.template_version_reference`: (Optional) Template Version Reference */ isGcOverrideEnabled?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * The user defined description of a Template Version. Version description `Required` when updating a Template Version. */ versionDescription?: pulumi.Input; /** * The user defined name of a Template Version. Version name `Required` when updating a Template Version. */ versionName?: pulumi.Input; /** * Source of the created Template Version. The source can either be a VM when creating a new Template Version or an existing Version within a Template when creating a new Version. Either `templateVmReference` or `templateVersionReference` . */ versionSource: pulumi.Input; /** * Source type of the template version created. It can be either a VM or a template version. */ versionSourceDiscriminator?: pulumi.Input; /** * Specification for a VM. */ vmSpecs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecCreatedBy { additionalAttributes?: pulumi.Input[] | undefined>; creationType?: pulumi.Input; /** * VM description */ description?: pulumi.Input; displayName?: pulumi.Input; emailId?: pulumi.Input; extId?: pulumi.Input; firstName?: pulumi.Input; idpId?: pulumi.Input; isForceResetPasswordEnabled?: pulumi.Input; lastName?: pulumi.Input; locale?: pulumi.Input; middleInitial?: pulumi.Input; password?: pulumi.Input; region?: pulumi.Input; status?: pulumi.Input; userType: pulumi.Input; username: pulumi.Input; } export interface TemplateV2TemplateVersionSpecCreatedByAdditionalAttribute { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecCreatedByAdditionalAttributeValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecCreatedByAdditionalAttributeValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSource { templateVersionReference?: pulumi.Input; templateVmReference?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReference { /** * Overrides specification for VM create from a Template. */ overrideVmConfigs: pulumi.Input[]>; /** * The identifier of a Template Version. by default it will be the latest version of the template. */ versionId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfig { /** * Stage a Sysprep or cloud-init configuration file to be used by the guest for the next boot. Note that the Sysprep command must be used to generalize the Windows VMs before triggering this API call. */ guestCustomizations?: pulumi.Input[] | undefined>; /** * Memory size in bytes. */ memorySizeBytes?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; /** * NICs attached to the VM. */ nics?: pulumi.Input[] | undefined>; /** * Number of cores per socket. */ numCoresPerSocket?: pulumi.Input; /** * Number of vCPU sockets. */ numSockets?: pulumi.Input; /** * Number of threads per core. */ numThreadsPerCore?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomization { /** * The Nutanix Guest Tools customization settings. * * * `config.sysprep`: (Optional) Sysprep config * * `config.cloud_init`: (Optional) CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInit { /** * The script to use for cloud-init. * * `cloud_init_script.user_data`: (Optional) user data object * * `cloud_init_script.custom_keys`: (Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprep { /** * Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Values allowed is 'PREPARED', 'FRESH'. */ installType?: pulumi.Input; /** * Object either UnattendXml or CustomKeyValues * * `sysprep_script.unattend_xml`: (Optional) xml object * * `sysprep_script.custom_key_values`: (Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigGuestCustomizationConfigSysprepSysprepScriptUnattendXml { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicBackingInfo { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoDpOffloadNicDpOffloadProfileReference { extId: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoDpOffloadNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoSriovNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoSriovNicSriovProfileReference { extId: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicBackingInfoVirtualEthernetNic { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVersionReferenceOverrideVmConfigNicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReference { extId: pulumi.Input; guestCustomizations?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomization { /** * The Nutanix Guest Tools customization settings. * * * `config.sysprep`: (Optional) Sysprep config * * `config.cloud_init`: (Optional) CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInit { /** * The script to use for cloud-init. * * `cloud_init_script.user_data`: (Optional) user data object * * `cloud_init_script.custom_keys`: (Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprep { /** * Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Values allowed is 'PREPARED', 'FRESH'. */ installType?: pulumi.Input; /** * Object either UnattendXml or CustomKeyValues * * `sysprep_script.unattend_xml`: (Optional) xml object * * `sysprep_script.custom_key_values`: (Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVersionSourceTemplateVmReferenceGuestCustomizationConfigSysprepSysprepScriptUnattendXml { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpec { /** * Advanced Processor Compatibility configuration for the VM. Enabling this retains the CPU model for the VM across power cycles and migrations. */ apcConfigs?: pulumi.Input[] | undefined>; /** * Reference to an availability zone. */ availabilityZones?: pulumi.Input[] | undefined>; /** * BIOS UUID of the VM. It should be of type UUID. */ biosUuid?: pulumi.Input; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. */ bootConfigs?: pulumi.Input[] | undefined>; /** * Categories for the VM. */ categories?: pulumi.Input[] | undefined>; /** * CD-ROMs attached to the VM. */ cdRoms?: pulumi.Input[] | undefined>; /** * Reference to a cluster. */ clusters?: pulumi.Input[] | undefined>; createTime?: pulumi.Input; /** * VM description */ description?: pulumi.Input; /** * Disks attached to the VM. */ disks?: pulumi.Input[] | undefined>; /** * The list of additional CPU features to be enabled. HardwareVirtualization: Indicates whether hardware assisted virtualization should be enabled for the Guest OS or not. Once enabled, the Guest OS can deploy a nested hypervisor. Valid values are "HARDWARE_VIRTUALIZATION". */ enabledCpuFeatures?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Generation UUID of the VM. It should be of type UUID. */ generationUuid?: pulumi.Input; /** * GPUs attached to the VM. */ gpuses?: pulumi.Input[] | undefined>; /** * Stage a Sysprep or cloud-init configuration file to be used by the guest for the next boot. Note that the Sysprep command must be used to generalize the Windows VMs before triggering this API call. */ guestCustomizations?: pulumi.Input[] | undefined>; /** * The details about Nutanix Guest Tools for a VM. */ guestTools?: pulumi.Input[] | undefined>; /** * VM hardware clock timezone in IANA TZDB format (America/Los_Angeles). */ hardwareClockTimezone?: pulumi.Input; /** * Reference to the host, the VM is running on. */ hosts?: pulumi.Input[] | undefined>; /** * Indicates whether the VM is an agent VM or not. When their host enters maintenance mode, once the normal VMs are evacuated, the agent VMs are powered off. When the host is restored, agent VMs are powered on before the normal VMs are restored. In other words, agent VMs cannot be HA-protected or live migrated. */ isAgentVm?: pulumi.Input; /** * Indicates whether to remove AHV branding from VM firmware tables or not. */ isBrandingEnabled?: pulumi.Input; isCpuHotplugEnabled?: pulumi.Input; /** * Indicates whether to passthrough the host CPU features to the guest or not. Enabling this will make VM incapable of live migration. */ isCpuPassthroughEnabled?: pulumi.Input; isCrossClusterMigrationInProgress?: pulumi.Input; /** * Indicates whether the vGPU console is enabled or not. */ isGpuConsoleEnabled?: pulumi.Input; isLiveMigrateCapable?: pulumi.Input; /** * Indicates whether the memory overcommit feature should be enabled for the VM or not. If enabled, parts of the VM memory may reside outside of the hypervisor physical memory. Once enabled, it should be expected that the VM may suffer performance degradation. */ isMemoryOvercommitEnabled?: pulumi.Input; isScsiControllerEnabled?: pulumi.Input; /** * Indicates whether the vCPUs should be hard pinned to specific pCPUs or not. */ isVcpuHardPinningEnabled?: pulumi.Input; /** * Indicates whether the VGA console should be disabled or not. */ isVgaConsoleEnabled?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * Machine type for the VM. Machine type Q35 is required for secure boot and does not support IDE disks. Valid values are "PSERIES", "Q35", "PC" . */ machineType?: pulumi.Input; /** * Memory size in bytes. */ memorySizeBytes?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; /** * NICs attached to the VM. */ nics?: pulumi.Input[] | undefined>; /** * Number of cores per socket. Value should be at least 1. */ numCoresPerSocket?: pulumi.Input; /** * Number of NUMA nodes. 0 means NUMA is disabled. */ numNumaNodes?: pulumi.Input; /** * Number of vCPU sockets. Value should be at least 1. */ numSockets?: pulumi.Input; /** * Number of threads per core. Value should be at least 1. */ numThreadsPerCore?: pulumi.Input; /** * Ownership information for the VM. */ ownershipInfos?: pulumi.Input[] | undefined>; /** * PCI devices attached to the VM. */ pciDevices?: pulumi.Input[] | undefined>; /** * The current power state of the VM. */ powerState?: pulumi.Input; /** * Status of protection policy applied to this VM. */ protectionPolicyStates?: pulumi.Input[] | undefined>; /** * The type of protection applied on a VM. Valid values "PD_PROTECTED", "UNPROTECTED", "RULE_PROTECTED". */ protectionType?: pulumi.Input; /** * Serial ports configured on the VM. */ serialPorts?: pulumi.Input[] | undefined>; /** * Reference to an entity that the VM should be cloned or created from. Valid values are "VM", "VM_RECOVERY_POINT". */ sources?: pulumi.Input[] | undefined>; /** * Storage configuration for VM. */ storageConfigs?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; updateTime?: pulumi.Input; /** * Indicates how the vTPM for the VM should be configured. */ vtpmConfigs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecApcConfig { /** * CPU model associated with the VM if Advanced Processor Compatibility(APC) is enabled. If APC is enabled and no CPU model is explicitly set, a default baseline CPU model is picked by the system. See the APC documentation for more information * * `cpu_model.name`: (Required) Name of the CPU model associated with the VM. */ cpuModels?: pulumi.Input[] | undefined>; /** * If enabled, the selected CPU model will be retained across live and cold migrations of the VM. */ isApcEnabled?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecApcConfigCpuModel { extId?: pulumi.Input; name?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecAvailabilityZone { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfig { /** * LegacyBoot config Object */ legacyBoots?: pulumi.Input[] | undefined>; /** * UefiBoot config Object */ uefiBoots?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigLegacyBoot { /** * Boot Device object * * `boot_device.boot_device_disk`: (Optional) Disk address. * * `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * * `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * * `boot_device.boot_device_nic`: (Optional) Disk Nic address. * * `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigLegacyBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigLegacyBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigLegacyBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigLegacyBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBoot { /** * Boot Device object * * `boot_device.boot_device_disk`: (Optional) Disk address. * * `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * * `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * * `boot_device.boot_device_nic`: (Optional) Disk Nic address. * * `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; /** * Indicate whether to enable secure boot or not */ isSecureBootEnabled?: pulumi.Input; /** * Configuration for NVRAM to be presented to the VM. * * `nvram_device.backing_storage_info`: (Required) Storage provided by Nutanix ADSF */ nvramDevices?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDevice { backingStorageInfos?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfo { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecBootConfigUefiBootNvramDeviceBackingStorageInfoStorageContainer { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCategory { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRom { /** * Storage provided by Nutanix ADSF */ backingInfos?: pulumi.Input[] | undefined>; /** * Virtual Machine disk (VM disk). */ diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Type of ISO image inserted in CD-ROM. Valid values "OTHER", "GUEST_TOOLS", "GUEST_CUSTOMIZATION" . */ isoType?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfo { /** * A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; /** * Size of the disk in Bytes */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM disks * * `storage_config.is_flash_mode_enabled`: Indicates whether the virtual disk is pinned to the hot tier or not. */ storageConfigs?: pulumi.Input[] | undefined>; /** * This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomBackingInfoStorageContainer { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCdRomLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecCluster { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDisk { /** * Supporting storage to create virtual disk on. * * `backing_info.vm_disk`:(Optional) backing Info for vmDisk * * `backing_info.adfs_volume_group_reference`: (Required) Volume Group Reference * * `backing_info.adfs_volume_group_reference.volume_group_ext_id`: (Required) The globally unique identifier of an ADSF volume group. It should be of type UUID. */ backingInfos?: pulumi.Input[] | undefined>; /** * Disk address. * * `disk_address.bus_type`: (Required) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * * `disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. */ diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfo { adfsVolumeGroupReferences?: pulumi.Input[] | undefined>; vmDisks?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoAdfsVolumeGroupReference { volumeGroupExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDisk { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceVmReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskBackingInfoVmDiskStorageContainer { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskDiskAddress { busType?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecDiskLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGpus { /** * The device Id of the GPU. */ deviceId?: pulumi.Input; extId?: pulumi.Input; fraction?: pulumi.Input; frameBufferSizeBytes?: pulumi.Input; guestDriverVersion?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * The mode of this GPU. Valid values "PASSTHROUGH_GRAPHICS", "PASSTHROUGH_COMPUTE", "VIRTUAL" . */ mode?: pulumi.Input; name?: pulumi.Input; numVirtualDisplayHeads?: pulumi.Input; /** * The (S)egment:(B)us:(D)evice.(F)unction hardware address. */ pciAddresses?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * The vendor of the GPU. Valid values "NVIDIA", "AMD", "INTEL" . */ vendor?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGpusLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGpusPciAddress { bus?: pulumi.Input; device?: pulumi.Input; func?: pulumi.Input; segment?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomization { /** * The Nutanix Guest Tools customization settings. * * * `config.sysprep`: (Optional) Sysprep config * * `config.cloud_init`: (Optional) CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInit { /** * The script to use for cloud-init. * * `cloud_init_script.user_data`: (Optional) user data object * * `cloud_init_script.custom_keys`: (Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprep { /** * Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Values allowed is 'PREPARED', 'FRESH'. */ installType?: pulumi.Input; /** * Object either UnattendXml or CustomKeyValues * * `sysprep_script.unattend_xml`: (Optional) xml object * * `sysprep_script.custom_key_values`: (Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecGuestCustomizationConfigSysprepSysprepScriptUnattendXml { value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecGuestTool { availableVersion?: pulumi.Input; /** * The list of the application names that are enabled on the guest VM. */ capabilities?: pulumi.Input[] | undefined>; guestOsVersion?: pulumi.Input; /** * Indicates whether Nutanix Guest Tools is enabled or not. */ isEnabled?: pulumi.Input; isInstalled?: pulumi.Input; isIsoInserted?: pulumi.Input; isReachable?: pulumi.Input; isVmMobilityDriversInstalled?: pulumi.Input; isVssSnapshotCapable?: pulumi.Input; version?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecHost { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicBackingInfo { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoDpOffloadNicDpOffloadProfileReference { extId: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoDpOffloadNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoSriovNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoSriovNicSriovProfileReference { extId: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicBackingInfoVirtualEthernetNic { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; shouldAssignIp?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecNicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecOwnershipInfo { owners?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecOwnershipInfoOwner { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecPciDevice { /** * Information about the attached PCIe device to the VM. */ assignedDeviceInfos?: pulumi.Input[] | undefined>; /** * Indicates the way a PCIe device is associated to the VM. */ backingInfos?: pulumi.Input[] | undefined>; extId?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecPciDeviceAssignedDeviceInfo { devices?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecPciDeviceAssignedDeviceInfoDevice { /** * Globally unique identifier denoting PCIe device label. It should be of type UUID. */ deviceExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecPciDeviceBackingInfo { /** * Reference to a PCIe device. */ pcieDeviceReferences?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecPciDeviceBackingInfoPcieDeviceReference { /** * Globally unique identifier denoting PCIe device label. It should be of type UUID. */ deviceExtId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecPciDeviceLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecProtectionPolicyState { /** * Reference to a protection policy. */ policies?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecProtectionPolicyStatePolicy { extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecSerialPort { extId?: pulumi.Input; /** * Index of the serial port. */ index?: pulumi.Input; /** * Indicates whether the serial port is connected or not. */ isConnected?: pulumi.Input; links?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecSerialPortLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecSource { entityType?: pulumi.Input; extId?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; /** * QoS parameters to be enforced. * * `qos_config.throttled_iops`: (Optional) Throttled IOPS for the governed entities. The block size for the I/O is 32 kB. */ qosConfigs?: pulumi.Input[] | undefined>; } export interface TemplateV2TemplateVersionSpecVmSpecStorageConfigQosConfig { throttledIops?: pulumi.Input; } export interface TemplateV2TemplateVersionSpecVmSpecVtpmConfig { /** * Indicates whether the virtual trusted platform module is enabled for the Guest OS or not. */ isVtpmEnabled?: pulumi.Input; version?: pulumi.Input; } export interface TemplateV2UpdatedBy { additionalAttributes?: pulumi.Input[] | undefined>; creationType?: pulumi.Input; /** * VM description */ description?: pulumi.Input; displayName?: pulumi.Input; emailId?: pulumi.Input; extId?: pulumi.Input; firstName?: pulumi.Input; idpId?: pulumi.Input; isForceResetPasswordEnabled?: pulumi.Input; lastName?: pulumi.Input; locale?: pulumi.Input; middleInitial?: pulumi.Input; password?: pulumi.Input; region?: pulumi.Input; status?: pulumi.Input; userType: pulumi.Input; username: pulumi.Input; } export interface TemplateV2UpdatedByAdditionalAttribute { name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface TemplateV2UpdatedByAdditionalAttributeValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface TemplateV2UpdatedByAdditionalAttributeValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface UserAccessControlPolicyReferenceList { /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: pulumi.Input; /** * - the name(Optional). */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface UserCategory { /** * - the name(Optional). */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface UserDirectoryServiceUser { defaultUserPrincipalName?: pulumi.Input; /** * - (Optional) The reference to a directory service. See #reference for to look the supported attributes. */ directoryServiceReference: pulumi.Input; /** * - (Optional) The UserPrincipalName of the user from the directory service. */ userPrincipalName?: pulumi.Input; } export interface UserDirectoryServiceUserDirectoryServiceReference { /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: pulumi.Input; /** * - the name(Optional). */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface UserGroupsCategory { /** * - subnet name. */ name?: pulumi.Input; value?: pulumi.Input; } export interface UserGroupsDirectoryServiceOus { /** * - (Required) The Distinguished name for the user group. */ distinguishedName: pulumi.Input; } export interface UserGroupsDirectoryServiceUserGroup { /** * - (Required) The Distinguished name for the user group. */ distinguishedName: pulumi.Input; } export interface UserGroupsSamlUserGroup { /** * - (Required) The UUID of the Identity Provider that the group belongs to. */ idpUuid: pulumi.Input; /** * - (Required) The name of the SAML group which the IDP provides. */ name: pulumi.Input; } export interface UserIdentityProviderUser { /** * - (Optional) The reference to a identity provider. See #reference for to look the supported attributes. */ identityProviderReference: pulumi.Input; /** * - (Optional) The username from identity provider. Name ID for SAML Identity Provider. */ username?: pulumi.Input; } export interface UserIdentityProviderUserIdentityProviderReference { /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: pulumi.Input; /** * - the name(Optional). */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid: pulumi.Input; } export interface UserKeyRevokeV2ArgumentsMap { propertyName?: pulumi.Input; } export interface UserKeyV2KeyDetail { apiKeyDetails?: pulumi.Input[] | undefined>; objectKeyDetails?: pulumi.Input[] | undefined>; } export interface UserKeyV2KeyDetailApiKeyDetail { apiKey?: pulumi.Input; } export interface UserKeyV2KeyDetailObjectKeyDetail { accessKey?: pulumi.Input; secretKey?: pulumi.Input; } export interface UserKeyV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface UserProjectReferenceList { /** * - The kind name. (Default depends on the resource you are referencing) */ kind?: pulumi.Input; /** * - the name(Optional). */ name?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface UsersV2AdditionalAttribute { /** * -(Optional) The URL at which the entity described by the link can be accessed. */ name?: pulumi.Input; /** * -(Optional) A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ value?: pulumi.Input; } export interface UsersV2BucketsAccessKey { /** * - Name of the Bucket Access Key. */ accessKeyName?: pulumi.Input; /** * - Creation time for the Bucket Access Key. */ createdTime?: pulumi.Input; /** * -(Optional) External Identifier of the User. */ extId?: pulumi.Input; /** * - A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * - Secret Access Key, it will be returned only during Bucket Access Key creation. */ secretAccessKey?: pulumi.Input; /** * - User Identifier who owns the Bucket Access Key. */ userId?: pulumi.Input; } export interface UsersV2BucketsAccessKeyLink { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface UsersV2Link { /** * - The URL at which the entity described by the link can be accessed. */ href?: pulumi.Input; /** * - A name that identifies the relationship of the link to the object that is returned by the URL. The unique value of "self" identifies the URL for the object. */ rel?: pulumi.Input; } export interface VirtualMachineCategory { /** * - (Required) The name for the vm. */ name?: pulumi.Input; /** * - value of the key. */ value?: pulumi.Input; } export interface VirtualMachineDiskList { /** * Reference to a data source. * * The diskSize (the disk sizeMib and the diskSizeBytes attributes) is only honored by creating an empty disk. When you are creating from an image, the size is ignored and the disk becomes the size of the image from which it was cloned. In VM creation, you can't set either disk sizeMib or diskSizeBytes when you set dataSourceReference but, you can update the diskSize after creation (second apply). */ dataSourceReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Properties to a device. */ deviceProperties?: pulumi.Input; /** * Size of the disk in Bytes. */ diskSizeBytes?: pulumi.Input; /** * Size of the disk in MiB. Must match the size specified in 'disk_size_bytes' - rounded up to the nearest MiB - when that field is present. */ diskSizeMib?: pulumi.Input; storageConfig?: pulumi.Input; /** * - (Optional) The device ID which is used to uniquely identify this particular disk. */ uuid?: pulumi.Input; volumeGroupReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface VirtualMachineDiskListDeviceProperties { /** * - A Disk type (default: DISK). */ deviceType?: pulumi.Input; /** * - Address of disk to boot from. */ diskAddress?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface VirtualMachineDiskListStorageConfig { /** * - State of the storage policy to pin virtual disks to the hot tier. When specified as a VM attribute, the storage policy applies to all virtual disks of the VM unless overridden by the same attribute specified for a virtual disk. */ flashMode?: pulumi.Input; /** * - Reference to a kind. Either one of (kind, uuid) or url needs to be specified. Requires Prism Central / AOS 5.17+. * * `storage_container_reference.#.url`: - GET query on the URL will provide information on the source. * * `storage_container_reference.#.kind`: - kind of the container reference * * `storage_container_reference.#.name`: - name of the container reference * * `storage_container_reference.#.uuid`: - uiid of the container reference */ storageContainerReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineDiskListStorageConfigStorageContainerReference { /** * - The kind name (Default value: project)(Required). */ kind?: pulumi.Input; /** * - (Required) The name for the vm. */ name?: pulumi.Input; url?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface VirtualMachineGpuList { /** * - (Computed) The device ID of the GPU. */ deviceId?: pulumi.Input; /** * Fraction of the physical GPU assigned. */ fraction?: pulumi.Input; /** * - (ReadOnly) GPU frame buffer size in MiB. */ frameBufferSizeMib?: pulumi.Input; /** * - (ReadOnly) Last determined guest driver version. */ guestDriverVersion?: pulumi.Input; /** * - (Optional) The mode of this GPU. */ mode?: pulumi.Input; /** * - (ReadOnly) Name of the GPU resource. */ name?: pulumi.Input; /** * - (ReadOnly) Number of supported virtual display heads. */ numVirtualDisplayHeads?: pulumi.Input; /** * GPU {segment:bus:device:function} (sbdf) address if assigned. */ pciAddress?: pulumi.Input; /** * - (ReadOnly) UUID of the GPU. */ uuid?: pulumi.Input; /** * - (Optional) The vendor of the GPU. */ vendor?: pulumi.Input; } export interface VirtualMachineNicList { /** * - IP endpoints for the adapter. Currently, IPv4 addresses are supported. */ ipEndpointLists?: pulumi.Input[] | undefined>; /** * - Indicates whether the serial port connection is connected or not (`true` or `false`). */ isConnected?: pulumi.Input; /** * - The MAC address for the adapter. */ macAddress?: pulumi.Input; /** * - The model of this NIC. (Options : VIRTIO , E1000). */ model?: pulumi.Input; /** * - The reference to a network_function_chain. */ networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * - The type of this Network function NIC. Defaults to INGRESS. (Options : INGRESS , EGRESS , TAP). */ networkFunctionNicType?: pulumi.Input; /** * - The type of this NIC. Defaults to NORMAL_NIC. (Options : NORMAL_NIC , DIRECT_NIC , NETWORK_FUNCTION_NIC). */ nicType?: pulumi.Input; /** * - The number of tx/rx queue pairs for this NIC. */ numQueues?: pulumi.Input; /** * - The name of the subnet reference to. */ subnetName?: pulumi.Input; /** * - The reference to a subnet. */ subnetUuid?: pulumi.Input; /** * - The NIC's UUID, which is used to uniquely identify this particular NIC. This UUID may be used to refer to the NIC outside the context of the particular VM it is attached to. */ uuid?: pulumi.Input; } export interface VirtualMachineNicListIpEndpointList { /** * - Address string. */ ip?: pulumi.Input; /** * - Address type. It can only be "ASSIGNED" in the spec. If no type is specified in the spec, the default type is set to "ASSIGNED". (Options : ASSIGNED , LEARNED) */ type?: pulumi.Input; } export interface VirtualMachineNicListStatus { /** * - The Floating IP associated with the vnic. (Only in `nicListStatus`) */ floatingIp?: pulumi.Input; /** * - IP endpoints for the adapter. Currently, IPv4 addresses are supported. */ ipEndpointLists?: pulumi.Input[] | undefined>; /** * - Indicates whether the serial port connection is connected or not (`true` or `false`). */ isConnected?: pulumi.Input; /** * - The MAC address for the adapter. */ macAddress?: pulumi.Input; /** * - The model of this NIC. (Options : VIRTIO , E1000). */ model?: pulumi.Input; /** * - The reference to a network_function_chain. */ networkFunctionChainReference?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * - The type of this Network function NIC. Defaults to INGRESS. (Options : INGRESS , EGRESS , TAP). */ networkFunctionNicType?: pulumi.Input; /** * - The type of this NIC. Defaults to NORMAL_NIC. (Options : NORMAL_NIC , DIRECT_NIC , NETWORK_FUNCTION_NIC). */ nicType?: pulumi.Input; /** * - The number of tx/rx queue pairs for this NIC. */ numQueues?: pulumi.Input; /** * - The name of the subnet reference to. */ subnetName?: pulumi.Input; /** * - The reference to a subnet. */ subnetUuid?: pulumi.Input; /** * - the UUID(Required). */ uuid?: pulumi.Input; } export interface VirtualMachineNicListStatusIpEndpointList { /** * - Address string. */ ip?: pulumi.Input; /** * - Address type. It can only be "ASSIGNED" in the spec. If no type is specified in the spec, the default type is set to "ASSIGNED". (Options : ASSIGNED , LEARNED) */ type?: pulumi.Input; } export interface VirtualMachineSerialPortList { /** * - Index of the serial port (int). */ index?: pulumi.Input; /** * - Indicates whether the serial port connection is connected or not (`true` or `false`). */ isConnected?: pulumi.Input; } export interface VirtualMachineV2ApcConfig { /** * CPU model associated with the VM if Advanced Processor Compatibility(APC) is enabled. If APC is enabled and no CPU model is explicitly set, a default baseline CPU model is picked by the system. See the APC documentation for more information * * `cpu_model.name`: (Required) Name of the CPU model associated with the VM. */ cpuModels?: pulumi.Input[] | undefined>; /** * If enabled, the selected CPU model will be retained across live and cold migrations of the VM. */ isApcEnabled?: pulumi.Input; } export interface VirtualMachineV2ApcConfigCpuModel { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; } export interface VirtualMachineV2AvailabilityZone { /** * The globally unique identifier of an availability zone type UUID. */ extId?: pulumi.Input; } export interface VirtualMachineV2BootConfig { /** * LegacyBoot config Object */ legacyBoots?: pulumi.Input[] | undefined>; /** * UefiBoot config Object */ uefiBoots?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigLegacyBoot { /** * Boot Device object * * `boot_device.boot_device_disk`: (Optional) Disk address. * * `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * * `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * * `boot_device.boot_device_nic`: (Optional) Disk Nic address. * * `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigLegacyBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigLegacyBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigLegacyBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2BootConfigLegacyBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBoot { /** * Boot Device object * * `boot_device.boot_device_disk`: (Optional) Disk address. * * `boot_device.boot_device_disk.disk_address.bus_type`: (Required) Bus type for the device * * `boot_device.boot_device_disk.disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. * * * `boot_device.boot_device_nic`: (Optional) Disk Nic address. * * `boot_device.boot_device_nic.mac_address`: (Required) mac address */ bootDevices?: pulumi.Input[] | undefined>; /** * Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. Valid values are 'CDROM', 'DISK', 'NETWORK'. */ bootOrders?: pulumi.Input[] | undefined>; /** * Indicate whether to enable secure boot or not */ isSecureBootEnabled?: pulumi.Input; /** * Configuration for NVRAM to be presented to the VM. * * `nvram_device.backing_storage_info`: (Required) Storage provided by Nutanix ADSF */ nvramDevices?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootBootDevice { bootDeviceDisks?: pulumi.Input[] | undefined>; bootDeviceNics?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootBootDeviceBootDeviceDisk { diskAddresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootBootDeviceBootDeviceDiskDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootBootDeviceBootDeviceNic { /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootNvramDevice { backingStorageInfos?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfo { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM. */ storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceVmReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VirtualMachineV2BootConfigUefiBootNvramDeviceBackingStorageInfoStorageContainer { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2Category { /** * A globally unique identifier of a VM category of type UUID. */ extId?: pulumi.Input; } export interface VirtualMachineV2CdRom { /** * Storage provided by Nutanix ADSF */ backingInfos?: pulumi.Input[] | undefined>; /** * Virtual Machine disk (VM disk). */ diskAddresses?: pulumi.Input[] | undefined>; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * Type of ISO image inserted in CD-ROM. Valid values "OTHER", "GUEST_TOOLS", "GUEST_CUSTOMIZATION" . */ isoType?: pulumi.Input; } export interface VirtualMachineV2CdRomBackingInfo { /** * A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; /** * Size of the disk in Bytes */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM disks * * `storage_config.is_flash_mode_enabled`: Indicates whether the virtual disk is pinned to the hot tier or not. */ storageConfigs?: pulumi.Input[] | undefined>; /** * This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2CdRomBackingInfoDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2CdRomBackingInfoDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2CdRomBackingInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface VirtualMachineV2CdRomBackingInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2CdRomBackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2CdRomBackingInfoDataSourceReferenceVmDiskReferenceVmReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2CdRomBackingInfoStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VirtualMachineV2CdRomBackingInfoStorageContainer { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2CdRomDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2Cluster { /** * The globally unique identifier of a cluster type UUID. */ extId?: pulumi.Input; } export interface VirtualMachineV2Disk { /** * Supporting storage to create virtual disk on. * * `backing_info.vm_disk`:(Optional) backing Info for vmDisk * * `backing_info.adfs_volume_group_reference`: (Required) Volume Group Reference * * `backing_info.adfs_volume_group_reference.volume_group_ext_id`: (Required) The globally unique identifier of an ADSF volume group. It should be of type UUID. */ backingInfos?: pulumi.Input[] | undefined>; /** * Disk address. * * `disk_address.bus_type`: (Required) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * * `disk_address.index`: (Required) Device index on the bus. This field is ignored unless the bus details are specified. */ diskAddresses?: pulumi.Input[] | undefined>; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfo { adfsVolumeGroupReferences?: pulumi.Input[] | undefined>; vmDisks?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2DiskBackingInfoAdfsVolumeGroupReference { volumeGroupExtId?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfoVmDisk { dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM. */ storageConfigs?: pulumi.Input[] | undefined>; storageContainers?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSource { /** * Reference to image or vm disk */ references?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_ext_id`: (Optional) The globally unique identifier of a VM disk. It should be of type UUID. * * `vm_disk_reference.disk_address`: (Optional) Disk address. * * `vm_disk_reference.vm_reference`: (Optional) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceVmReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfoVmDiskStorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VirtualMachineV2DiskBackingInfoVmDiskStorageContainer { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2DiskDiskAddress { busType?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; } export interface VirtualMachineV2Gpus { /** * The device Id of the GPU. */ deviceId?: pulumi.Input; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; fraction?: pulumi.Input; frameBufferSizeBytes?: pulumi.Input; guestDriverVersion?: pulumi.Input; links?: pulumi.Input[] | undefined>; /** * ) The mode of this GPU. Valid values "PASSTHROUGH_GRAPHICS", "PASSTHROUGH_COMPUTE", "VIRTUAL" . */ mode?: pulumi.Input; /** * VM name. */ name?: pulumi.Input; numVirtualDisplayHeads?: pulumi.Input; /** * The (S)egment:(B)us:(D)evice.(F)unction hardware address. */ pciAddresses?: pulumi.Input[] | undefined>; tenantId?: pulumi.Input; /** * The vendor of the GPU. Valid values "NVIDIA", "AMD", "INTEL" . */ vendor?: pulumi.Input; } export interface VirtualMachineV2GpusLink { href?: pulumi.Input; rel?: pulumi.Input; } export interface VirtualMachineV2GpusPciAddress { bus?: pulumi.Input; device?: pulumi.Input; func?: pulumi.Input; segment?: pulumi.Input; } export interface VirtualMachineV2GuestCustomization { /** * The Nutanix Guest Tools customization settings. * * * `config.sysprep`: Sysprep config * * `config.cloud_init`: CloudInit Config */ configs?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfig { cloudInits?: pulumi.Input[] | undefined>; syspreps?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInit { /** * The script to use for cloud-init. * * `cloud_init_script.user_data`: (Optional) user data object * * `cloud_init_script.user_data.value`: (Optional) base64 encoded cloud init script as string * * `cloud_init_script.custom_keys`: (Optional) The list of the individual KeyValuePair elements. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * Type of datasource. Default: CONFIG_DRIVE_V2 */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. Default value is 'CONFIG_DRIVE_V2'. */ metadata?: pulumi.Input; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScript { customKeyValues?: pulumi.Input[] | undefined>; userDatas?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePair { /** * VM name. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigCloudInitCloudInitScriptUserData { value?: pulumi.Input; } export interface VirtualMachineV2GuestCustomizationConfigSysprep { /** * Indicates whether the guest will be freshly installed using this unattend configuration, or this unattend configuration will be applied to a pre-prepared image. Values allowed is 'PREPARED', 'FRESH'. */ installType?: pulumi.Input; /** * Object either UnattendXml or CustomKeyValues * * `sysprep_script.unattend_xml`: (Optional) xml object * * `sysprep_script.unattend_xml.value`: (Optional) base64 encoded sysprep unattended xml * * `sysprep_script.custom_key_values`: (Optional) The list of the individual KeyValuePair elements. */ sysprepScripts?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScript { customKeyValues?: pulumi.Input[] | undefined>; unattendXmls?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { keyValuePairs?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { /** * VM name. */ name?: pulumi.Input; values?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValue { boolean?: pulumi.Input; integer?: pulumi.Input; integerLists?: pulumi.Input[] | undefined>; mapOfStrings?: pulumi.Input[] | undefined>; object?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; string?: pulumi.Input; stringLists?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePairValueMapOfString { map?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } export interface VirtualMachineV2GuestCustomizationConfigSysprepSysprepScriptUnattendXml { value: pulumi.Input; } export interface VirtualMachineV2GuestTool { availableVersion?: pulumi.Input; /** * The list of the application names that are enabled on the guest VM. */ capabilities?: pulumi.Input[] | undefined>; guestOsVersion?: pulumi.Input; /** * Indicates whether Nutanix Guest Tools is enabled or not. */ isEnabled?: pulumi.Input; isInstalled?: pulumi.Input; isIsoInserted?: pulumi.Input; isReachable?: pulumi.Input; isVmMobilityDriversInstalled?: pulumi.Input; isVssSnapshotCapable?: pulumi.Input; version?: pulumi.Input; } export interface VirtualMachineV2Host { /** * A globally unique identifier of a host of type UUID. */ extId?: pulumi.Input; } export interface VirtualMachineV2Nic { /** * Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; } export interface VirtualMachineV2NicBackingInfo { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2NicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoNetworkFunctionChain { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNetworkInfoSubnet { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoDpOffloadNic { /** * DP offload profile reference. */ dpOffloadProfileReference: pulumi.Input; /** * Host PCIe device reference. */ hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoDpOffloadNicDpOffloadProfileReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoDpOffloadNicHostPcieDeviceReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoSriovNic { /** * Host PCIe device reference. */ hostPcieDeviceReference?: pulumi.Input; isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * SR-IOV profile reference. */ sriovProfileReference: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoSriovNicHostPcieDeviceReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoSriovNicSriovProfileReference { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId: pulumi.Input; } export interface VirtualMachineV2NicNicBackingInfoVirtualEthernetNic { isConnected?: pulumi.Input; /** * MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * Options for the NIC emulation. Valid values "VIRTIO" , "E1000". */ model?: pulumi.Input; /** * The number of Tx/Rx queue pairs for this NIC. Default is 1. */ numQueues?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoSriovNicNetworkInfo { /** * VLAN ID for the SR-IOV NIC. */ vlanId?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * The type of this Network function NIC. Defaults to INGRESS. */ networkFunctionNicType?: pulumi.Input; /** * NIC type. Valid values "SPAN_DESTINATION_NIC", "NORMAL_NIC", "DIRECT_NIC", "NETWORK_FUNCTION_NIC" . */ nicType?: pulumi.Input; /** * Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC * * `subnet.ext_id`: (Optional) The globally unique identifier of a subnet of type UUID. */ subnets?: pulumi.Input[] | undefined>; /** * List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. */ vlanMode?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { /** * The IP address of the NIC. */ ipAddresses?: pulumi.Input[] | undefined>; /** * Secondary IP addresses for the NIC. */ secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. */ shouldAssignIp?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; /** * The IPv4 address of the host. */ value?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { /** * The prefix length of the IP address. */ prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2OwnershipInfo { /** * Reference to the owner. * * `owner.ext_id`: A globally unique identifier of a VM owner type UUID. */ owners?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2OwnershipInfoOwner { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2Project { /** * The globally unique identifier of an instance of type UUID. */ extId?: pulumi.Input; } export interface VirtualMachineV2ProtectionPolicyState { /** * Reference to the policy object in use. * * `policy.ext_id`: (Optional) Reference to the policy object in use. */ policies?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2ProtectionPolicyStatePolicy { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2SerialPort { /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * ) Index of the serial port. */ index?: pulumi.Input; /** * Indicates whether the serial port is connected or not. */ isConnected?: pulumi.Input; } export interface VirtualMachineV2Source { /** * Reference to an entity from which the VM should be cloned or created. Values are: * - VM_RECOVERY_POINT: Reference to the recovery point entity from which the VM should be cloned or created. * - VM: Reference to an entity from which the VM should be cloned or created. */ entityType?: pulumi.Input; /** * A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; } export interface VirtualMachineV2StorageConfig { /** * Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; /** * QoS parameters to be enforced. * * `qos_config.throttled_iops`: (Optional) Throttled IOPS for the governed entities. The block size for the I/O is 32 kB. */ qosConfigs?: pulumi.Input[] | undefined>; } export interface VirtualMachineV2StorageConfigQosConfig { throttledIops?: pulumi.Input; } export interface VirtualMachineV2VtpmConfig { /** * Indicates whether the virtual trusted platform module is enabled for the Guest OS or not. */ isVtpmEnabled?: pulumi.Input; version?: pulumi.Input; } export interface VmCdromInsertEjectV2BackingInfo { /** * A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; /** * Size of the disk in Bytes */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * Storage configuration for VM disks * * `storage_config.is_flash_mode_enabled`: (Required) Indicates whether the virtual disk is pinned to the hot tier or not. */ storageConfigs?: pulumi.Input[] | undefined>; /** * This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface VmCdromInsertEjectV2BackingInfoDataSource { /** * Reference to image or vm disk. Either `imageReference` or `vmDiskReference`. */ references?: pulumi.Input[] | undefined>; } export interface VmCdromInsertEjectV2BackingInfoDataSourceReference { /** * Image Reference * * `image_reference.image_ext_id`: (Required) The globally unique identifier of an image. It should be of type UUID. */ imageReferences?: pulumi.Input[] | undefined>; /** * Vm Disk Reference * * `vm_disk_reference.disk_address`: (Required) Disk address. * * `vm_disk_reference.vm_reference`: (Required) This is a reference to a VM. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VmCdromInsertEjectV2BackingInfoDataSourceReferenceImageReference { imageExtId?: pulumi.Input; } export interface VmCdromInsertEjectV2BackingInfoDataSourceReferenceVmDiskReference { diskAddresses?: pulumi.Input[] | undefined>; diskExtId?: pulumi.Input; vmReferences?: pulumi.Input[] | undefined>; } export interface VmCdromInsertEjectV2BackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { busType?: pulumi.Input; index?: pulumi.Input; } export interface VmCdromInsertEjectV2BackingInfoDataSourceReferenceVmDiskReferenceVmReference { /** * The globally unique identifier of a CD-ROM. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCdromInsertEjectV2BackingInfoStorageConfig { isFlashModeEnabled?: pulumi.Input; } export interface VmCdromInsertEjectV2BackingInfoStorageContainer { /** * The globally unique identifier of a CD-ROM. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCdromInsertEjectV2DiskAddress { busType?: pulumi.Input; index?: pulumi.Input; } export interface VmCloneV2ApcConfig { cpuModels?: pulumi.Input[] | undefined>; isApcEnabled?: pulumi.Input; } export interface VmCloneV2ApcConfigCpuModel { extId?: pulumi.Input; /** * - (Optional) The name for the vm. */ name?: pulumi.Input; } export interface VmCloneV2BootConfig { legacyBoots?: pulumi.Input[] | undefined>; uefiBoots?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigLegacyBoot { /** * - (Optional) The Boot Device settings. */ bootDevices?: pulumi.Input[] | undefined>; /** * - (Optional) Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. */ bootOrders?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigLegacyBootBootDevice { /** * - (Optional) The Boot Device Disk settings. */ bootDeviceDisks?: pulumi.Input[] | undefined>; /** * - (Optional) The Boot Device Nic settings. */ bootDeviceNics?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigLegacyBootBootDeviceBootDeviceDisk { /** * - (Optional) Address of disk to boot from. */ diskAddresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigLegacyBootBootDeviceBootDeviceDiskDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2BootConfigLegacyBootBootDeviceBootDeviceNic { /** * - (Optional) MAC address of nic to boot from. */ macAddress?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBoot { /** * - (Optional) The Boot Device settings. */ bootDevices?: pulumi.Input[] | undefined>; /** * - (Optional) Indicates the order of device types in which the VM should try to boot from. If the boot device order is not provided the system will decide an appropriate boot device order. */ bootOrders?: pulumi.Input[] | undefined>; /** * - (Optional) Indicate whether to enable secure boot or not. */ isSecureBootEnabled?: pulumi.Input; /** * - (Optional) Configuration for NVRAM to be presented to the VM. */ nvramDevices?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootBootDevice { /** * - (Optional) The Boot Device Disk settings. */ bootDeviceDisks?: pulumi.Input[] | undefined>; /** * - (Optional) The Boot Device Nic settings. */ bootDeviceNics?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootBootDeviceBootDeviceDisk { /** * - (Optional) Address of disk to boot from. */ diskAddresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootBootDeviceBootDeviceDiskDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootBootDeviceBootDeviceNic { /** * - (Optional) MAC address of nic to boot from. */ macAddress?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootNvramDevice { /** * - (Optional) Storage provided by Nutanix ADSF. */ backingStorageInfos?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfo { /** * - (Optional) A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Size of the disk in Bytes. */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * - (Optional) Storage configuration for VM disks. */ storageConfigs?: pulumi.Input[] | undefined>; /** * - (Optional) This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSource { /** * - (Optional) Data Source Reference settings. */ references?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReference { /** * - (Optional) Data Source Image Reference settings. */ imageReferences?: pulumi.Input[] | undefined>; /** * - (Optional) Data Source VM Disk Reference settings. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceImageReference { /** * - (Optional) The globally unique identifier of an image. It should be of type UUID. */ imageExtId?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReference { /** * - (Optional) Address of disk. */ diskAddresses?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Reference to a VM. */ vmReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoDataSourceReferenceVmDiskReferenceVmReference { /** * - (Optional) The globally unique identifier of a VM. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoStorageConfig { /** * - (Optional) Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VmCloneV2BootConfigUefiBootNvramDeviceBackingStorageInfoStorageContainer { /** * - (Optional) The globally unique identifier of a VM disk container. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2Category { extId?: pulumi.Input; } export interface VmCloneV2CdRom { /** * - (Optional, Deprecated) Use `nic_backing_info.virtual_ethernet_nic` instead. */ backingInfos?: pulumi.Input[] | undefined>; diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; isoType?: pulumi.Input; } export interface VmCloneV2CdRomBackingInfo { /** * - (Optional) A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Size of the disk in Bytes. */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * - (Optional) Storage configuration for VM disks. */ storageConfigs?: pulumi.Input[] | undefined>; /** * - (Optional) This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface VmCloneV2CdRomBackingInfoDataSource { /** * - (Optional) Data Source Reference settings. */ references?: pulumi.Input[] | undefined>; } export interface VmCloneV2CdRomBackingInfoDataSourceReference { /** * - (Optional) Data Source Image Reference settings. */ imageReferences?: pulumi.Input[] | undefined>; /** * - (Optional) Data Source VM Disk Reference settings. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2CdRomBackingInfoDataSourceReferenceImageReference { /** * - (Optional) The globally unique identifier of an image. It should be of type UUID. */ imageExtId?: pulumi.Input; } export interface VmCloneV2CdRomBackingInfoDataSourceReferenceVmDiskReference { /** * - (Optional) Address of disk. */ diskAddresses?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Reference to a VM. */ vmReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2CdRomBackingInfoDataSourceReferenceVmDiskReferenceDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2CdRomBackingInfoDataSourceReferenceVmDiskReferenceVmReference { /** * - (Optional) The globally unique identifier of a VM. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2CdRomBackingInfoStorageConfig { /** * - (Optional) Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VmCloneV2CdRomBackingInfoStorageContainer { /** * - (Optional) The globally unique identifier of a VM disk container. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2CdRomDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2Cluster { extId?: pulumi.Input; } export interface VmCloneV2Disk { /** * - (Optional, Deprecated) Use `nic_backing_info.virtual_ethernet_nic` instead. */ backingInfos?: pulumi.Input[] | undefined>; diskAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; } export interface VmCloneV2DiskBackingInfo { adfsVolumeGroupReferences?: pulumi.Input[] | undefined>; vmDisks?: pulumi.Input[] | undefined>; } export interface VmCloneV2DiskBackingInfoAdfsVolumeGroupReference { volumeGroupExtId?: pulumi.Input; } export interface VmCloneV2DiskBackingInfoVmDisk { /** * - (Optional) A reference to a disk or image that contains the contents of a disk. */ dataSources?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Size of the disk in Bytes. */ diskSizeBytes?: pulumi.Input; isMigrationInProgress?: pulumi.Input; /** * - (Optional) Storage configuration for VM disks. */ storageConfigs?: pulumi.Input[] | undefined>; /** * - (Optional) This reference is for disk level storage container preference. This preference specifies the storage container to which this disk belongs. */ storageContainers?: pulumi.Input[] | undefined>; } export interface VmCloneV2DiskBackingInfoVmDiskDataSource { /** * - (Optional) Data Source Reference settings. */ references?: pulumi.Input[] | undefined>; } export interface VmCloneV2DiskBackingInfoVmDiskDataSourceReference { /** * - (Optional) Data Source Image Reference settings. */ imageReferences?: pulumi.Input[] | undefined>; /** * - (Optional) Data Source VM Disk Reference settings. */ vmDiskReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2DiskBackingInfoVmDiskDataSourceReferenceImageReference { /** * - (Optional) The globally unique identifier of an image. It should be of type UUID. */ imageExtId?: pulumi.Input; } export interface VmCloneV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReference { /** * - (Optional) Address of disk. */ diskAddresses?: pulumi.Input[] | undefined>; /** * - (Optional) The globally unique identifier of a VM disk. It should be of type UUID. */ diskExtId?: pulumi.Input; /** * - (Optional) Reference to a VM. */ vmReferences?: pulumi.Input[] | undefined>; } export interface VmCloneV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2DiskBackingInfoVmDiskDataSourceReferenceVmDiskReferenceVmReference { /** * - (Optional) The globally unique identifier of a VM. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2DiskBackingInfoVmDiskStorageConfig { /** * - (Optional) Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; } export interface VmCloneV2DiskBackingInfoVmDiskStorageContainer { /** * - (Optional) The globally unique identifier of a VM disk container. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2DiskDiskAddress { /** * - (Optional) Bus type for the device. The acceptable values are: SCSI, IDE, PCI, SATA, SPAPR (only PPC). * Valid values are: * - `SCSI` The type of disk bus is SCSI. * - `SPAPR` The type of disk bus is SPAPR. * - `PCI` The type of disk bus is PCI. * - `PCI` The type of disk bus is PCI. * - `SATA` The type of disk bus is SATA. */ busType?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; } export interface VmCloneV2Gpus { deviceId?: pulumi.Input; extId?: pulumi.Input; fraction?: pulumi.Input; frameBufferSizeBytes?: pulumi.Input; guestDriverVersion?: pulumi.Input; mode?: pulumi.Input; /** * - (Optional) The name for the vm. */ name?: pulumi.Input; numVirtualDisplayHeads?: pulumi.Input; pciAddresses?: pulumi.Input[] | undefined>; vendor?: pulumi.Input; } export interface VmCloneV2GpusPciAddress { bus?: pulumi.Input; device?: pulumi.Input; func?: pulumi.Input; segment?: pulumi.Input; } export interface VmCloneV2GuestCustomization { /** * - (Optional) The Nutanix Guest Tools customization settings. */ configs?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfig { /** * - (Optional) VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloudInit should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script. */ cloudInits?: pulumi.Input[] | undefined>; /** * - (Optional) VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloudInit should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script. */ syspreps?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigCloudInit { /** * - (Optional) The script to use for cloud-init. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * - (Optional) Type of datasource. * Default: CONFIG_DRIVE_V2Default is `CONFIG_DRIVE_V2`. * Valid values are: * - `CONFIG_DRIVE_V2` The type of datasource for cloud-init is Config Drive V2. */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. */ metadata?: pulumi.Input; } export interface VmCloneV2GuestCustomizationConfigCloudInitCloudInitScript { customKeys?: pulumi.Input[] | undefined>; /** * - (Optional) The contents of the userData configuration for cloud-init. This can be formatted as YAML, JSON, or could be a shell script. The value must be base64 encoded. */ userDatas?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKey { /** * - (Optional) The list of the individual KeyValuePair elements. */ keyValuePairs?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigCloudInitCloudInitScriptCustomKeyKeyValuePair { /** * - (Optional) The key of this key-value pair */ name?: pulumi.Input; /** * - (Optional) The value associated with the key for this key-value pair. * * See detailed information in [Nutanix Clone Virtual Machine V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/cloneVm). */ value?: pulumi.Input; } export interface VmCloneV2GuestCustomizationConfigCloudInitCloudInitScriptUserData { /** * - (Optional) The value for the cloud-init user_data. */ value?: pulumi.Input; } export interface VmCloneV2GuestCustomizationConfigSysprep { /** * - (Optional) Whether the guest will be freshly installed using this unattend configuration, or whether this unattend configuration will be applied to a pre-prepared image. Default is `PREPARED`. * Valid values are: * - `PREPARED` is done when sysprep is used to finalize Windows installation from an installed Windows and file name it is searching `unattend.xml` for `unattendXml` parameter * - `FRESH` is done when sysprep is used to install Windows from ISO and file name it is searching `autounattend.xml` for `unattendXml` parameter */ installType?: pulumi.Input; sysprepScripts?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigSysprepSysprepScript { /** * - (Optional) Generic key value pair used for custom attributes in cloud init. */ customKeyValues?: pulumi.Input[] | undefined>; /** * - (Optional) Generic key value pair used for custom attributes. */ unattendXmls?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValue { /** * - (Optional) The list of the individual KeyValuePair elements. */ keyValuePairs?: pulumi.Input[] | undefined>; } export interface VmCloneV2GuestCustomizationConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { /** * - (Optional) The key of this key-value pair */ name?: pulumi.Input; /** * - (Optional) The value associated with the key for this key-value pair. * * See detailed information in [Nutanix Clone Virtual Machine V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/cloneVm). */ value?: pulumi.Input; } export interface VmCloneV2GuestCustomizationConfigSysprepSysprepScriptUnattendXml { value?: pulumi.Input; } export interface VmCloneV2GuestTool { availableVersion?: pulumi.Input; capabilities?: pulumi.Input[] | undefined>; guestOsVersion?: pulumi.Input; isEnabled?: pulumi.Input; isInstalled?: pulumi.Input; isIsoInserted?: pulumi.Input; isReachable?: pulumi.Input; isVmMobilityDriversInstalled?: pulumi.Input; isVssSnapshotCapable?: pulumi.Input; version?: pulumi.Input; } export interface VmCloneV2Host { extId?: pulumi.Input; } export interface VmCloneV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface VmCloneV2Nic { /** * - (Optional, Deprecated) Use `nic_backing_info.virtual_ethernet_nic` instead. * * @deprecated The `backingInfo` attribute is deprecated. Use `nicBackingInfo` instead. This field will be removed in a future release. */ backingInfos?: pulumi.Input[] | undefined>; /** * - (Optional) A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * - (Optional, Deprecated) Use `nic_network_info.virtual_ethernet_nic_network_info` instead. * * @deprecated The `networkInfo` attribute is deprecated. Use `nicNetworkInfo` instead. This field will be removed in a future release. */ networkInfos?: pulumi.Input[] | undefined>; /** * New NIC backing info (v2.4.1+). One of `virtualEthernetNic`, `sriovNic`, `dpOffloadNic`. */ nicBackingInfo?: pulumi.Input; /** * New NIC network info (v2.4.1+). One of `virtualEthernetNicNetworkInfo`, `sriovNicNetworkInfo`, `dpOffloadNicNetworkInfo`. */ nicNetworkInfo?: pulumi.Input; } export interface VmCloneV2NicBackingInfo { /** * - (Optional) Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; /** * - (Optional) MAC address of the emulated NIC. */ macAddress?: pulumi.Input; /** * - (Optional) Options for the NIC emulation. * Valid values are: * - `VIRTIO` The NIC emulation model is Virtio. * - `E1000` The NIC emulation model is E1000. */ model?: pulumi.Input; /** * - (Optional) The number of Tx/Rx queue pairs for this NIC. */ numQueues?: pulumi.Input; } export interface VmCloneV2NicNetworkInfo { /** * - (Optional) The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; /** * - (Optional)The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * - (Optional) The type of this Network function NIC. * Defaults to INGRESS. * Valid values are: * - `TAP` The type of Network-Function NIC is Tap. * - `EGRESS` The type of Network-Function NIC is Egress. * - `INGRESS` The type of Network-Function NIC is Ingress. */ networkFunctionNicType?: pulumi.Input; /** * - (Optional) NIC type. * Defaults to NORMAL_NIC. * Valid values are: * - `SPAN_DESTINATION_NIC` The type of NIC is Span-Destination. * - `NORMAL_NIC` The type of NIC is Normal. * - `DIRECT_NIC` The type of NIC is Direct. * - `NETWORK_FUNCTION_NIC` The type of NIC is Network-Function. */ nicType?: pulumi.Input; /** * - (Optional) Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * - (Optional) Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC. */ subnets?: pulumi.Input[] | undefined>; /** * - (Optional) List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * - (Optional) By default, all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. * Valid values are: * - `TRUNK` The virtual NIC is created in TRUNKED mode. * - `ACCESS` The virtual NIC is created in ACCESS mode. */ vlanMode?: pulumi.Input; } export interface VmCloneV2NicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * - (Optional) If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. * `ipAddress`: - (Optional) Ip config settings. * `secondaryIpAddressList`: - (Optional) Secondary IP addresses for the NIC. */ shouldAssignIp?: pulumi.Input; } export interface VmCloneV2NicNetworkInfoIpv4ConfigIpAddress { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2NicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VmCloneV2NicNetworkInfoNetworkFunctionChain { /** * - (Optional) The globally unique identifier of a network function chain. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2NicNetworkInfoSubnet { /** * - (Optional) The globally unique identifier of a subnet. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2NicNicBackingInfo { dpOffloadNic?: pulumi.Input; sriovNic?: pulumi.Input; virtualEthernetNic?: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoDpOffloadNic { dpOffloadProfileReference: pulumi.Input; hostPcieDeviceReference?: pulumi.Input; /** * - (Optional) Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; macAddress?: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoDpOffloadNicDpOffloadProfileReference { extId: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoDpOffloadNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoSriovNic { hostPcieDeviceReference?: pulumi.Input; /** * - (Optional) Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; macAddress?: pulumi.Input; sriovProfileReference: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoSriovNicHostPcieDeviceReference { extId?: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoSriovNicSriovProfileReference { extId: pulumi.Input; } export interface VmCloneV2NicNicBackingInfoVirtualEthernetNic { /** * - (Optional) Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; macAddress?: pulumi.Input; /** * - (Optional) Options for the NIC emulation. * Valid values are: * - `VIRTIO` The NIC emulation model is Virtio. * - `E1000` The NIC emulation model is E1000. */ model?: pulumi.Input; /** * - (Optional) The number of Tx/Rx queue pairs for this NIC. */ numQueues?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfo { dpOffloadNicNetworkInfo?: pulumi.Input; sriovNicNetworkInfo?: pulumi.Input; virtualEthernetNicNetworkInfo?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfo { /** * - (Optional) The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * - (Optional) Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * - (Optional) Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC. */ subnets?: pulumi.Input[] | undefined>; /** * - (Optional) List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * - (Optional) By default, all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. * Valid values are: * - `TRUNK` The virtual NIC is created in TRUNKED mode. * - `ACCESS` The virtual NIC is created in ACCESS mode. */ vlanMode?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * - (Optional) If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. * `ipAddress`: - (Optional) Ip config settings. * `secondaryIpAddressList`: - (Optional) Secondary IP addresses for the NIC. */ shouldAssignIp?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigIpAddress { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoDpOffloadNicNetworkInfoSubnet { /** * - (Optional) The globally unique identifier of a subnet. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoSriovNicNetworkInfo { vlanId?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfo { /** * - (Optional) The IP address configurations. */ ipv4Configs?: pulumi.Input[] | undefined>; ipv4Infos?: pulumi.Input[] | undefined>; ipv6Infos?: pulumi.Input[] | undefined>; /** * - (Optional)The network function chain associates with the NIC. Only valid if nicType is NORMAL_NIC. */ networkFunctionChains?: pulumi.Input[] | undefined>; /** * - (Optional) The type of this Network function NIC. * Defaults to INGRESS. * Valid values are: * - `TAP` The type of Network-Function NIC is Tap. * - `EGRESS` The type of Network-Function NIC is Egress. * - `INGRESS` The type of Network-Function NIC is Ingress. */ networkFunctionNicType?: pulumi.Input; /** * - (Optional) NIC type. * Defaults to NORMAL_NIC. * Valid values are: * - `SPAN_DESTINATION_NIC` The type of NIC is Span-Destination. * - `NORMAL_NIC` The type of NIC is Normal. * - `DIRECT_NIC` The type of NIC is Direct. * - `NETWORK_FUNCTION_NIC` The type of NIC is Network-Function. */ nicType?: pulumi.Input; /** * - (Optional) Indicates whether an unknown unicast traffic is forwarded to this NIC or not. This is applicable only for the NICs on the overlay subnets. */ shouldAllowUnknownMacs?: pulumi.Input; /** * - (Optional) Network identifier for this adapter. Only valid if nicType is NORMAL_NIC or DIRECT_NIC. */ subnets?: pulumi.Input[] | undefined>; /** * - (Optional) List of networks to trunk if VLAN mode is marked as TRUNKED. If empty and VLAN mode is set to TRUNKED, all the VLANs are trunked. */ trunkedVlans?: pulumi.Input[] | undefined>; /** * - (Optional) By default, all the virtual NICs are created in ACCESS mode, which permits only one VLAN per virtual network. TRUNKED mode allows multiple VLANs on a single VM NIC for network-aware user VMs. * Valid values are: * - `TRUNK` The virtual NIC is created in TRUNKED mode. * - `ACCESS` The virtual NIC is created in ACCESS mode. */ vlanMode?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Config { ipAddresses?: pulumi.Input[] | undefined>; secondaryIpAddressLists?: pulumi.Input[] | undefined>; /** * - (Optional) If set to true (default value), an IP address must be assigned to the VM NIC - either the one explicitly specified by the user or allocated automatically by the IPAM service by not specifying the IP address. If false, then no IP assignment is required for this VM NIC. * `ipAddress`: - (Optional) Ip config settings. * `secondaryIpAddressList`: - (Optional) Secondary IP addresses for the NIC. */ shouldAssignIp?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigIpAddress { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4ConfigSecondaryIpAddressList { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. */ value?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4Info { learnedIpAddresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv4InfoLearnedIpAddress { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6Info { learnedIpv6Addresses?: pulumi.Input[] | undefined>; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoIpv6InfoLearnedIpv6Address { prefixLength?: pulumi.Input; value: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoNetworkFunctionChain { /** * - (Optional) The globally unique identifier of a network function chain. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2NicNicNetworkInfoVirtualEthernetNicNetworkInfoSubnet { /** * - (Optional) The globally unique identifier of a subnet. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmCloneV2OwnershipInfo { owners?: pulumi.Input[] | undefined>; } export interface VmCloneV2OwnershipInfoOwner { extId?: pulumi.Input; } export interface VmCloneV2ProtectionPolicyState { policies?: pulumi.Input[] | undefined>; } export interface VmCloneV2ProtectionPolicyStatePolicy { extId?: pulumi.Input; } export interface VmCloneV2SerialPort { extId?: pulumi.Input; /** * - (Optional) Device index on the bus. This field is ignored unless the bus details are specified. */ index?: pulumi.Input; /** * - (Optional) Indicates whether the NIC is connected or not. Default is True. */ isConnected?: pulumi.Input; } export interface VmCloneV2Source { entityType?: pulumi.Input; extId?: pulumi.Input; } export interface VmCloneV2StorageConfig { /** * - (Optional) Indicates whether the virtual disk is pinned to the hot tier or not. */ isFlashModeEnabled?: pulumi.Input; qosConfigs?: pulumi.Input[] | undefined>; } export interface VmCloneV2StorageConfigQosConfig { throttledIops?: pulumi.Input; } export interface VmCloneV2VtpmConfig { isVtpmEnabled?: pulumi.Input; version?: pulumi.Input; } export interface VmGcUpdateV2Config { /** * - (Optional) VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloudInit should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script. */ cloudInits?: pulumi.Input[] | undefined>; /** * - (Optional) VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloudInit should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script. */ syspreps?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigCloudInit { /** * - (Optional) The script to use for cloud-init. */ cloudInitScripts?: pulumi.Input[] | undefined>; /** * - (Optional) Type of datasource. * Default: CONFIG_DRIVE_V2Default is `CONFIG_DRIVE_V2`. * Valid values are: * - `CONFIG_DRIVE_V2` The type of datasource for cloud-init is Config Drive V2. */ datasourceType?: pulumi.Input; /** * The contents of the metaData configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded. */ metadata?: pulumi.Input; } export interface VmGcUpdateV2ConfigCloudInitCloudInitScript { customKeys?: pulumi.Input[] | undefined>; /** * - (Optional) The contents of the userData configuration for cloud-init. This can be formatted as YAML, JSON, or could be a shell script. The value must be base64 encoded. */ userDatas?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigCloudInitCloudInitScriptCustomKey { /** * - (Optional) The list of the individual KeyValuePair elements. */ keyValuePairs?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigCloudInitCloudInitScriptCustomKeyKeyValuePair { /** * - (Optional) The key of this key-value pair */ name?: pulumi.Input; /** * - (Optional) The value associated with the key for this key-value pair. * * See detailed information in [Nutanix Customize Gest VM V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/customizeGuestVm). */ value?: pulumi.Input; } export interface VmGcUpdateV2ConfigCloudInitCloudInitScriptUserData { /** * - (Optional) The value for the cloud-init user_data. */ value?: pulumi.Input; } export interface VmGcUpdateV2ConfigSysprep { /** * - (Optional) Whether the guest will be freshly installed using this unattend configuration, or whether this unattend configuration will be applied to a pre-prepared image. Default is `PREPARED`. * Valid values are: * - `PREPARED` is done when sysprep is used to finalize Windows installation from an installed Windows and file name it is searching `unattend.xml` for `unattendXml` parameter * - `FRESH` is done when sysprep is used to install Windows from ISO and file name it is searching `autounattend.xml` for `unattendXml` parameter */ installType?: pulumi.Input; sysprepScripts?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigSysprepSysprepScript { /** * - (Optional) Generic key value pair used for custom attributes in cloud init. */ customKeyValues?: pulumi.Input[] | undefined>; /** * - (Optional) Generic key value pair used for custom attributes. */ unattendXmls?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigSysprepSysprepScriptCustomKeyValue { /** * - (Optional) The list of the individual KeyValuePair elements. */ keyValuePairs?: pulumi.Input[] | undefined>; } export interface VmGcUpdateV2ConfigSysprepSysprepScriptCustomKeyValueKeyValuePair { /** * - (Optional) The key of this key-value pair */ name?: pulumi.Input; /** * - (Optional) The value associated with the key for this key-value pair. * * See detailed information in [Nutanix Customize Gest VM V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/customizeGuestVm). */ value?: pulumi.Input; } export interface VmGcUpdateV2ConfigSysprepSysprepScriptUnattendXml { value?: pulumi.Input; } export interface VmNetworkDeviceAssignIpV2IpAddress { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. * * See detailed information in [Nutanix Assign an IP address to the VM V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/assignIpById). */ value: pulumi.Input; } export interface VmNetworkDeviceMigrateV2IpAddress { /** * - (Optional) The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - Ip address. * * See detailed information in [Nutanix Migrate NIC to another Subnet for VM V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/migrateNicById). */ value: pulumi.Input; } export interface VmNetworkDeviceMigrateV2Subnet { /** * - (Optional) The globally unique identifier of a subnet. It should be of type UUID. */ extId?: pulumi.Input; } export interface VmShutdownActionV2GuestPowerStateTransitionConfig { /** * Indicates whether to run the set script before the VM shutdowns/restarts. */ shouldEnableScriptExec?: pulumi.Input; /** * Indicates whether to abort VM shutdown/restart if the script fails. * * * See detailed information in [Nutanix VMs Power Action Shutdown V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/shutdownVm). * See detailed information in [Nutanix VMs Power Action Shutdown Guest Vm V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/shutdownGuestVm). * See detailed information in [Nutanix VMs Power Action Reboot V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/rebootVm). * See detailed information in [Nutanix VMs Power Action Reboot Guest Vm V4](https://developers.nutanix.com/api-reference?namespace=vmm&version=v4.2#tag/Vm/operation/rebootGuestVm). */ shouldFailOnScriptFailure?: pulumi.Input; } export interface VolumeGroupDiskV2DiskDataSourceReference { /** * - The Entity Type of the Data Source Reference. valid values are: * - STORAGE_CONTAINER * - VM_DISK * - VOLUME_DISK * - DISK_RECOVERY_POINT */ entityType?: pulumi.Input; /** * - The external identifier of the Data Source Reference. */ extId: pulumi.Input; /** * - The name of the Data Source Reference for the Volume Group. */ name?: pulumi.Input; /** * - The uri list of the Data Source Reference. */ uris?: pulumi.Input[] | undefined>; } export interface VolumeGroupDiskV2DiskStorageFeature { /** * - this field will avoid down migration of data from the hot tier unless the overrides field is specified for the virtual disks. */ flashModes?: pulumi.Input[] | undefined>; } export interface VolumeGroupDiskV2DiskStorageFeatureFlashMode { /** * - Indicates whether the flash mode is enabled for the Volume Group Disk. */ isEnabled?: pulumi.Input; } export interface VolumeGroupIscsiClientV2IscsiInitiatorNetworkId { /** * A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. */ fqdns?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv4 format. */ ipv4s?: pulumi.Input[] | undefined>; /** * An unique address that identifies a device on the internet or a local network in IPv6 format. */ ipv6s?: pulumi.Input[] | undefined>; } export interface VolumeGroupIscsiClientV2IscsiInitiatorNetworkIdFqdn { /** * - The fully qualified domain name. * * * See detailed information in [Nutanix Attach an iSCSI Client to Volume Group V4](https://developers.nutanix.com/api-reference?namespace=volumes&version=v4.2#tag/VolumeGroups/operation/attachIscsiClient). */ value?: pulumi.Input; } export interface VolumeGroupIscsiClientV2IscsiInitiatorNetworkIdIpv4 { /** * - The prefix length of the network to which this host IPv4 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv4 format. */ value?: pulumi.Input; } export interface VolumeGroupIscsiClientV2IscsiInitiatorNetworkIdIpv6 { /** * - The prefix length of the network to which this host IPv6 address belongs. */ prefixLength?: pulumi.Input; /** * - An unique address that identifies a device on the internet or a local network in IPv6 format. */ value?: pulumi.Input; } export interface VolumeGroupV2Disk { /** * - Volume Disk description. */ description?: pulumi.Input; /** * -(Required) Disk Data Source Reference. */ diskDataSourceReferences: pulumi.Input[]>; /** * - Size of the disk in bytes. This field is mandatory during Volume Group creation if a new disk is being created on the storage container. */ diskSizeBytes: pulumi.Input; /** * - Storage optimization features which must be enabled on the Volume Disks. This is an optional field. If omitted, the disks will honor the Volume Group specific storage features setting. */ diskStorageFeatures?: pulumi.Input[] | undefined>; /** * - Index of the disk in a Volume Group. This field is optional and immutable. */ index?: pulumi.Input; } export interface VolumeGroupV2DiskDiskDataSourceReference { /** * - The Entity Type of the Data Source Reference. */ entityType?: pulumi.Input; /** * - The external identifier of the Data Source Reference. */ extId: pulumi.Input; /** * - The name of the Data Source Reference. for the Volume Group. */ name?: pulumi.Input; /** * - The uri list of the Data Source Reference. */ uris?: pulumi.Input[] | undefined>; } export interface VolumeGroupV2DiskDiskStorageFeature { /** * - this field will avoid down migration of data from the hot tier unless the overrides field is specified for the virtual disks. */ flashModes?: pulumi.Input[] | undefined>; } export interface VolumeGroupV2DiskDiskStorageFeatureFlashMode { /** * - Indicates whether the flash mode is enabled for the Volume Group Disk. */ isEnabled?: pulumi.Input; } export interface VolumeGroupV2IscsiFeature { /** * - The authentication type enabled for the Volume Group. */ enabledAuthentications?: pulumi.Input; /** * Target secret in case of a CHAP authentication. This field must only be provided in case the authentication type is not set to CHAP. This is an optional field and it cannot be retrieved once configured. */ targetSecret?: pulumi.Input; } export interface VolumeGroupV2StorageFeature { /** * - this field will avoid down migration of data from the hot tier unless the overrides field is specified for the virtual disks. */ flashModes?: pulumi.Input[] | undefined>; } export interface VolumeGroupV2StorageFeatureFlashMode { /** * - Indicates whether the flash mode is enabled for the Volume Group Disk. */ isEnabled?: pulumi.Input; } export interface VpcCommonDomainNameServerIpList { /** * ip address. */ ip?: pulumi.Input; } export interface VpcExternalSubnetListStatus { activeGatewayNode?: pulumi.Input; externalIpLists?: pulumi.Input[] | undefined>; externalSubnetReference: pulumi.Input<{ [key: string]: pulumi.Input; }>; } export interface VpcExternalSubnetListStatusActiveGatewayNode { hostReference: pulumi.Input<{ [key: string]: pulumi.Input; }>; ipAddress?: pulumi.Input; } export interface VpcExternallyRoutablePrefixList { /** * ip address. */ ip: pulumi.Input; /** * prefix length. */ prefixLength: pulumi.Input; } export interface VpcV2CommonDhcpOption { /** * List of Domain Name Server addresses * - `domain_name_servers.ipv4`:(Optional) Reference to address configuration * - `domain_name_servers.ipv6`: (Optional) Reference to address configuration */ domainNameServers?: pulumi.Input[] | undefined>; } export interface VpcV2CommonDhcpOptionDomainNameServer { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface VpcV2CommonDhcpOptionDomainNameServerIpv4 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2CommonDhcpOptionDomainNameServerIpv6 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternalSubnet { activeGatewayCount?: pulumi.Input; /** * Maximum number of active gateway nodes for the VPC external subnet association. */ activeGatewayNodes?: pulumi.Input[] | undefined>; /** * List of IP Addresses used for SNAT, if NAT is enabled on the external subnet. If NAT is not enabled, this specifies the IP address of the VPC port connected to the external gateway. */ externalIps?: pulumi.Input[] | undefined>; /** * List of gateway nodes that can be used for external connectivity. */ gatewayNodes?: pulumi.Input[] | undefined>; /** * External subnet reference. */ subnetReference: pulumi.Input; } export interface VpcV2ExternalSubnetActiveGatewayNode { nodeId?: pulumi.Input; nodeIpAddresses?: pulumi.Input[] | undefined>; } export interface VpcV2ExternalSubnetActiveGatewayNodeNodeIpAddress { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface VpcV2ExternalSubnetActiveGatewayNodeNodeIpAddressIpv4 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternalSubnetActiveGatewayNodeNodeIpAddressIpv6 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternalSubnetExternalIp { /** * Reference to address configuration */ ipv4s?: pulumi.Input[] | undefined>; /** * Reference to address configuration */ ipv6s?: pulumi.Input[] | undefined>; } export interface VpcV2ExternalSubnetExternalIpIpv4 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternalSubnetExternalIpIpv6 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternallyRoutablePrefix { /** * IP V4 Configuration * - `ipv4.ip`: (Required) Reference to address configuration * - `ipv4.prefix_length`: (Required) The prefix length of the network */ ipv4s?: pulumi.Input[] | undefined>; /** * IP V6 Configuration * - `ipv6.ip`: (Required) Reference to address configuration * - `ipv6.prefix_length`: (Required) The prefix length of the network */ ipv6s?: pulumi.Input[] | undefined>; } export interface VpcV2ExternallyRoutablePrefixIpv4 { ips?: pulumi.Input[] | undefined>; prefixLength: pulumi.Input; } export interface VpcV2ExternallyRoutablePrefixIpv4Ip { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2ExternallyRoutablePrefixIpv6 { ips?: pulumi.Input[] | undefined>; prefixLength: pulumi.Input; } export interface VpcV2ExternallyRoutablePrefixIpv6Ip { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2Link { href?: pulumi.Input; rel?: pulumi.Input; } export interface VpcV2Metadata { categoryIds?: pulumi.Input[] | undefined>; ownerReferenceId?: pulumi.Input; ownerUserName?: pulumi.Input; projectName?: pulumi.Input; projectReferenceId?: pulumi.Input; } export interface VpcV2SnatIp { ipv4s?: pulumi.Input[] | undefined>; ipv6s?: pulumi.Input[] | undefined>; } export interface VpcV2SnatIpIpv4 { prefixLength?: pulumi.Input; value?: pulumi.Input; } export interface VpcV2SnatIpIpv6 { prefixLength?: pulumi.Input; value?: pulumi.Input; } //# sourceMappingURL=input.d.ts.map