import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Returns a list of elements representing the domain manager (Prism Central) instance. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * // Fetch all PCs (Domain Managers) * const pcs = nutanix.getPcsV2({}); * // List all PCs (Domain Managers) with selected properties * const pcs_select = nutanix.getPcsV2({ * select: "config,extId", * }); * ``` * * * ## PCS * * The `pcs` argument supports the following: * * * `tenantId`: - A globally unique identifier that represents the tenant that owns this entity. The system automatically assigns it, and it and is immutable from an API consumer perspective (some use cases may cause this Id to change - For instance, a use case may require the transfer of ownership of the entity, but these cases are handled automatically on the server). * * `extId`: - A globally unique identifier of an instance that is suitable for external consumption. * * `links`: - 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. * * `config`: - Domain manager (Prism Central) cluster configuration details. * * `isRegisteredWithHostingCluster`: - Boolean value indicating if the domain manager (Prism Central) is registered with the hosting cluster, that is, Prism Element. * * `network`: - Domain manager (Prism Central) network configuration details. * * `hostingClusterExtId`: - The external identifier of the cluster hosting the domain manager (Prism Central) instance. * * `shouldEnableHighAvailability`: - This configuration enables Prism Central to be deployed in scale-out mode. * * `nodeExtIds`: - Domain manager (Prism Central) nodes external identifier. * * ### Config * The config argument supports the following: * * * `shouldEnableLockdownMode`: - A boolean value indicating whether to enable lockdown mode for a cluster. * * `buildInfo`: -Currently representing the build information to be used for the cluster creation. * * `name`: - Name of the domain manager (Prism Central). * * `size`: - Domain manager (Prism Central) size is an enumeration of starter, small, large, or extra large starter values. possible 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. * * `bootstrapConfig`: - Bootstrap configuration details for the domain manager (Prism Central). * * `resourceConfig`: - 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. * * #### Build Info * The `buildInfo` argument supports the following: * * * `version`: - Software version. * * #### Bootstrap Config * The `bootstrapConfig` argument supports the following: * * * `environmentInfo`: - Environment information for the domain manager (Prism Central) cluster. * * ##### Environment Info * The `environmentInfo` argument supports the following: * * * `type`: - 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. * * `providerType`: - 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. * * `provisioningType`: - 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. * * #### Resource Config * The `resourceConfig` argument supports the following: * * * `numVcpus`: - This property is used for readOnly purposes to display Prism Central number of VCPUs allocation. * * `memorySizeBytes`: - This property is used for readOnly purposes to display Prism Central RAM allocation at the cluster level. * * `dataDiskSizeBytes`: - This property is used for readOnly purposes to display Prism Central data disk size allocation at a cluster level. * * `containerExtIds`: - The external identifier of the container that will be used to create the domain manager (Prism Central) cluster. * * ### Network * the `network` argument supports the following: * * * `externalAddress`: - An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. * * `nameServers`: - 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. * * `ntpServers`: - 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. * * `fqdn`: - Cluster fully qualified domain name. This is part of payload for cluster update operation only. * * `externalNetworks`: - This configuration is used to manage Prism Central. * * #### External Address * The `externalAddress` argument supports the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * #### Name Servers, NTP Servers * The `nameServers` and `ntpServers` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * `fqdn`: - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. * * #### External Networks * The `externalNetworks` argument supports the following: * * * `defaultGateway`: - 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`: - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. * * `ipRanges`: - Range of IPs used for Prism Central network setup. * * `networkExtId`: - The network external identifier to which Domain Manager (Prism Central) is to be deployed or is already configured. * * #### Default Gateway, Subnet Mask * The `defaultGateway`and `subnetMask` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * `fqdn`: - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. * * #### IP Ranges * The `ipRanges` argument supports the following: * * * `begin`: - The beginning IP address of the range. * * `end`: - The ending IP address of the range. * * #### begin, end * The `begin` and `end` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * #### IpV4, IpV6 * The `ipv4` and `ipv6` arguments support the following: * * * `value`: - The IPv4/IPv6 address of the host. * * `prefixLength`: - The prefix length of the network to which this host IPv4/IPv6 address belongs. * * #### FQDN * The `fqdn` argument supports the following: * * * `value`: - The fully qualified domain name of the host. * * See detailed information in [Nutanix List PCs V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/listDomainManagers). */ export declare function getPcsV2(args?: GetPcsV2Args, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getPcsV2. */ export interface GetPcsV2Args { /** * - URL query parameter that allows clients to request a specific set of properties for each entity or complex type. Expression specified with the \$select must conform to the OData V4.01 URL conventions. If a \$select expression consists of a single select item that is an asterisk (i.e., *), then all properties on the matching resource will be returned. supported values are: */ select?: string; } /** * A collection of values returned by getPcsV2. */ export interface GetPcsV2Result { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * - A list of domain manager (Prism Central) entities. */ readonly pcs: outputs.GetPcsV2Pc[]; readonly select?: string; } /** * Returns a list of elements representing the domain manager (Prism Central) instance. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * // Fetch all PCs (Domain Managers) * const pcs = nutanix.getPcsV2({}); * // List all PCs (Domain Managers) with selected properties * const pcs_select = nutanix.getPcsV2({ * select: "config,extId", * }); * ``` * * * ## PCS * * The `pcs` argument supports the following: * * * `tenantId`: - A globally unique identifier that represents the tenant that owns this entity. The system automatically assigns it, and it and is immutable from an API consumer perspective (some use cases may cause this Id to change - For instance, a use case may require the transfer of ownership of the entity, but these cases are handled automatically on the server). * * `extId`: - A globally unique identifier of an instance that is suitable for external consumption. * * `links`: - 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. * * `config`: - Domain manager (Prism Central) cluster configuration details. * * `isRegisteredWithHostingCluster`: - Boolean value indicating if the domain manager (Prism Central) is registered with the hosting cluster, that is, Prism Element. * * `network`: - Domain manager (Prism Central) network configuration details. * * `hostingClusterExtId`: - The external identifier of the cluster hosting the domain manager (Prism Central) instance. * * `shouldEnableHighAvailability`: - This configuration enables Prism Central to be deployed in scale-out mode. * * `nodeExtIds`: - Domain manager (Prism Central) nodes external identifier. * * ### Config * The config argument supports the following: * * * `shouldEnableLockdownMode`: - A boolean value indicating whether to enable lockdown mode for a cluster. * * `buildInfo`: -Currently representing the build information to be used for the cluster creation. * * `name`: - Name of the domain manager (Prism Central). * * `size`: - Domain manager (Prism Central) size is an enumeration of starter, small, large, or extra large starter values. possible 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. * * `bootstrapConfig`: - Bootstrap configuration details for the domain manager (Prism Central). * * `resourceConfig`: - 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. * * #### Build Info * The `buildInfo` argument supports the following: * * * `version`: - Software version. * * #### Bootstrap Config * The `bootstrapConfig` argument supports the following: * * * `environmentInfo`: - Environment information for the domain manager (Prism Central) cluster. * * ##### Environment Info * The `environmentInfo` argument supports the following: * * * `type`: - 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. * * `providerType`: - 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. * * `provisioningType`: - 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. * * #### Resource Config * The `resourceConfig` argument supports the following: * * * `numVcpus`: - This property is used for readOnly purposes to display Prism Central number of VCPUs allocation. * * `memorySizeBytes`: - This property is used for readOnly purposes to display Prism Central RAM allocation at the cluster level. * * `dataDiskSizeBytes`: - This property is used for readOnly purposes to display Prism Central data disk size allocation at a cluster level. * * `containerExtIds`: - The external identifier of the container that will be used to create the domain manager (Prism Central) cluster. * * ### Network * the `network` argument supports the following: * * * `externalAddress`: - An unique address that identifies a device on the internet or a local network in IPv4 or IPv6 format. * * `nameServers`: - 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. * * `ntpServers`: - 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. * * `fqdn`: - Cluster fully qualified domain name. This is part of payload for cluster update operation only. * * `externalNetworks`: - This configuration is used to manage Prism Central. * * #### External Address * The `externalAddress` argument supports the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * #### Name Servers, NTP Servers * The `nameServers` and `ntpServers` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * `fqdn`: - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. * * #### External Networks * The `externalNetworks` argument supports the following: * * * `defaultGateway`: - 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`: - An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name. * * `ipRanges`: - Range of IPs used for Prism Central network setup. * * `networkExtId`: - The network external identifier to which Domain Manager (Prism Central) is to be deployed or is already configured. * * #### Default Gateway, Subnet Mask * The `defaultGateway`and `subnetMask` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * `fqdn`: - A fully qualified domain name that specifies its exact location in the tree hierarchy of the Domain Name System. * * #### IP Ranges * The `ipRanges` argument supports the following: * * * `begin`: - The beginning IP address of the range. * * `end`: - The ending IP address of the range. * * #### begin, end * The `begin` and `end` arguments support the following: * * * `ipv4`: - An unique address that identifies a device on the internet or a local network in IPv4 format. * * `ipv6`: - An unique address that identifies a device on the internet or a local network in IPv6 format. * * #### IpV4, IpV6 * The `ipv4` and `ipv6` arguments support the following: * * * `value`: - The IPv4/IPv6 address of the host. * * `prefixLength`: - The prefix length of the network to which this host IPv4/IPv6 address belongs. * * #### FQDN * The `fqdn` argument supports the following: * * * `value`: - The fully qualified domain name of the host. * * See detailed information in [Nutanix List PCs V4](https://developers.nutanix.com/api-reference?namespace=prism&version=v4.3#tag/DomainManager/operation/listDomainManagers). */ export declare function getPcsV2Output(args?: GetPcsV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getPcsV2. */ export interface GetPcsV2OutputArgs { /** * - URL query parameter that allows clients to request a specific set of properties for each entity or complex type. Expression specified with the \$select must conform to the OData V4.01 URL conventions. If a \$select expression consists of a single select item that is an asterisk (i.e., *), then all properties on the matching resource will be returned. supported values are: */ select?: pulumi.Input; } //# sourceMappingURL=getPcsV2.d.ts.map