Module compute
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-openstackrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-openstackrepo.
Resources
- Flavor
- FlavorAccess
- FloatingIp
- FloatingIpAssociate
- Instance
- InterfaceAttach
- Keypair
- QuotaSetV2
- SecGroup
- ServerGroup
- VolumeAttach
Functions
Others
- FlavorAccessArgs
- FlavorAccessState
- FlavorArgs
- FlavorState
- FloatingIpArgs
- FloatingIpAssociateArgs
- FloatingIpAssociateState
- FloatingIpState
- GetAvailabilityZonesArgs
- GetAvailabilityZonesResult
- GetFlavorArgs
- GetFlavorResult
- GetKeypairArgs
- GetKeypairResult
- InstanceArgs
- InstanceState
- InterfaceAttachArgs
- InterfaceAttachState
- KeypairArgs
- KeypairState
- QuotaSetV2Args
- QuotaSetV2State
- SecGroupArgs
- SecGroupState
- ServerGroupArgs
- ServerGroupState
- VolumeAttachArgs
- VolumeAttachState
Resources
Resource Flavor
class Flavor extends CustomResourceManages a V2 flavor resource within OpenStack.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const testFlavor = new openstack.compute.Flavor("test-flavor", {
disk: 20,
extraSpecs: {
"hw:cpu_policy": "CPU-POLICY",
"hw:cpu_thread_policy": "CPU-THREAD-POLICY",
},
ram: 8096,
vcpus: 2,
});constructor
new Flavor(name: string, args: FlavorArgs, opts?: pulumi.CustomResourceOptions)Create a Flavor resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FlavorState, opts?: pulumi.CustomResourceOptions): FlavorGet an existing Flavor resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FlavorReturns true if the given object is an instance of Flavor. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property disk
public disk: pulumi.Output<number>;The amount of disk space in gigabytes to use for the root (/) partition. Changing this creates a new flavor.
property ephemeral
public ephemeral: pulumi.Output<number | undefined>;property extraSpecs
public extraSpecs: pulumi.Output<{[key: string]: any}>;Key/Value pairs of metadata for the flavor.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property isPublic
public isPublic: pulumi.Output<boolean | undefined>;Whether the flavor is public. Changing this creates a new flavor.
property name
public name: pulumi.Output<string>;A unique name for the flavor. Changing this creates a new flavor.
property ram
public ram: pulumi.Output<number>;The amount of RAM to use, in megabytes. Changing this creates a new flavor.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
Flavors are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new flavor.
property rxTxFactor
public rxTxFactor: pulumi.Output<number | undefined>;RX/TX bandwith factor. The default is 1. Changing this creates a new flavor.
property swap
public swap: pulumi.Output<number | undefined>;The amount of disk space in megabytes to use. If unspecified, the default is 0. Changing this creates a new flavor.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property vcpus
public vcpus: pulumi.Output<number>;The number of virtual CPUs to use. Changing this creates a new flavor.
Resource FlavorAccess
class FlavorAccess extends CustomResourceManages a project access for flavor V2 resource within OpenStack.
Note: You must have admin privileges in your OpenStack cloud to use this resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const project1 = new openstack.identity.Project("project1", {});
const flavor1 = new openstack.compute.Flavor("flavor1", {
disk: 20,
isPublic: false,
ram: 8096,
vcpus: 2,
});
const access1 = new openstack.compute.FlavorAccess("access1", {
flavorId: flavor1.id,
tenantId: project1.id,
});constructor
new FlavorAccess(name: string, args: FlavorAccessArgs, opts?: pulumi.CustomResourceOptions)Create a FlavorAccess resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FlavorAccessState, opts?: pulumi.CustomResourceOptions): FlavorAccessGet an existing FlavorAccess resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FlavorAccessReturns true if the given object is an instance of FlavorAccess. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property flavorId
public flavorId: pulumi.Output<string>;The UUID of flavor to use. Changing this creates a new flavor access.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used.
Changing this creates a new flavor access.
property tenantId
public tenantId: pulumi.Output<string>;The UUID of tenant which is allowed to use the flavor. Changing this creates a new flavor access.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource FloatingIp
class FloatingIp extends CustomResourceManages a V2 floating IP resource within OpenStack Nova (compute) that can be used for compute instances.
Please note that managing floating IPs through the OpenStack Compute API has
been deprecated. Unless you are using an older OpenStack environment, it is
recommended to use the openstack.networking.FloatingIp
resource instead, which uses the OpenStack Networking API.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const floatip1 = new openstack.compute.FloatingIp("floatip1", {
pool: "public",
});constructor
new FloatingIp(name: string, args: FloatingIpArgs, opts?: pulumi.CustomResourceOptions)Create a FloatingIp resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FloatingIpState, opts?: pulumi.CustomResourceOptions): FloatingIpGet an existing FloatingIp resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FloatingIpReturns true if the given object is an instance of FloatingIp. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property address
public address: pulumi.Output<string>;The actual floating IP address itself.
property fixedIp
public fixedIp: pulumi.Output<string>;The fixed IP address corresponding to the floating IP.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;UUID of the compute instance associated with the floating IP.
property pool
public pool: pulumi.Output<string>;The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a floating IP that can be used with
a compute instance. If omitted, the region argument of the provider
is used. Changing this creates a new floating IP (which may or may not
have a different address).
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource FloatingIpAssociate
class FloatingIpAssociate extends CustomResourceAssociate a floating IP to an instance. This can be used instead of the
floatingIp options in openstack.compute.Instance.
Example Usage
Automatically detect the correct network
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const instance1 = new openstack.compute.Instance("instance1", {
flavorId: "3",
imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
keyPair: "myKeyPairName",
securityGroups: ["default"],
});
const fip1FloatingIp = new openstack.networking.FloatingIp("fip1", {
pool: "myPool",
});
const fip1FloatingIpAssociate = new openstack.compute.FloatingIpAssociate("fip1", {
floatingIp: fip1FloatingIp.address,
instanceId: instance1.id,
});Explicitly set the network to attach to
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const instance1 = new openstack.compute.Instance("instance1", {
flavorId: "3",
imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
keyPair: "myKeyPairName",
networks: [
{
name: "myNetwork",
},
{
name: "default",
},
],
securityGroups: ["default"],
});
const fip1FloatingIp = new openstack.networking.FloatingIp("fip1", {
pool: "myPool",
});
const fip1FloatingIpAssociate = new openstack.compute.FloatingIpAssociate("fip1", {
fixedIp: instance1.networks.apply(networks => networks[1].fixedIpV4!),
floatingIp: fip1FloatingIp.address,
instanceId: instance1.id,
});constructor
new FloatingIpAssociate(name: string, args: FloatingIpAssociateArgs, opts?: pulumi.CustomResourceOptions)Create a FloatingIpAssociate resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FloatingIpAssociateState, opts?: pulumi.CustomResourceOptions): FloatingIpAssociateGet an existing FloatingIpAssociate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FloatingIpAssociateReturns true if the given object is an instance of FloatingIpAssociate. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property fixedIp
public fixedIp: pulumi.Output<string | undefined>;The specific IP address to direct traffic to.
property floatingIp
public floatingIp: pulumi.Output<string>;The floating IP to associate.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;The instance to associte the floating IP with.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new floatingip_associate.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property waitUntilAssociated
public waitUntilAssociated: pulumi.Output<boolean | undefined>;Resource Instance
class Instance extends CustomResourceconstructor
new Instance(name: string, args?: InstanceArgs, opts?: pulumi.CustomResourceOptions)Create a Instance resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): InstanceGet an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is InstanceReturns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessIpV4
public accessIpV4: pulumi.Output<string>;The first detected Fixed IPv4 address.
property accessIpV6
public accessIpV6: pulumi.Output<string>;The first detected Fixed IPv6 address.
property adminPass
public adminPass: pulumi.Output<string | undefined>;The administrative password to assign to the server. Changing this changes the root password on the existing server.
property allMetadata
public allMetadata: pulumi.Output<{[key: string]: any}>;property allTags
public allTags: pulumi.Output<string[]>;The collection of tags assigned on the instance, which have been explicitly and implicitly added.
property availabilityZone
public availabilityZone: pulumi.Output<string>;The availability zone in which to create
the server. Conflicts with availabilityZoneHints. Changing this creates
a new server.
property availabilityZoneHints
public availabilityZoneHints: pulumi.Output<string | undefined>;The availability zone in which to
create the server. This argument is preferred to availabilityZone, when
scheduling the server on a
particular
host or node. Conflicts with availabilityZone. Changing this creates a
new server.
property blockDevices
public blockDevices: pulumi.Output<InstanceBlockDevice[] | undefined>;Configuration of block devices. The blockDevice structure is documented below. Changing this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
property configDrive
public configDrive: pulumi.Output<boolean | undefined>;Whether to use the configDrive feature to configure the instance. Changing this creates a new server.
property flavorId
public flavorId: pulumi.Output<string>;The flavor ID of the desired flavor for the server. Changing this resizes the existing server.
property flavorName
public flavorName: pulumi.Output<string>;The name of the desired flavor for the server. Changing this resizes the existing server.
property forceDelete
public forceDelete: pulumi.Output<boolean | undefined>;Whether to force the OpenStack instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property imageId
public imageId: pulumi.Output<string>;(Optional; Required if imageName is empty and not booting
from a volume. Do not specify if booting from a volume.) The image ID of
the desired image for the server. Changing this creates a new server.
property imageName
public imageName: pulumi.Output<string>;(Optional; Required if imageId is empty and not booting
from a volume. Do not specify if booting from a volume.) The name of the
desired image for the server. Changing this creates a new server.
property keyPair
public keyPair: pulumi.Output<string | undefined>;The name of a key pair to put on the server. The key pair must already be created and associated with the tenant’s account. Changing this creates a new server.
property metadata
public metadata: pulumi.Output<{[key: string]: any} | undefined>;Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.
property name
public name: pulumi.Output<string>;The human-readable name of the network. Changing this creates a new server.
property networks
public networks: pulumi.Output<InstanceNetwork[]>;An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
property personalities
public personalities: pulumi.Output<InstancePersonality[] | undefined>;Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
property powerState
public powerState: pulumi.Output<string | undefined>;Provide the VM state. Only ‘active’ and ‘shutoff’ are supported values. Note: If the initial powerState is the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.
property region
public region: pulumi.Output<string>;The region in which to create the server instance. If
omitted, the region argument of the provider is used. Changing this
creates a new server.
property schedulerHints
public schedulerHints: pulumi.Output<InstanceSchedulerHint[] | undefined>;Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.
property securityGroups
public securityGroups: pulumi.Output<string[]>;An array of one or more security group names or ids to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
property stopBeforeDestroy
public stopBeforeDestroy: pulumi.Output<boolean | undefined>;Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn’t stop within timeout, it will be destroyed anyway.
property tags
public tags: pulumi.Output<string[] | undefined>;A set of string tags for the instance. Changing this updates the existing instance tags.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property userData
public userData: pulumi.Output<string | undefined>;The user data to provide when launching the instance. Changing this creates a new server.
property vendorOptions
public vendorOptions: pulumi.Output<InstanceVendorOptions | undefined>;Map of additional vendor-specific options. Supported options are described below.
Resource InterfaceAttach
class InterfaceAttach extends CustomResourceAttaches a Network Interface (a Port) to an Instance using the OpenStack Compute (Nova) v2 API.
Example Usage
Basic Attachment
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const network1 = new openstack.networking.Network("network1", {
adminStateUp: true,
});
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const ai1 = new openstack.compute.InterfaceAttach("ai1", {
instanceId: instance1.id,
networkId: openstack_networking_port_v2_network_1.id,
});Attachment Specifying a Fixed IP
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const network1 = new openstack.networking.Network("network1", {
adminStateUp: true,
});
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const ai1 = new openstack.compute.InterfaceAttach("ai1", {
fixedIp: "10.0.10.10",
instanceId: instance1.id,
networkId: openstack_networking_port_v2_network_1.id,
});Attachment Using an Existing Port
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const network1 = new openstack.networking.Network("network1", {
adminStateUp: true,
});
const port1 = new openstack.networking.Port("port1", {
adminStateUp: true,
networkId: network1.id,
});
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const ai1 = new openstack.compute.InterfaceAttach("ai1", {
instanceId: instance1.id,
portId: port1.id,
});Attaching Multiple Interfaces
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const network1 = new openstack.networking.Network("network1", {
adminStateUp: true,
});
const ports: openstack.networking.Port[] = [];
for (let i = 0; i < 2; i++) {
ports.push(new openstack.networking.Port(`ports-${i}`, {
adminStateUp: true,
networkId: network1.id,
}));
}
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const attachments: openstack.compute.InterfaceAttach[] = [];
for (let i = 0; i < 2; i++) {
attachments.push(new openstack.compute.InterfaceAttach(`attachments-${i}`, {
instanceId: instance1.id,
portId: pulumi.all(ports.map(v => v.id)).apply(id => id.map(v => v)[i]),
}));
}constructor
new InterfaceAttach(name: string, args: InterfaceAttachArgs, opts?: pulumi.CustomResourceOptions)Create a InterfaceAttach resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InterfaceAttachState, opts?: pulumi.CustomResourceOptions): InterfaceAttachGet an existing InterfaceAttach resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is InterfaceAttachReturns true if the given object is an instance of InterfaceAttach. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property fixedIp
public fixedIp: pulumi.Output<string | undefined>;An IP address to assosciate with the port. NOTE: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;The ID of the Instance to attach the Port or Network to.
property networkId
public networkId: pulumi.Output<string>;The ID of the Network to attach to an Instance. A port will be created automatically.
NOTE: This option and portId are mutually exclusive.
property portId
public portId: pulumi.Output<string>;The ID of the Port to attach to an Instance.
NOTE: This option and networkId are mutually exclusive.
property region
public region: pulumi.Output<string>;The region in which to create the interface attachment.
If omitted, the region argument of the provider is used. Changing this
creates a new attachment.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Keypair
class Keypair extends CustomResourceconstructor
new Keypair(name: string, args?: KeypairArgs, opts?: pulumi.CustomResourceOptions)Create a Keypair resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KeypairState, opts?: pulumi.CustomResourceOptions): KeypairGet an existing Keypair resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is KeypairReturns true if the given object is an instance of Keypair. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property fingerprint
public fingerprint: pulumi.Output<string>;The fingerprint of the public key.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;A unique name for the keypair. Changing this creates a new keypair.
property privateKey
public privateKey: pulumi.Output<string>;The generated private key when no public key is specified.
property publicKey
public publicKey: pulumi.Output<string>;A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new keypair.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property valueSpecs
public valueSpecs: pulumi.Output<{[key: string]: any} | undefined>;Map of additional options.
Resource QuotaSetV2
class QuotaSetV2 extends CustomResourceManages a V2 compute quotaset resource within OpenStack.
Note: This usually requires admin privileges.
Note: This resource has a no-op deletion so no actual actions will be done against the OpenStack API in case of delete call.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const project1 = new openstack.identity.Project("project1", {});
const quotaset1 = new openstack.compute.QuotaSetV2("quotaset1", {
projectId: project1.id,
keyPairs: 10,
ram: 40960,
cores: 32,
instances: 20,
serverGroups: 4,
serverGroupMembers: 8,
});constructor
new QuotaSetV2(name: string, args: QuotaSetV2Args, opts?: pulumi.CustomResourceOptions)Create a QuotaSetV2 resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: QuotaSetV2State, opts?: pulumi.CustomResourceOptions): QuotaSetV2Get an existing QuotaSetV2 resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is QuotaSetV2Returns true if the given object is an instance of QuotaSetV2. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property cores
public cores: pulumi.Output<number>;Quota value for cores. Changing this updates the existing quotaset.
property fixedIps
public fixedIps: pulumi.Output<number>;Quota value for fixed IPs. Changing this updates the existing quotaset.
property floatingIps
public floatingIps: pulumi.Output<number>;Quota value for floating IPs. Changing this updates the existing quotaset.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property injectedFileContentBytes
public injectedFileContentBytes: pulumi.Output<number>;Quota value for content bytes of injected files. Changing this updates the existing quotaset.
property injectedFilePathBytes
public injectedFilePathBytes: pulumi.Output<number>;Quota value for path bytes of injected files. Changing this updates the existing quotaset.
property injectedFiles
public injectedFiles: pulumi.Output<number>;Quota value for injected files. Changing this updates the existing quotaset.
property instances
public instances: pulumi.Output<number>;Quota value for instances. Changing this updates the existing quotaset.
property keyPairs
public keyPairs: pulumi.Output<number>;Quota value for key pairs. Changing this updates the existing quotaset.
property metadataItems
public metadataItems: pulumi.Output<number>;Quota value for metadata items. Changing this updates the existing quotaset.
property projectId
public projectId: pulumi.Output<string>;ID of the project to manage quotas. Changing this creates a new quotaset.
property ram
public ram: pulumi.Output<number>;Quota value for RAM. Changing this updates the existing quotaset.
property region
public region: pulumi.Output<string>;The region in which to create the volume. If
omitted, the region argument of the provider is used. Changing this
creates a new quotaset.
property securityGroupRules
public securityGroupRules: pulumi.Output<number>;Quota value for security group rules. Changing this updates the existing quotaset.
property securityGroups
public securityGroups: pulumi.Output<number>;Quota value for security groups. Changing this updates the existing quotaset.
property serverGroupMembers
public serverGroupMembers: pulumi.Output<number>;Quota value for server groups members. Changing this updates the existing quotaset.
property serverGroups
public serverGroups: pulumi.Output<number>;Quota value for server groups. Changing this updates the existing quotaset.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SecGroup
class SecGroup extends CustomResourceManages a V2 security group resource within OpenStack.
Please note that managing security groups through the OpenStack Compute API
has been deprecated. Unless you are using an older OpenStack environment, it is
recommended to use the openstack.networking.SecGroup
and openstack.networking.SecGroupRule
resources instead, which uses the OpenStack Networking API.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const secgroup1 = new openstack.compute.SecGroup("secgroup1", {
description: "my security group",
rules: [
{
cidr: "0.0.0.0/0",
fromPort: 22,
ipProtocol: "tcp",
toPort: 22,
},
{
cidr: "0.0.0.0/0",
fromPort: 80,
ipProtocol: "tcp",
toPort: 80,
},
],
});Notes
ICMP Rules
When using ICMP as the ipProtocol, the fromPort sets the ICMP type and the toPort sets the ICMP code. To allow all ICMP types, set each value to -1, like so:
import * as pulumi from "@pulumi/pulumi";A list of ICMP types and codes can be found here.
Referencing Security Groups
When referencing a security group in a configuration (for example, a configuration creates a new security group and then needs to apply it to an instance being created in the same configuration), it is currently recommended to reference the security group by name and not by ID, like this:
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const testServer = new openstack.compute.Instance("test-server", {
flavorId: "3",
imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
keyPair: "myKeyPairName",
securityGroups: [openstack_compute_secgroup_v2_secgroup_1.name],
});constructor
new SecGroup(name: string, args: SecGroupArgs, opts?: pulumi.CustomResourceOptions)Create a SecGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecGroupState, opts?: pulumi.CustomResourceOptions): SecGroupGet an existing SecGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SecGroupReturns true if the given object is an instance of SecGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string>;A description for the security group. Changing this
updates the description of an existing security group.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;A unique name for the security group. Changing this
updates the name of an existing security group.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a security group. If omitted, the
region argument of the provider is used. Changing this creates a new
security group.
property rules
public rules: pulumi.Output<SecGroupRule[]>;A rule describing how the security group operates. The rule object structure is documented below. Changing this updates the security group rules. As shown in the example above, multiple rule blocks may be used.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource ServerGroup
class ServerGroup extends CustomResourceManages a V2 Server Group resource within OpenStack.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const testSg = new openstack.compute.ServerGroup("test-sg", {
policies: ["anti-affinity"],
});Policies
affinity- All instances/servers launched in this group will be hosted on the same compute node.anti-affinity- All instances/servers launched in this group will be hosted on different compute nodes.soft-affinity- All instances/servers launched in this group will be hosted on the same compute node if possible, but if not possible they still will be scheduled instead of failure. To use this policy your OpenStack environment should support Compute service API 2.15 or above.soft-anti-affinity- All instances/servers launched in this group will be hosted on different compute nodes if possible, but if not possible they still will be scheduled instead of failure. To use this policy your OpenStack environment should support Compute service API 2.15 or above.
constructor
new ServerGroup(name: string, args?: ServerGroupArgs, opts?: pulumi.CustomResourceOptions)Create a ServerGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ServerGroupState, opts?: pulumi.CustomResourceOptions): ServerGroupGet an existing ServerGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ServerGroupReturns true if the given object is an instance of ServerGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property members
public members: pulumi.Output<string[]>;The instances that are part of this server group.
property name
public name: pulumi.Output<string>;A unique name for the server group. Changing this creates a new server group.
property policies
public policies: pulumi.Output<string[] | undefined>;The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used. Changing
this creates a new server group.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property valueSpecs
public valueSpecs: pulumi.Output<{[key: string]: any} | undefined>;Map of additional options.
Resource VolumeAttach
class VolumeAttach extends CustomResourceAttaches a Block Storage Volume to an Instance using the OpenStack Compute (Nova) v2 API.
Example Usage
Basic attachment of a single volume to a single instance
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const volume1 = new openstack.blockstorage.VolumeV2("volume1", {
size: 1,
});
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const va1 = new openstack.compute.VolumeAttach("va1", {
instanceId: instance1.id,
volumeId: volume1.id,
});Attaching multiple volumes to a single instance
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const volumes: openstack.blockstorage.VolumeV2[] = [];
for (let i = 0; i < 2; i++) {
volumes.push(new openstack.blockstorage.VolumeV2(`volumes-${i}`, {
size: 1,
}));
}
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const attachments: openstack.compute.VolumeAttach[] = [];
for (let i = 0; i < 2; i++) {
attachments.push(new openstack.compute.VolumeAttach(`attachments-${i}`, {
instanceId: instance1.id,
volumeId: pulumi.all(volumes.map(v => v.id)).apply(id => id.map(v => v)[i]),
}));
}
export const volumeDevices = attachments.map(v => v.device);Using Multiattach-enabled volumes
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const volume1 = new openstack.blockstorage.Volume("volume1", {
multiattach: true,
size: 1,
});
const instance1 = new openstack.compute.Instance("instance1", {
securityGroups: ["default"],
});
const instance2 = new openstack.compute.Instance("instance2", {
securityGroups: ["default"],
});
const va1 = new openstack.compute.VolumeAttach("va1", {
instanceId: instance1.id,
multiattach: true,
volumeId: openstack_blockstorage_volume_v2_volume_1.id,
});
const va2 = new openstack.compute.VolumeAttach("va2", {
instanceId: instance2.id,
multiattach: true,
volumeId: openstack_blockstorage_volume_v2_volume_1.id,
}, { dependsOn: [va1] });constructor
new VolumeAttach(name: string, args: VolumeAttachArgs, opts?: pulumi.CustomResourceOptions)Create a VolumeAttach resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeAttachState, opts?: pulumi.CustomResourceOptions): VolumeAttachGet an existing VolumeAttach resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeAttachReturns true if the given object is an instance of VolumeAttach. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property device
public device: pulumi.Output<string>;See Argument Reference above. NOTE: The correctness of this information is dependent upon the hypervisor in use. In some cases, this should not be used as an authoritative piece of information.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string>;The ID of the Instance to attach the Volume to.
property multiattach
public multiattach: pulumi.Output<boolean | undefined>;Enable attachment of multiattach-capable volumes.
property region
public region: pulumi.Output<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a volume attachment. If omitted, the
region argument of the provider is used. Changing this creates a
new volume attachment.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property volumeId
public volumeId: pulumi.Output<string>;The ID of the Volume to attach to an Instance.
Functions
Function getAvailabilityZones
getAvailabilityZones(args?: GetAvailabilityZonesArgs, opts?: pulumi.InvokeOptions): Promise<GetAvailabilityZonesResult>Use this data source to get a list of availability zones from OpenStack
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const zones = pulumi.output(openstack.compute.getAvailabilityZones({ async: true }));Function getFlavor
getFlavor(args?: GetFlavorArgs, opts?: pulumi.InvokeOptions): Promise<GetFlavorResult>Use this data source to get the ID of an available OpenStack flavor.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const small = pulumi.output(openstack.compute.getFlavor({
ram: 512,
vcpus: 1,
}, { async: true }));Function getKeypair
getKeypair(args: GetKeypairArgs, opts?: pulumi.InvokeOptions): Promise<GetKeypairResult>Use this data source to get the ID and public key of an OpenStack keypair.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
const kp = pulumi.output(openstack.compute.getKeypair({
name: "sand",
}, { async: true }));Others
interface FlavorAccessArgs
interface FlavorAccessArgsThe set of arguments for constructing a FlavorAccess resource.
property flavorId
flavorId: pulumi.Input<string>;The UUID of flavor to use. Changing this creates a new flavor access.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used.
Changing this creates a new flavor access.
property tenantId
tenantId: pulumi.Input<string>;The UUID of tenant which is allowed to use the flavor. Changing this creates a new flavor access.
interface FlavorAccessState
interface FlavorAccessStateInput properties used for looking up and filtering FlavorAccess resources.
property flavorId
flavorId?: pulumi.Input<string>;The UUID of flavor to use. Changing this creates a new flavor access.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used.
Changing this creates a new flavor access.
property tenantId
tenantId?: pulumi.Input<string>;The UUID of tenant which is allowed to use the flavor. Changing this creates a new flavor access.
interface FlavorArgs
interface FlavorArgsThe set of arguments for constructing a Flavor resource.
property disk
disk: pulumi.Input<number>;The amount of disk space in gigabytes to use for the root (/) partition. Changing this creates a new flavor.
property ephemeral
ephemeral?: pulumi.Input<number>;property extraSpecs
extraSpecs?: pulumi.Input<{[key: string]: any}>;Key/Value pairs of metadata for the flavor.
property isPublic
isPublic?: pulumi.Input<boolean>;Whether the flavor is public. Changing this creates a new flavor.
property name
name?: pulumi.Input<string>;A unique name for the flavor. Changing this creates a new flavor.
property ram
ram: pulumi.Input<number>;The amount of RAM to use, in megabytes. Changing this creates a new flavor.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Flavors are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new flavor.
property rxTxFactor
rxTxFactor?: pulumi.Input<number>;RX/TX bandwith factor. The default is 1. Changing this creates a new flavor.
property swap
swap?: pulumi.Input<number>;The amount of disk space in megabytes to use. If unspecified, the default is 0. Changing this creates a new flavor.
property vcpus
vcpus: pulumi.Input<number>;The number of virtual CPUs to use. Changing this creates a new flavor.
interface FlavorState
interface FlavorStateInput properties used for looking up and filtering Flavor resources.
property disk
disk?: pulumi.Input<number>;The amount of disk space in gigabytes to use for the root (/) partition. Changing this creates a new flavor.
property ephemeral
ephemeral?: pulumi.Input<number>;property extraSpecs
extraSpecs?: pulumi.Input<{[key: string]: any}>;Key/Value pairs of metadata for the flavor.
property isPublic
isPublic?: pulumi.Input<boolean>;Whether the flavor is public. Changing this creates a new flavor.
property name
name?: pulumi.Input<string>;A unique name for the flavor. Changing this creates a new flavor.
property ram
ram?: pulumi.Input<number>;The amount of RAM to use, in megabytes. Changing this creates a new flavor.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Flavors are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new flavor.
property rxTxFactor
rxTxFactor?: pulumi.Input<number>;RX/TX bandwith factor. The default is 1. Changing this creates a new flavor.
property swap
swap?: pulumi.Input<number>;The amount of disk space in megabytes to use. If unspecified, the default is 0. Changing this creates a new flavor.
property vcpus
vcpus?: pulumi.Input<number>;The number of virtual CPUs to use. Changing this creates a new flavor.
interface FloatingIpArgs
interface FloatingIpArgsThe set of arguments for constructing a FloatingIp resource.
property pool
pool: pulumi.Input<string>;The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a floating IP that can be used with
a compute instance. If omitted, the region argument of the provider
is used. Changing this creates a new floating IP (which may or may not
have a different address).
interface FloatingIpAssociateArgs
interface FloatingIpAssociateArgsThe set of arguments for constructing a FloatingIpAssociate resource.
property fixedIp
fixedIp?: pulumi.Input<string>;The specific IP address to direct traffic to.
property floatingIp
floatingIp: pulumi.Input<string>;The floating IP to associate.
property instanceId
instanceId: pulumi.Input<string>;The instance to associte the floating IP with.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new floatingip_associate.
property waitUntilAssociated
waitUntilAssociated?: pulumi.Input<boolean>;interface FloatingIpAssociateState
interface FloatingIpAssociateStateInput properties used for looking up and filtering FloatingIpAssociate resources.
property fixedIp
fixedIp?: pulumi.Input<string>;The specific IP address to direct traffic to.
property floatingIp
floatingIp?: pulumi.Input<string>;The floating IP to associate.
property instanceId
instanceId?: pulumi.Input<string>;The instance to associte the floating IP with.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new floatingip_associate.
property waitUntilAssociated
waitUntilAssociated?: pulumi.Input<boolean>;interface FloatingIpState
interface FloatingIpStateInput properties used for looking up and filtering FloatingIp resources.
property address
address?: pulumi.Input<string>;The actual floating IP address itself.
property fixedIp
fixedIp?: pulumi.Input<string>;The fixed IP address corresponding to the floating IP.
property instanceId
instanceId?: pulumi.Input<string>;UUID of the compute instance associated with the floating IP.
property pool
pool?: pulumi.Input<string>;The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a floating IP that can be used with
a compute instance. If omitted, the region argument of the provider
is used. Changing this creates a new floating IP (which may or may not
have a different address).
interface GetAvailabilityZonesArgs
interface GetAvailabilityZonesArgsA collection of arguments for invoking getAvailabilityZones.
property region
region?: undefined | string;The region to fetch availability zones from, defaults to the provider’s region
property state
state?: undefined | string;The state of the availability zones to match, default (“available”).
interface GetAvailabilityZonesResult
interface GetAvailabilityZonesResultA collection of values returned by getAvailabilityZones.
property id
id: string;The provider-assigned unique ID for this managed resource.
property names
names: string[];The names of the availability zones, ordered alphanumerically, that match the queried state
property region
region: string;property state
state?: undefined | string;interface GetFlavorArgs
interface GetFlavorArgsA collection of arguments for invoking getFlavor.
property disk
disk?: undefined | number;The exact amount of disk (in gigabytes).
property flavorId
flavorId?: undefined | string;The ID of the flavor. Conflicts with the name,
minRam and minDisk
property minDisk
minDisk?: undefined | number;The minimum amount of disk (in gigabytes). Conflicts
with the flavorId.
property minRam
minRam?: undefined | number;The minimum amount of RAM (in megabytes). Conflicts
with the flavorId.
property name
name?: undefined | string;The name of the flavor. Conflicts with the flavorId.
property ram
ram?: undefined | number;The exact amount of RAM (in megabytes).
property region
region?: undefined | string;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used.
property rxTxFactor
rxTxFactor?: undefined | number;The rxTxFactor of the flavor.
property swap
swap?: undefined | number;The amount of swap (in gigabytes).
property vcpus
vcpus?: undefined | number;The amount of VCPUs.
interface GetFlavorResult
interface GetFlavorResultA collection of values returned by getFlavor.
property disk
disk?: undefined | number;property extraSpecs
extraSpecs: {[key: string]: any};Key/Value pairs of metadata for the flavor.
property flavorId
flavorId?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property isPublic
isPublic: boolean;Whether the flavor is public or private.
property minDisk
minDisk?: undefined | number;property minRam
minRam?: undefined | number;property name
name?: undefined | string;property ram
ram?: undefined | number;property region
region: string;property rxTxFactor
rxTxFactor?: undefined | number;property swap
swap?: undefined | number;property vcpus
vcpus?: undefined | number;interface GetKeypairArgs
interface GetKeypairArgsA collection of arguments for invoking getKeypair.
property name
name: string;The unique name of the keypair.
property region
region?: undefined | string;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used.
interface GetKeypairResult
interface GetKeypairResultA collection of values returned by getKeypair.
property fingerprint
fingerprint: string;The fingerprint of the OpenSSH key.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;See Argument Reference above.
property publicKey
publicKey: string;The OpenSSH-formatted public key of the keypair.
property region
region: string;See Argument Reference above.
interface InstanceArgs
interface InstanceArgsThe set of arguments for constructing a Instance resource.
property accessIpV4
accessIpV4?: pulumi.Input<string>;The first detected Fixed IPv4 address.
property accessIpV6
accessIpV6?: pulumi.Input<string>;The first detected Fixed IPv6 address.
property adminPass
adminPass?: pulumi.Input<string>;The administrative password to assign to the server. Changing this changes the root password on the existing server.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The availability zone in which to create
the server. Conflicts with availabilityZoneHints. Changing this creates
a new server.
property availabilityZoneHints
availabilityZoneHints?: pulumi.Input<string>;The availability zone in which to
create the server. This argument is preferred to availabilityZone, when
scheduling the server on a
particular
host or node. Conflicts with availabilityZone. Changing this creates a
new server.
property blockDevices
blockDevices?: pulumi.Input<pulumi.Input<InstanceBlockDevice>[]>;Configuration of block devices. The blockDevice structure is documented below. Changing this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
property configDrive
configDrive?: pulumi.Input<boolean>;Whether to use the configDrive feature to configure the instance. Changing this creates a new server.
property flavorId
flavorId?: pulumi.Input<string>;The flavor ID of the desired flavor for the server. Changing this resizes the existing server.
property flavorName
flavorName?: pulumi.Input<string>;The name of the desired flavor for the server. Changing this resizes the existing server.
property forceDelete
forceDelete?: pulumi.Input<boolean>;Whether to force the OpenStack instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.
property imageId
imageId?: pulumi.Input<string>;(Optional; Required if imageName is empty and not booting
from a volume. Do not specify if booting from a volume.) The image ID of
the desired image for the server. Changing this creates a new server.
property imageName
imageName?: pulumi.Input<string>;(Optional; Required if imageId is empty and not booting
from a volume. Do not specify if booting from a volume.) The name of the
desired image for the server. Changing this creates a new server.
property keyPair
keyPair?: pulumi.Input<string>;The name of a key pair to put on the server. The key pair must already be created and associated with the tenant’s account. Changing this creates a new server.
property metadata
metadata?: pulumi.Input<{[key: string]: any}>;Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.
property name
name?: pulumi.Input<string>;The human-readable name of the network. Changing this creates a new server.
property networks
networks?: pulumi.Input<pulumi.Input<InstanceNetwork>[]>;An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
property personalities
personalities?: pulumi.Input<pulumi.Input<InstancePersonality>[]>;Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
property powerState
powerState?: pulumi.Input<string>;Provide the VM state. Only ‘active’ and ‘shutoff’ are supported values. Note: If the initial powerState is the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.
property region
region?: pulumi.Input<string>;The region in which to create the server instance. If
omitted, the region argument of the provider is used. Changing this
creates a new server.
property schedulerHints
schedulerHints?: pulumi.Input<pulumi.Input<InstanceSchedulerHint>[]>;Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;An array of one or more security group names or ids to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
property stopBeforeDestroy
stopBeforeDestroy?: pulumi.Input<boolean>;Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn’t stop within timeout, it will be destroyed anyway.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A set of string tags for the instance. Changing this updates the existing instance tags.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Changing this creates a new server.
property vendorOptions
vendorOptions?: pulumi.Input<InstanceVendorOptions>;Map of additional vendor-specific options. Supported options are described below.
interface InstanceState
interface InstanceStateInput properties used for looking up and filtering Instance resources.
property accessIpV4
accessIpV4?: pulumi.Input<string>;The first detected Fixed IPv4 address.
property accessIpV6
accessIpV6?: pulumi.Input<string>;The first detected Fixed IPv6 address.
property adminPass
adminPass?: pulumi.Input<string>;The administrative password to assign to the server. Changing this changes the root password on the existing server.
property allMetadata
allMetadata?: pulumi.Input<{[key: string]: any}>;property allTags
allTags?: pulumi.Input<pulumi.Input<string>[]>;The collection of tags assigned on the instance, which have been explicitly and implicitly added.
property availabilityZone
availabilityZone?: pulumi.Input<string>;The availability zone in which to create
the server. Conflicts with availabilityZoneHints. Changing this creates
a new server.
property availabilityZoneHints
availabilityZoneHints?: pulumi.Input<string>;The availability zone in which to
create the server. This argument is preferred to availabilityZone, when
scheduling the server on a
particular
host or node. Conflicts with availabilityZone. Changing this creates a
new server.
property blockDevices
blockDevices?: pulumi.Input<pulumi.Input<InstanceBlockDevice>[]>;Configuration of block devices. The blockDevice structure is documented below. Changing this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
property configDrive
configDrive?: pulumi.Input<boolean>;Whether to use the configDrive feature to configure the instance. Changing this creates a new server.
property flavorId
flavorId?: pulumi.Input<string>;The flavor ID of the desired flavor for the server. Changing this resizes the existing server.
property flavorName
flavorName?: pulumi.Input<string>;The name of the desired flavor for the server. Changing this resizes the existing server.
property forceDelete
forceDelete?: pulumi.Input<boolean>;Whether to force the OpenStack instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.
property imageId
imageId?: pulumi.Input<string>;(Optional; Required if imageName is empty and not booting
from a volume. Do not specify if booting from a volume.) The image ID of
the desired image for the server. Changing this creates a new server.
property imageName
imageName?: pulumi.Input<string>;(Optional; Required if imageId is empty and not booting
from a volume. Do not specify if booting from a volume.) The name of the
desired image for the server. Changing this creates a new server.
property keyPair
keyPair?: pulumi.Input<string>;The name of a key pair to put on the server. The key pair must already be created and associated with the tenant’s account. Changing this creates a new server.
property metadata
metadata?: pulumi.Input<{[key: string]: any}>;Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.
property name
name?: pulumi.Input<string>;The human-readable name of the network. Changing this creates a new server.
property networks
networks?: pulumi.Input<pulumi.Input<InstanceNetwork>[]>;An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
property personalities
personalities?: pulumi.Input<pulumi.Input<InstancePersonality>[]>;Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
property powerState
powerState?: pulumi.Input<string>;Provide the VM state. Only ‘active’ and ‘shutoff’ are supported values. Note: If the initial powerState is the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.
property region
region?: pulumi.Input<string>;The region in which to create the server instance. If
omitted, the region argument of the provider is used. Changing this
creates a new server.
property schedulerHints
schedulerHints?: pulumi.Input<pulumi.Input<InstanceSchedulerHint>[]>;Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.
property securityGroups
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;An array of one or more security group names or ids to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
property stopBeforeDestroy
stopBeforeDestroy?: pulumi.Input<boolean>;Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn’t stop within timeout, it will be destroyed anyway.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A set of string tags for the instance. Changing this updates the existing instance tags.
property userData
userData?: pulumi.Input<string>;The user data to provide when launching the instance. Changing this creates a new server.
property vendorOptions
vendorOptions?: pulumi.Input<InstanceVendorOptions>;Map of additional vendor-specific options. Supported options are described below.
interface InterfaceAttachArgs
interface InterfaceAttachArgsThe set of arguments for constructing a InterfaceAttach resource.
property fixedIp
fixedIp?: pulumi.Input<string>;An IP address to assosciate with the port. NOTE: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
property instanceId
instanceId: pulumi.Input<string>;The ID of the Instance to attach the Port or Network to.
property networkId
networkId?: pulumi.Input<string>;The ID of the Network to attach to an Instance. A port will be created automatically.
NOTE: This option and portId are mutually exclusive.
property portId
portId?: pulumi.Input<string>;The ID of the Port to attach to an Instance.
NOTE: This option and networkId are mutually exclusive.
property region
region?: pulumi.Input<string>;The region in which to create the interface attachment.
If omitted, the region argument of the provider is used. Changing this
creates a new attachment.
interface InterfaceAttachState
interface InterfaceAttachStateInput properties used for looking up and filtering InterfaceAttach resources.
property fixedIp
fixedIp?: pulumi.Input<string>;An IP address to assosciate with the port. NOTE: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
property instanceId
instanceId?: pulumi.Input<string>;The ID of the Instance to attach the Port or Network to.
property networkId
networkId?: pulumi.Input<string>;The ID of the Network to attach to an Instance. A port will be created automatically.
NOTE: This option and portId are mutually exclusive.
property portId
portId?: pulumi.Input<string>;The ID of the Port to attach to an Instance.
NOTE: This option and networkId are mutually exclusive.
property region
region?: pulumi.Input<string>;The region in which to create the interface attachment.
If omitted, the region argument of the provider is used. Changing this
creates a new attachment.
interface KeypairArgs
interface KeypairArgsThe set of arguments for constructing a Keypair resource.
property name
name?: pulumi.Input<string>;A unique name for the keypair. Changing this creates a new keypair.
property publicKey
publicKey?: pulumi.Input<string>;A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new keypair.
property valueSpecs
valueSpecs?: pulumi.Input<{[key: string]: any}>;Map of additional options.
interface KeypairState
interface KeypairStateInput properties used for looking up and filtering Keypair resources.
property fingerprint
fingerprint?: pulumi.Input<string>;The fingerprint of the public key.
property name
name?: pulumi.Input<string>;A unique name for the keypair. Changing this creates a new keypair.
property privateKey
privateKey?: pulumi.Input<string>;The generated private key when no public key is specified.
property publicKey
publicKey?: pulumi.Input<string>;A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
Keypairs are associated with accounts, but a Compute client is needed to
create one. If omitted, the region argument of the provider is used.
Changing this creates a new keypair.
property valueSpecs
valueSpecs?: pulumi.Input<{[key: string]: any}>;Map of additional options.
interface QuotaSetV2Args
interface QuotaSetV2ArgsThe set of arguments for constructing a QuotaSetV2 resource.
property cores
cores?: pulumi.Input<number>;Quota value for cores. Changing this updates the existing quotaset.
property fixedIps
fixedIps?: pulumi.Input<number>;Quota value for fixed IPs. Changing this updates the existing quotaset.
property floatingIps
floatingIps?: pulumi.Input<number>;Quota value for floating IPs. Changing this updates the existing quotaset.
property injectedFileContentBytes
injectedFileContentBytes?: pulumi.Input<number>;Quota value for content bytes of injected files. Changing this updates the existing quotaset.
property injectedFilePathBytes
injectedFilePathBytes?: pulumi.Input<number>;Quota value for path bytes of injected files. Changing this updates the existing quotaset.
property injectedFiles
injectedFiles?: pulumi.Input<number>;Quota value for injected files. Changing this updates the existing quotaset.
property instances
instances?: pulumi.Input<number>;Quota value for instances. Changing this updates the existing quotaset.
property keyPairs
keyPairs?: pulumi.Input<number>;Quota value for key pairs. Changing this updates the existing quotaset.
property metadataItems
metadataItems?: pulumi.Input<number>;Quota value for metadata items. Changing this updates the existing quotaset.
property projectId
projectId: pulumi.Input<string>;ID of the project to manage quotas. Changing this creates a new quotaset.
property ram
ram?: pulumi.Input<number>;Quota value for RAM. Changing this updates the existing quotaset.
property region
region?: pulumi.Input<string>;The region in which to create the volume. If
omitted, the region argument of the provider is used. Changing this
creates a new quotaset.
property securityGroupRules
securityGroupRules?: pulumi.Input<number>;Quota value for security group rules. Changing this updates the existing quotaset.
property securityGroups
securityGroups?: pulumi.Input<number>;Quota value for security groups. Changing this updates the existing quotaset.
property serverGroupMembers
serverGroupMembers?: pulumi.Input<number>;Quota value for server groups members. Changing this updates the existing quotaset.
property serverGroups
serverGroups?: pulumi.Input<number>;Quota value for server groups. Changing this updates the existing quotaset.
interface QuotaSetV2State
interface QuotaSetV2StateInput properties used for looking up and filtering QuotaSetV2 resources.
property cores
cores?: pulumi.Input<number>;Quota value for cores. Changing this updates the existing quotaset.
property fixedIps
fixedIps?: pulumi.Input<number>;Quota value for fixed IPs. Changing this updates the existing quotaset.
property floatingIps
floatingIps?: pulumi.Input<number>;Quota value for floating IPs. Changing this updates the existing quotaset.
property injectedFileContentBytes
injectedFileContentBytes?: pulumi.Input<number>;Quota value for content bytes of injected files. Changing this updates the existing quotaset.
property injectedFilePathBytes
injectedFilePathBytes?: pulumi.Input<number>;Quota value for path bytes of injected files. Changing this updates the existing quotaset.
property injectedFiles
injectedFiles?: pulumi.Input<number>;Quota value for injected files. Changing this updates the existing quotaset.
property instances
instances?: pulumi.Input<number>;Quota value for instances. Changing this updates the existing quotaset.
property keyPairs
keyPairs?: pulumi.Input<number>;Quota value for key pairs. Changing this updates the existing quotaset.
property metadataItems
metadataItems?: pulumi.Input<number>;Quota value for metadata items. Changing this updates the existing quotaset.
property projectId
projectId?: pulumi.Input<string>;ID of the project to manage quotas. Changing this creates a new quotaset.
property ram
ram?: pulumi.Input<number>;Quota value for RAM. Changing this updates the existing quotaset.
property region
region?: pulumi.Input<string>;The region in which to create the volume. If
omitted, the region argument of the provider is used. Changing this
creates a new quotaset.
property securityGroupRules
securityGroupRules?: pulumi.Input<number>;Quota value for security group rules. Changing this updates the existing quotaset.
property securityGroups
securityGroups?: pulumi.Input<number>;Quota value for security groups. Changing this updates the existing quotaset.
property serverGroupMembers
serverGroupMembers?: pulumi.Input<number>;Quota value for server groups members. Changing this updates the existing quotaset.
property serverGroups
serverGroups?: pulumi.Input<number>;Quota value for server groups. Changing this updates the existing quotaset.
interface SecGroupArgs
interface SecGroupArgsThe set of arguments for constructing a SecGroup resource.
property description
description: pulumi.Input<string>;A description for the security group. Changing this
updates the description of an existing security group.
property name
name?: pulumi.Input<string>;A unique name for the security group. Changing this
updates the name of an existing security group.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a security group. If omitted, the
region argument of the provider is used. Changing this creates a new
security group.
property rules
rules?: pulumi.Input<pulumi.Input<SecGroupRule>[]>;A rule describing how the security group operates. The rule object structure is documented below. Changing this updates the security group rules. As shown in the example above, multiple rule blocks may be used.
interface SecGroupState
interface SecGroupStateInput properties used for looking up and filtering SecGroup resources.
property description
description?: pulumi.Input<string>;A description for the security group. Changing this
updates the description of an existing security group.
property name
name?: pulumi.Input<string>;A unique name for the security group. Changing this
updates the name of an existing security group.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a security group. If omitted, the
region argument of the provider is used. Changing this creates a new
security group.
property rules
rules?: pulumi.Input<pulumi.Input<SecGroupRule>[]>;A rule describing how the security group operates. The rule object structure is documented below. Changing this updates the security group rules. As shown in the example above, multiple rule blocks may be used.
interface ServerGroupArgs
interface ServerGroupArgsThe set of arguments for constructing a ServerGroup resource.
property name
name?: pulumi.Input<string>;A unique name for the server group. Changing this creates a new server group.
property policies
policies?: pulumi.Input<pulumi.Input<string>[]>;The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used. Changing
this creates a new server group.
property valueSpecs
valueSpecs?: pulumi.Input<{[key: string]: any}>;Map of additional options.
interface ServerGroupState
interface ServerGroupStateInput properties used for looking up and filtering ServerGroup resources.
property members
members?: pulumi.Input<pulumi.Input<string>[]>;The instances that are part of this server group.
property name
name?: pulumi.Input<string>;A unique name for the server group. Changing this creates a new server group.
property policies
policies?: pulumi.Input<pulumi.Input<string>[]>;The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
If omitted, the region argument of the provider is used. Changing
this creates a new server group.
property valueSpecs
valueSpecs?: pulumi.Input<{[key: string]: any}>;Map of additional options.
interface VolumeAttachArgs
interface VolumeAttachArgsThe set of arguments for constructing a VolumeAttach resource.
property device
device?: pulumi.Input<string>;See Argument Reference above. NOTE: The correctness of this information is dependent upon the hypervisor in use. In some cases, this should not be used as an authoritative piece of information.
property instanceId
instanceId: pulumi.Input<string>;The ID of the Instance to attach the Volume to.
property multiattach
multiattach?: pulumi.Input<boolean>;Enable attachment of multiattach-capable volumes.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a volume attachment. If omitted, the
region argument of the provider is used. Changing this creates a
new volume attachment.
property volumeId
volumeId: pulumi.Input<string>;The ID of the Volume to attach to an Instance.
interface VolumeAttachState
interface VolumeAttachStateInput properties used for looking up and filtering VolumeAttach resources.
property device
device?: pulumi.Input<string>;See Argument Reference above. NOTE: The correctness of this information is dependent upon the hypervisor in use. In some cases, this should not be used as an authoritative piece of information.
property instanceId
instanceId?: pulumi.Input<string>;The ID of the Instance to attach the Volume to.
property multiattach
multiattach?: pulumi.Input<boolean>;Enable attachment of multiattach-capable volumes.
property region
region?: pulumi.Input<string>;The region in which to obtain the V2 Compute client.
A Compute client is needed to create a volume attachment. If omitted, the
region argument of the provider is used. Changing this creates a
new volume attachment.
property volumeId
volumeId?: pulumi.Input<string>;The ID of the Volume to attach to an Instance.