import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Images node(s) and optionally creates clusters. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const batch1 = new nutanix.FoundationImageNodes("batch1", { * nosPackage: "nos_package.tar", * cvmNetmask: "10.xx.xx.xx", * cvmGateway: "10.xx.xx.xx", * hypervisorGateway: "10.xx.xx.xx", * hypervisorNetmask: "10.xx.xx.xx", * ipmiGateway: "10.xx.xx.xx", * ipmiNetmask: "10.xx.xx.xx", * hypervisorIso: { * esx: { * filename: iso, * checksum: "aasjdajkdsa8sdjnwj2902djncsdc93", * }, * }, * blocks: [ * { * nodes: [ * { * hypervisorHostname: "batman-1", * cvmGbRam: 50, * hypervisorIp: "10.xx.xx.xx", * hypervisor: "kvm", * imageNow: true, * ipmiIp: "10.xx.xx.xx", * cvmIp: "10.xx.xx.xx", * nodePosition: "A", * ipmiUser: "ADMIN", * ipmiPassword: "10.xx.xx.xx", * }, * { * cvmNumVcpus: 10, * cvmGbRam: 51, * hypervisorHostname: "batman-2", * ipv6Address: "ffff::ffff:ffff:ffff:ffff%eth0", * currentNetworkInterface: "eth0", * hypervisorIp: "10.xx.xx.xx", * hypervisor: "kvm", * imageNow: true, * ipmiIp: "10.xx.xx.xx", * cvmIp: "10.xx.xx.xx", * nodePosition: "B", * deviceHint: "vm_installer", * }, * { * cvmNumVcpus: 10, * cvmGbRam: 51, * hypervisorHostname: "batman-3", * ipv6Address: "ffff::ffff:ffff:ffff:ffff%eth0", * hypervisorIp: "10.xx.xx.xx", * hypervisor: "kvm", * imageNow: true, * ipmiIp: "10.xx.xx.xx", * currentNetworkInterface: "eth0", * cvmIp: "10.xx.xx.xx", * nodePosition: "C", * deviceHint: "vm_installer", * }, * ], * blockId: "999999999", * }, * { * nodes: [{ * cvmNumVcpus: 10, * cvmGbRam: 51, * ipv6Address: "ffff::ffff:ffff:ffff:ffff%eth0", * currentNetworkInterface: "eth2", * hypervisorHostname: "superman-1", * hypervisorIp: "10.xx.xx.xx", * hypervisor: "esx", * imageNow: true, * ipmiIp: "10.xx.xx.xx", * cvmIp: "10.xx.xx.xx", * nodePosition: "D", * deviceHint: "vm_installer", * }], * blockId: "99999999", * }, * ], * clusters: [ * { * redundancyFactor: 1, * clusterName: "superman", * singleNodeCluster: true, * clusterInitNow: true, * clusterExternalIp: "10.xx.xx.xx", * clusterMembers: ["10.xx.xx.xx"], * }, * { * redundancyFactor: 2, * clusterName: "batman", * clusterInitNow: true, * clusterExternalIp: "10.xx.xx.xx", * clusterMembers: [ * "10.xx.xx.xx", * "10.xx.xx.xx", * "10.xx.xx.xx", * ], * timezone: "Africa/Conakry", * }, * ], * }); * export const session = nutanixFoundationImageNodes.batch1; * ``` * * * ## Defaults * * The attributes like `ipmiNetmask`, `ipmiGateway`, `ipmiUser` & `ipmiPassword` can be mentioned for a node as well as for all nodes outside blocks. This attributes if mentioned in node will be used for that particular node. * * ## Error * * Incase of error in any individual entity i.e. 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` : - Delete will be a soft delete. * * See detailed information in [Nutanix Foundation Image Nodes](https://www.nutanix.dev/api_references/foundation/#/b3A6MjIyMjMzOTQ-image-a-given-set-of-nodes). */ export declare class FoundationImageNodes extends pulumi.CustomResource { /** * Get an existing FoundationImageNodes 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?: FoundationImageNodesState, opts?: pulumi.CustomResourceOptions): FoundationImageNodes; /** * Returns true if the given object is an instance of FoundationImageNodes. 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 FoundationImageNodes; /** * - (Required) Terraform blocks of Block level parameters. */ readonly blocks: pulumi.Output; /** * - list containing cluster name and cluster urls for created clusters in current session * * `cluster_urls.#.cluster_name` :- clusterName * * `cluster_urls.#.cluster_url` :- url to access the cluster login */ readonly clusterUrls: pulumi.Output; /** * - Terraform blocks of clusters config */ readonly clusters: pulumi.Output; /** * - (Required) CVM gateway. */ readonly cvmGateway: pulumi.Output; /** * - (Required) CVM netmask. */ readonly cvmNetmask: pulumi.Output; /** * - Contains user data from Eos portal. */ readonly eosMetadata: pulumi.Output; /** * - Foundation Central specific settings. */ readonly fcSettings: pulumi.Output; /** * - Hyperv External virtual network adapter name. */ readonly hypervExternalVnic: pulumi.Output; /** * - Hyperv External vswitch name. */ readonly hypervExternalVswitch: pulumi.Output; /** * - Hyperv product key. */ readonly hypervProductKey: pulumi.Output; /** * - Hyperv SKU. */ readonly hypervSku: pulumi.Output; /** * - (Required) Hypervisor gateway. */ readonly hypervisorGateway: pulumi.Output; /** * - Hypervisor ISO. */ readonly hypervisorIso: pulumi.Output; readonly hypervisorNameserver: pulumi.Output; /** * - (Required) Hypervisor netmask. */ readonly hypervisorNetmask: pulumi.Output; /** * - Hypervisor password. */ readonly hypervisorPassword: pulumi.Output; /** * - install script. */ readonly installScript: pulumi.Output; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI gateway */ readonly ipmiGateway: pulumi.Output; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI netmask */ readonly ipmiNetmask: pulumi.Output; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI password. */ readonly ipmiPassword: pulumi.Output; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI username. */ readonly ipmiUser: pulumi.Output; /** * - Id of the custom layout which needs to be passed to imaging request. */ readonly layoutEggUuid: pulumi.Output; /** * - (Required) NOS package. */ readonly nosPackage: pulumi.Output; /** * - sessionId of the imaging session */ readonly sessionId: pulumi.Output; /** * - If hypervisor installation should be skipped. */ readonly skipHypervisor: pulumi.Output; /** * - Arguments to be passed to svmRescue for AOS installation. Ensure that the arguments provided are supported by the AOS version used for imaging. */ readonly svmRescueArgs: pulumi.Output; /** * - Types of tests to be performed. */ readonly tests: pulumi.Output; /** * - UCSM IP address. */ readonly ucsmIp: pulumi.Output; /** * - UCSM password. */ readonly ucsmPassword: pulumi.Output; /** * - UCSM username. */ readonly ucsmUser: pulumi.Output; /** * - UNC password. */ readonly uncPassword: pulumi.Output; /** * - UNC Path. */ readonly uncPath: pulumi.Output; /** * - UNC username. */ readonly uncUsername: pulumi.Output; /** * - xen config types. */ readonly xenConfigType: pulumi.Output; /** * - xen server master IP address. */ readonly xsMasterIp: pulumi.Output; /** * - xen server master label. */ readonly xsMasterLabel: pulumi.Output; /** * - xen server master password. */ readonly xsMasterPassword: pulumi.Output; /** * - xen server master username. */ readonly xsMasterUsername: pulumi.Output; /** * Create a FoundationImageNodes 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: FoundationImageNodesArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FoundationImageNodes resources. */ export interface FoundationImageNodesState { /** * - (Required) Terraform blocks of Block level parameters. */ blocks?: pulumi.Input[] | undefined>; /** * - list containing cluster name and cluster urls for created clusters in current session * * `cluster_urls.#.cluster_name` :- clusterName * * `cluster_urls.#.cluster_url` :- url to access the cluster login */ clusterUrls?: pulumi.Input[] | undefined>; /** * - Terraform blocks of clusters config */ clusters?: pulumi.Input[] | undefined>; /** * - (Required) CVM gateway. */ cvmGateway?: pulumi.Input; /** * - (Required) CVM netmask. */ cvmNetmask?: pulumi.Input; /** * - Contains user data from Eos portal. */ eosMetadata?: pulumi.Input; /** * - Foundation Central specific settings. */ fcSettings?: pulumi.Input; /** * - Hyperv External virtual network adapter name. */ hypervExternalVnic?: pulumi.Input; /** * - Hyperv External vswitch name. */ hypervExternalVswitch?: pulumi.Input; /** * - Hyperv product key. */ hypervProductKey?: pulumi.Input; /** * - Hyperv SKU. */ hypervSku?: pulumi.Input; /** * - (Required) Hypervisor gateway. */ hypervisorGateway?: pulumi.Input; /** * - Hypervisor ISO. */ hypervisorIso?: pulumi.Input; hypervisorNameserver?: pulumi.Input; /** * - (Required) Hypervisor netmask. */ hypervisorNetmask?: pulumi.Input; /** * - Hypervisor password. */ hypervisorPassword?: pulumi.Input; /** * - install script. */ installScript?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI gateway */ ipmiGateway?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI netmask */ ipmiNetmask?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI password. */ ipmiPassword?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI username. */ ipmiUser?: pulumi.Input; /** * - Id of the custom layout which needs to be passed to imaging request. */ layoutEggUuid?: pulumi.Input; /** * - (Required) NOS package. */ nosPackage?: pulumi.Input; /** * - sessionId of the imaging session */ sessionId?: pulumi.Input; /** * - If hypervisor installation should be skipped. */ skipHypervisor?: pulumi.Input; /** * - Arguments to be passed to svmRescue for AOS installation. Ensure that the arguments provided are supported by the AOS version used for imaging. */ svmRescueArgs?: pulumi.Input[] | undefined>; /** * - Types of tests to be performed. */ tests?: pulumi.Input; /** * - UCSM IP address. */ ucsmIp?: pulumi.Input; /** * - UCSM password. */ ucsmPassword?: pulumi.Input; /** * - UCSM username. */ ucsmUser?: pulumi.Input; /** * - UNC password. */ uncPassword?: pulumi.Input; /** * - UNC Path. */ uncPath?: pulumi.Input; /** * - UNC username. */ uncUsername?: pulumi.Input; /** * - xen config types. */ xenConfigType?: pulumi.Input; /** * - xen server master IP address. */ xsMasterIp?: pulumi.Input; /** * - xen server master label. */ xsMasterLabel?: pulumi.Input; /** * - xen server master password. */ xsMasterPassword?: pulumi.Input; /** * - xen server master username. */ xsMasterUsername?: pulumi.Input; } /** * The set of arguments for constructing a FoundationImageNodes resource. */ export interface FoundationImageNodesArgs { /** * - (Required) Terraform blocks of Block level parameters. */ blocks: pulumi.Input[]>; /** * - Terraform blocks of clusters config */ clusters?: pulumi.Input[] | undefined>; /** * - (Required) CVM gateway. */ cvmGateway: pulumi.Input; /** * - (Required) CVM netmask. */ cvmNetmask: pulumi.Input; /** * - Contains user data from Eos portal. */ eosMetadata?: pulumi.Input; /** * - Foundation Central specific settings. */ fcSettings?: pulumi.Input; /** * - Hyperv External virtual network adapter name. */ hypervExternalVnic?: pulumi.Input; /** * - Hyperv External vswitch name. */ hypervExternalVswitch?: pulumi.Input; /** * - Hyperv product key. */ hypervProductKey?: pulumi.Input; /** * - Hyperv SKU. */ hypervSku?: pulumi.Input; /** * - (Required) Hypervisor gateway. */ hypervisorGateway: pulumi.Input; /** * - Hypervisor ISO. */ hypervisorIso?: pulumi.Input; hypervisorNameserver?: pulumi.Input; /** * - (Required) Hypervisor netmask. */ hypervisorNetmask: pulumi.Input; /** * - Hypervisor password. */ hypervisorPassword?: pulumi.Input; /** * - install script. */ installScript?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI gateway */ ipmiGateway?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) default IPMI netmask */ ipmiNetmask?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI password. */ ipmiPassword?: pulumi.Input; /** * - (Required incase using IPMI based imaging either here or inside node spec) IPMI username. */ ipmiUser?: pulumi.Input; /** * - Id of the custom layout which needs to be passed to imaging request. */ layoutEggUuid?: pulumi.Input; /** * - (Required) NOS package. */ nosPackage: pulumi.Input; /** * - If hypervisor installation should be skipped. */ skipHypervisor?: pulumi.Input; /** * - Arguments to be passed to svmRescue for AOS installation. Ensure that the arguments provided are supported by the AOS version used for imaging. */ svmRescueArgs?: pulumi.Input[] | undefined>; /** * - Types of tests to be performed. */ tests?: pulumi.Input; /** * - UCSM IP address. */ ucsmIp?: pulumi.Input; /** * - UCSM password. */ ucsmPassword?: pulumi.Input; /** * - UCSM username. */ ucsmUser?: pulumi.Input; /** * - UNC password. */ uncPassword?: pulumi.Input; /** * - UNC Path. */ uncPath?: pulumi.Input; /** * - UNC username. */ uncUsername?: pulumi.Input; /** * - xen config types. */ xenConfigType?: pulumi.Input; /** * - xen server master IP address. */ xsMasterIp?: pulumi.Input; /** * - xen server master label. */ xsMasterLabel?: pulumi.Input; /** * - xen server master password. */ xsMasterPassword?: pulumi.Input; /** * - xen server master username. */ xsMasterUsername?: pulumi.Input; } //# sourceMappingURL=foundationImageNodes.d.ts.map