1. Packages
  2. Outscale Provider
  3. API Docs
  4. getVmTypes
outscale 1.1.0 published on Thursday, Apr 3, 2025 by outscale

outscale.getVmTypes

Explore with Pulumi AI

Provides information about VM types.

For more information on this resource, see the User Guide.
For more information on this resource actions, see the API documentation.

Example Usage

All types of VMs

import * as pulumi from "@pulumi/pulumi";
import * as outscale from "@pulumi/outscale";

const allVmTypes = outscale.getVmTypes({});
Copy
import pulumi
import pulumi_outscale as outscale

all_vm_types = outscale.get_vm_types()
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := outscale.GetVmTypes(ctx, &outscale.GetVmTypesArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Outscale = Pulumi.Outscale;

return await Deployment.RunAsync(() => 
{
    var allVmTypes = Outscale.GetVmTypes.Invoke();

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.outscale.OutscaleFunctions;
import com.pulumi.outscale.inputs.GetVmTypesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var allVmTypes = OutscaleFunctions.getVmTypes();

    }
}
Copy
variables:
  allVmTypes:
    fn::invoke:
      function: outscale:getVmTypes
      arguments: {}
Copy

VMs optimized for Block Storage Unit (BSU)

import * as pulumi from "@pulumi/pulumi";
import * as outscale from "@pulumi/outscale";

const vmTypes01 = outscale.getVmTypes({
    filters: [{
        name: "bsu_optimized",
        values: ["true"],
    }],
});
Copy
import pulumi
import pulumi_outscale as outscale

vm_types01 = outscale.get_vm_types(filters=[{
    "name": "bsu_optimized",
    "values": ["true"],
}])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := outscale.GetVmTypes(ctx, &outscale.GetVmTypesArgs{
			Filters: []outscale.GetVmTypesFilter{
				{
					Name: "bsu_optimized",
					Values: []string{
						"true",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Outscale = Pulumi.Outscale;

return await Deployment.RunAsync(() => 
{
    var vmTypes01 = Outscale.GetVmTypes.Invoke(new()
    {
        Filters = new[]
        {
            new Outscale.Inputs.GetVmTypesFilterInputArgs
            {
                Name = "bsu_optimized",
                Values = new[]
                {
                    "true",
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.outscale.OutscaleFunctions;
import com.pulumi.outscale.inputs.GetVmTypesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var vmTypes01 = OutscaleFunctions.getVmTypes(GetVmTypesArgs.builder()
            .filters(GetVmTypesFilterArgs.builder()
                .name("bsu_optimized")
                .values(true)
                .build())
            .build());

    }
}
Copy
variables:
  vmTypes01:
    fn::invoke:
      function: outscale:getVmTypes
      arguments:
        filters:
          - name: bsu_optimized
            values:
              - true
Copy

Specific VM type

import * as pulumi from "@pulumi/pulumi";
import * as outscale from "@pulumi/outscale";

const vmTypes02 = outscale.getVmTypes({
    filters: [{
        name: "vm_type_names",
        values: ["m3.large"],
    }],
});
Copy
import pulumi
import pulumi_outscale as outscale

vm_types02 = outscale.get_vm_types(filters=[{
    "name": "vm_type_names",
    "values": ["m3.large"],
}])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := outscale.GetVmTypes(ctx, &outscale.GetVmTypesArgs{
			Filters: []outscale.GetVmTypesFilter{
				{
					Name: "vm_type_names",
					Values: []string{
						"m3.large",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Outscale = Pulumi.Outscale;

return await Deployment.RunAsync(() => 
{
    var vmTypes02 = Outscale.GetVmTypes.Invoke(new()
    {
        Filters = new[]
        {
            new Outscale.Inputs.GetVmTypesFilterInputArgs
            {
                Name = "vm_type_names",
                Values = new[]
                {
                    "m3.large",
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.outscale.OutscaleFunctions;
import com.pulumi.outscale.inputs.GetVmTypesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var vmTypes02 = OutscaleFunctions.getVmTypes(GetVmTypesArgs.builder()
            .filters(GetVmTypesFilterArgs.builder()
                .name("vm_type_names")
                .values("m3.large")
                .build())
            .build());

    }
}
Copy
variables:
  vmTypes02:
    fn::invoke:
      function: outscale:getVmTypes
      arguments:
        filters:
          - name: vm_type_names
            values:
              - m3.large
Copy

Using getVmTypes

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getVmTypes(args: GetVmTypesArgs, opts?: InvokeOptions): Promise<GetVmTypesResult>
function getVmTypesOutput(args: GetVmTypesOutputArgs, opts?: InvokeOptions): Output<GetVmTypesResult>
Copy
def get_vm_types(filters: Optional[Sequence[GetVmTypesFilter]] = None,
                 id: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetVmTypesResult
def get_vm_types_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVmTypesFilterArgs]]]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetVmTypesResult]
Copy
func GetVmTypes(ctx *Context, args *GetVmTypesArgs, opts ...InvokeOption) (*GetVmTypesResult, error)
func GetVmTypesOutput(ctx *Context, args *GetVmTypesOutputArgs, opts ...InvokeOption) GetVmTypesResultOutput
Copy

> Note: This function is named GetVmTypes in the Go SDK.

public static class GetVmTypes 
{
    public static Task<GetVmTypesResult> InvokeAsync(GetVmTypesArgs args, InvokeOptions? opts = null)
    public static Output<GetVmTypesResult> Invoke(GetVmTypesInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetVmTypesResult> getVmTypes(GetVmTypesArgs args, InvokeOptions options)
public static Output<GetVmTypesResult> getVmTypes(GetVmTypesArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: outscale:index/getVmTypes:getVmTypes
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Filters List<GetVmTypesFilter>
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
Id string
Filters []GetVmTypesFilter
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
Id string
filters List<GetVmTypesFilter>
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
id String
filters GetVmTypesFilter[]
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
id string
filters Sequence[GetVmTypesFilter]
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
id str
filters List<Property Map>
A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:
id String

getVmTypes Result

The following output properties are available:

Id string
RequestId string
VmTypes List<GetVmTypesVmType>
Information about one or more VM types.
Filters List<GetVmTypesFilter>
Id string
RequestId string
VmTypes []GetVmTypesVmType
Information about one or more VM types.
Filters []GetVmTypesFilter
id String
requestId String
vmTypes List<GetVmTypesVmType>
Information about one or more VM types.
filters List<GetVmTypesFilter>
id string
requestId string
vmTypes GetVmTypesVmType[]
Information about one or more VM types.
filters GetVmTypesFilter[]
id String
requestId String
vmTypes List<Property Map>
Information about one or more VM types.
filters List<Property Map>

Supporting Types

GetVmTypesFilter

Name This property is required. string
Values This property is required. List<string>
Name This property is required. string
Values This property is required. []string
name This property is required. String
values This property is required. List<String>
name This property is required. string
values This property is required. string[]
name This property is required. str
values This property is required. Sequence[str]
name This property is required. String
values This property is required. List<String>

GetVmTypesVmType

BsuOptimized This property is required. bool
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
MaxPrivateIps This property is required. double
The maximum number of private IPs per network interface card (NIC).
MemorySize This property is required. double
The amount of memory, in gibibytes.
VcoreCount This property is required. double
The number of vCores.
VmTypeName This property is required. string
The name of the VM type.
VolumeCount This property is required. double
The maximum number of ephemeral storage disks.
VolumeSize This property is required. double
The size of one ephemeral storage disk, in gibibytes (GiB).
BsuOptimized This property is required. bool
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
MaxPrivateIps This property is required. float64
The maximum number of private IPs per network interface card (NIC).
MemorySize This property is required. float64
The amount of memory, in gibibytes.
VcoreCount This property is required. float64
The number of vCores.
VmTypeName This property is required. string
The name of the VM type.
VolumeCount This property is required. float64
The maximum number of ephemeral storage disks.
VolumeSize This property is required. float64
The size of one ephemeral storage disk, in gibibytes (GiB).
bsuOptimized This property is required. Boolean
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
maxPrivateIps This property is required. Double
The maximum number of private IPs per network interface card (NIC).
memorySize This property is required. Double
The amount of memory, in gibibytes.
vcoreCount This property is required. Double
The number of vCores.
vmTypeName This property is required. String
The name of the VM type.
volumeCount This property is required. Double
The maximum number of ephemeral storage disks.
volumeSize This property is required. Double
The size of one ephemeral storage disk, in gibibytes (GiB).
bsuOptimized This property is required. boolean
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
maxPrivateIps This property is required. number
The maximum number of private IPs per network interface card (NIC).
memorySize This property is required. number
The amount of memory, in gibibytes.
vcoreCount This property is required. number
The number of vCores.
vmTypeName This property is required. string
The name of the VM type.
volumeCount This property is required. number
The maximum number of ephemeral storage disks.
volumeSize This property is required. number
The size of one ephemeral storage disk, in gibibytes (GiB).
bsu_optimized This property is required. bool
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
max_private_ips This property is required. float
The maximum number of private IPs per network interface card (NIC).
memory_size This property is required. float
The amount of memory, in gibibytes.
vcore_count This property is required. float
The number of vCores.
vm_type_name This property is required. str
The name of the VM type.
volume_count This property is required. float
The maximum number of ephemeral storage disks.
volume_size This property is required. float
The size of one ephemeral storage disk, in gibibytes (GiB).
bsuOptimized This property is required. Boolean
This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.
maxPrivateIps This property is required. Number
The maximum number of private IPs per network interface card (NIC).
memorySize This property is required. Number
The amount of memory, in gibibytes.
vcoreCount This property is required. Number
The number of vCores.
vmTypeName This property is required. String
The name of the VM type.
volumeCount This property is required. Number
The maximum number of ephemeral storage disks.
volumeSize This property is required. Number
The size of one ephemeral storage disk, in gibibytes (GiB).

Package Details

Repository
outscale outscale/terraform-provider-outscale
License
Notes
This Pulumi package is based on the outscale Terraform Provider.