@pulumi/vsphere
Version:
A Pulumi package for creating vsphere resources
162 lines • 7.26 kB
JavaScript
"use strict";
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFolderOutput = exports.getFolder = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* The `vsphere.Folder` data source can be used to get the general attributes of a
* vSphere inventory folder. The data source supports creating folders of the 5
* major types - datacenter folders, host and cluster folders, virtual machine
* folders, storage folders, and network folders.
*
* Paths are absolute and must include the datacenter.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vsphere from "@pulumi/vsphere";
*
* const datacenterFolderFolder = new vsphere.Folder("datacenter_folder", {
* path: "example-datacenter-folder",
* type: "datacenter",
* });
* const datacenterFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}`,
* });
* const datacenterDatacenter = new vsphere.Datacenter("datacenter", {
* name: "example-datacenter",
* folder: datacenterFolder.apply(datacenterFolder => datacenterFolder.path),
* }, {
* dependsOn: [datacenterFolder],
* });
* const datacenter = vsphere.getDatacenterOutput({
* name: datacenterDatacenter.name,
* });
* const vmFolderFolder = new vsphere.Folder("vm_folder", {
* path: "example-vm-folder",
* type: "vm",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const datastoreFolderFolder = new vsphere.Folder("datastore_folder", {
* path: "example-datastore-folder",
* type: "datastore",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const networkFolderFolder = new vsphere.Folder("network_folder", {
* path: "example-network-folder",
* type: "network",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const hostFolderFolder = new vsphere.Folder("host_folder", {
* path: "example-host-folder",
* type: "host",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const vmFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/vm/${vmFolderFolder.path}`,
* });
* const datastoreFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/datastore/${datastoreFolderFolder.path}`,
* });
* const networkFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/network/${networkFolderFolder.path}`,
* });
* const hostFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/host/${hostFolderFolder.path}`,
* });
* export const vmFolderId = vmFolder.apply(vmFolder => vmFolder.id);
* export const datastoreFolderId = datastoreFolder.apply(datastoreFolder => datastoreFolder.id);
* export const networkFolderId = networkFolder.apply(networkFolder => networkFolder.id);
* export const hostFolderId = hostFolder.apply(hostFolder => hostFolder.id);
* export const datacenterId = datacenter.apply(datacenter => datacenter.id);
* export const datacenterFolderPath = datacenterFolderFolder.path;
* ```
*/
function getFolder(args, opts) {
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invoke("vsphere:index/getFolder:getFolder", {
"path": args.path,
}, opts);
}
exports.getFolder = getFolder;
/**
* The `vsphere.Folder` data source can be used to get the general attributes of a
* vSphere inventory folder. The data source supports creating folders of the 5
* major types - datacenter folders, host and cluster folders, virtual machine
* folders, storage folders, and network folders.
*
* Paths are absolute and must include the datacenter.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vsphere from "@pulumi/vsphere";
*
* const datacenterFolderFolder = new vsphere.Folder("datacenter_folder", {
* path: "example-datacenter-folder",
* type: "datacenter",
* });
* const datacenterFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}`,
* });
* const datacenterDatacenter = new vsphere.Datacenter("datacenter", {
* name: "example-datacenter",
* folder: datacenterFolder.apply(datacenterFolder => datacenterFolder.path),
* }, {
* dependsOn: [datacenterFolder],
* });
* const datacenter = vsphere.getDatacenterOutput({
* name: datacenterDatacenter.name,
* });
* const vmFolderFolder = new vsphere.Folder("vm_folder", {
* path: "example-vm-folder",
* type: "vm",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const datastoreFolderFolder = new vsphere.Folder("datastore_folder", {
* path: "example-datastore-folder",
* type: "datastore",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const networkFolderFolder = new vsphere.Folder("network_folder", {
* path: "example-network-folder",
* type: "network",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const hostFolderFolder = new vsphere.Folder("host_folder", {
* path: "example-host-folder",
* type: "host",
* datacenterId: datacenter.apply(datacenter => datacenter.id),
* });
* const vmFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/vm/${vmFolderFolder.path}`,
* });
* const datastoreFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/datastore/${datastoreFolderFolder.path}`,
* });
* const networkFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/network/${networkFolderFolder.path}`,
* });
* const hostFolder = vsphere.getFolderOutput({
* path: pulumi.interpolate`/${datacenterFolderFolder.path}/${datacenterDatacenter.name}/host/${hostFolderFolder.path}`,
* });
* export const vmFolderId = vmFolder.apply(vmFolder => vmFolder.id);
* export const datastoreFolderId = datastoreFolder.apply(datastoreFolder => datastoreFolder.id);
* export const networkFolderId = networkFolder.apply(networkFolder => networkFolder.id);
* export const hostFolderId = hostFolder.apply(hostFolder => hostFolder.id);
* export const datacenterId = datacenter.apply(datacenter => datacenter.id);
* export const datacenterFolderPath = datacenterFolderFolder.path;
* ```
*/
function getFolderOutput(args, opts) {
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invokeOutput("vsphere:index/getFolder:getFolder", {
"path": args.path,
}, opts);
}
exports.getFolderOutput = getFolderOutput;
//# sourceMappingURL=getFolder.js.map