import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Image Nodes and Create a cluster out of nodes registered with Foundation Central. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const img2 = new nutanix.FoundationCentralImageCluster("img2", { * clusterName: "test-FC", * clusterExternalIp: "", * commonNetworkSettings: { * cvmDnsServers: ["xx.x.xx.xx"], * hypervisorDnsServers: ["xx.x.xx.xx"], * cvmNtpServers: [""], * hypervisorNtpServers: [""], * }, * redundancyFactor: 2, * nodeLists: [ * { * cvmGateway: "10.xx.xx.xx", * cvmNetmask: "xx.xx.xx.xx", * cvmIp: "10.x.xx.xx", * hypervisorGateway: "10.x.x.xx", * hypervisorNetmask: "xx.xx.xx.xx", * hypervisorIp: "10.x.xx.xx", * hypervisorHostname: "HOST-1", * imagedNodeUuid: "", * useExistingNetworkSettings: false, * ipmiGateway: "10.x.xx.xx", * ipmiNetmask: "10.x.xx.xx", * ipmiIp: "10.x.xx.xx", * imageNow: true, * hypervisorType: "kvm", * hardwareAttributesOverride: { * default_workload: "vdi", * lcm_family: "smc_gen_10", * maybe_1GbE_only: "true", * robo_mixed_hypervisor: "true", * }, * }, * { * cvmGateway: "10.xx.xx.xx", * cvmNetmask: "xx.xx.xx.xx", * cvmIp: "10.x.xx.xx", * hypervisorGateway: "10.x.x.xx", * hypervisorNetmask: "xx.xx.xx.xx", * hypervisorIp: "10.x.xx.xx", * hypervisorHostname: "HOST-2", * imagedNodeUuid: "", * useExistingNetworkSettings: false, * ipmiGateway: "10.x.xx.xx", * ipmiNetmask: "10.x.xx.xx", * ipmiIp: "10.x.xx.xx", * imageNow: true, * hypervisorType: "kvm", * }, * { * cvmGateway: "10.xx.xx.xx", * cvmNetmask: "xx.xx.xx.xx", * cvmIp: "10.x.xx.xx", * hypervisorGateway: "10.x.x.xx", * hypervisorNetmask: "xx.xx.xx.xx", * hypervisorIp: "10.x.xx.xx", * hypervisorHostname: "HOST-3", * imagedNodeUuid: "", * useExistingNetworkSettings: false, * ipmiGateway: "10.x.xx.xx", * ipmiNetmask: "10.x.xx.xx", * ipmiIp: "10.x.xx.xx", * imageNow: true, * hypervisorType: "kvm", * }, * ], * aosPackageUrl: "", * hypervisorIsos: { * url: "", * sha256sum: "", * hypervisorType: "kvm", * }, * skipClusterCreation: true, * }); * ``` * * * ## Error * * Incase of error in any individual node or cluster, terraform will error our after full imaging process is completed. Error will be shown for every failed node and cluster. * * ## lifecycle * * * `Update` : - Resource will trigger new resource create call for any kind of update in resource config. * * `delete` : - Resource will be deleted from Foundation Central deployment history. For Actual Cluster delete , manually destroy the cluster. * * See detailed information in [Nutanix Foundation Central Create a Cluster](https://www.nutanix.dev/api_references/foundation-central/#/cba507f282927-request-to-create-a-cluster). */ export declare class FoundationCentralImageCluster extends pulumi.CustomResource { /** * Get an existing FoundationCentralImageCluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FoundationCentralImageClusterState, opts?: pulumi.CustomResourceOptions): FoundationCentralImageCluster; /** * Returns true if the given object is an instance of FoundationCentralImageCluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is FoundationCentralImageCluster; /** * Sha256sum of AOS package. */ readonly aosPackageSha256sum: pulumi.Output; /** * URL to download AOS package. Required only if imaging is needed. */ readonly aosPackageUrl: pulumi.Output; readonly archived: pulumi.Output; /** * External management ip of the cluster. */ readonly clusterExternalIp: pulumi.Output; /** * Name of the cluster. */ readonly clusterName: pulumi.Output; /** * Number of nodes in the cluster. */ readonly clusterSize: pulumi.Output; readonly clusterStatus: pulumi.Output; /** * Common network settings across the nodes in the cluster. */ readonly commonNetworkSettings: pulumi.Output; readonly createdTimestamp: pulumi.Output; readonly currentTime: pulumi.Output; readonly destroyed: pulumi.Output; /** * UUID of the FC API key to be used in the imaging process. Required only for imaging via a hardware manager like Cisco Intersight managed UCS nodes. */ readonly fcApiKeyUuid: pulumi.Output; readonly foundationInitConfigs: pulumi.Output; readonly foundationInitNodeUuid: pulumi.Output; /** * Details of the hypervisor iso. (Deprecated) */ readonly hypervisorIsoDetails: pulumi.Output; /** * Details of the hypervisor iso. Required for deploying node with AOS >= 6.8 */ readonly hypervisorIsos: pulumi.Output; readonly imageClusterUuid: pulumi.Output; /** * Unique id of the cluster. */ readonly imagedClusterUuid: pulumi.Output; readonly imagedNodeUuidLists: pulumi.Output; readonly nodeLists: pulumi.Output; /** * Redundancy factor of the cluster. */ readonly redundancyFactor: pulumi.Output; /** * 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" * } * }) * ``` */ readonly serverConfigurationData: pulumi.Output; readonly skipClusterCreation: pulumi.Output; /** * Number of storage only nodes in the cluster. AHV iso for storage node will be taken from aos package. */ readonly storageNodeCount: pulumi.Output; /** * Timezone to be set on the cluster. */ readonly timezone: pulumi.Output; readonly workflowType: pulumi.Output; /** * Create a FoundationCentralImageCluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: FoundationCentralImageClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FoundationCentralImageCluster resources. */ export interface FoundationCentralImageClusterState { /** * Sha256sum of AOS package. */ aosPackageSha256sum?: pulumi.Input; /** * URL to download AOS package. Required only if imaging is needed. */ aosPackageUrl?: pulumi.Input; archived?: pulumi.Input; /** * External management ip of the cluster. */ clusterExternalIp?: pulumi.Input; /** * Name of the cluster. */ clusterName?: pulumi.Input; /** * Number of nodes in the cluster. */ clusterSize?: pulumi.Input; clusterStatus?: pulumi.Input; /** * Common network settings across the nodes in the cluster. */ commonNetworkSettings?: pulumi.Input; createdTimestamp?: pulumi.Input; currentTime?: pulumi.Input; destroyed?: pulumi.Input; /** * UUID of the FC API key to be used in the imaging process. Required only for imaging via a hardware manager like Cisco Intersight managed UCS nodes. */ fcApiKeyUuid?: pulumi.Input; foundationInitConfigs?: pulumi.Input[] | undefined>; foundationInitNodeUuid?: pulumi.Input; /** * Details of the hypervisor iso. (Deprecated) */ hypervisorIsoDetails?: pulumi.Input; /** * Details of the hypervisor iso. Required for deploying node with AOS >= 6.8 */ hypervisorIsos?: pulumi.Input; imageClusterUuid?: pulumi.Input; /** * Unique id of the cluster. */ imagedClusterUuid?: pulumi.Input; imagedNodeUuidLists?: pulumi.Input[] | undefined>; nodeLists?: pulumi.Input[] | undefined>; /** * Redundancy factor of the cluster. */ redundancyFactor?: 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; skipClusterCreation?: pulumi.Input; /** * Number of storage only nodes in the cluster. AHV iso for storage node will be taken from aos package. */ storageNodeCount?: pulumi.Input; /** * Timezone to be set on the cluster. */ timezone?: pulumi.Input; workflowType?: pulumi.Input; } /** * The set of arguments for constructing a FoundationCentralImageCluster resource. */ export interface FoundationCentralImageClusterArgs { /** * Sha256sum of AOS package. */ aosPackageSha256sum?: pulumi.Input; /** * URL to download AOS package. Required only if imaging is needed. */ aosPackageUrl?: pulumi.Input; /** * External management ip of the cluster. */ clusterExternalIp?: pulumi.Input; /** * Name of the cluster. */ clusterName?: pulumi.Input; /** * Number of nodes in the cluster. */ clusterSize?: pulumi.Input; clusterStatus?: pulumi.Input; /** * Common network settings across the nodes in the cluster. */ commonNetworkSettings?: pulumi.Input; /** * UUID of the FC API key to be used in the imaging process. Required only for imaging via a hardware manager like Cisco Intersight managed UCS nodes. */ fcApiKeyUuid?: pulumi.Input; /** * Details of the hypervisor iso. (Deprecated) */ hypervisorIsoDetails?: pulumi.Input; /** * Details of the hypervisor iso. Required for deploying node with AOS >= 6.8 */ hypervisorIsos?: pulumi.Input; imageClusterUuid?: pulumi.Input; nodeLists?: pulumi.Input[] | undefined>; /** * Redundancy factor of the cluster. */ redundancyFactor?: 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; skipClusterCreation?: pulumi.Input; /** * Number of storage only nodes in the cluster. AHV iso for storage node will be taken from aos package. */ storageNodeCount?: pulumi.Input; /** * Timezone to be set on the cluster. */ timezone?: pulumi.Input; } //# sourceMappingURL=foundationCentralImageCluster.d.ts.map