CapacityReservation

Specifies information about the capacity reservation. API Version: 2021-04-01.

Example Usage

Create or update a capacity reservation .

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var capacityReservation = new AzureNative.Compute.CapacityReservation("capacityReservation", new()
    {
        CapacityReservationGroupName = "myCapacityReservationGroup",
        CapacityReservationName = "myCapacityReservation",
        Location = "westus",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.SkuArgs
        {
            Capacity = 4,
            Name = "Standard_DS1_v2",
        },
        Tags = 
        {
            { "department", "HR" },
        },
        Zones = new[]
        {
            "1",
        },
    });

});
package main

import (
	compute "github.com/pulumi/pulumi-azure-native/sdk/go/azure/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewCapacityReservation(ctx, "capacityReservation", &compute.CapacityReservationArgs{
			CapacityReservationGroupName: pulumi.String("myCapacityReservationGroup"),
			CapacityReservationName:      pulumi.String("myCapacityReservation"),
			Location:                     pulumi.String("westus"),
			ResourceGroupName:            pulumi.String("myResourceGroup"),
			Sku: &compute.SkuArgs{
				Capacity: pulumi.Float64(4),
				Name:     pulumi.String("Standard_DS1_v2"),
			},
			Tags: pulumi.StringMap{
				"department": pulumi.String("HR"),
			},
			Zones: pulumi.StringArray{
				pulumi.String("1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.CapacityReservation;
import com.pulumi.azurenative.compute.CapacityReservationArgs;
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) {
        var capacityReservation = new CapacityReservation("capacityReservation", CapacityReservationArgs.builder()        
            .capacityReservationGroupName("myCapacityReservationGroup")
            .capacityReservationName("myCapacityReservation")
            .location("westus")
            .resourceGroupName("myResourceGroup")
            .sku(Map.ofEntries(
                Map.entry("capacity", 4),
                Map.entry("name", "Standard_DS1_v2")
            ))
            .tags(Map.of("department", "HR"))
            .zones("1")
            .build());

    }
}
import pulumi
import pulumi_azure_native as azure_native

capacity_reservation = azure_native.compute.CapacityReservation("capacityReservation",
    capacity_reservation_group_name="myCapacityReservationGroup",
    capacity_reservation_name="myCapacityReservation",
    location="westus",
    resource_group_name="myResourceGroup",
    sku=azure_native.compute.SkuArgs(
        capacity=4,
        name="Standard_DS1_v2",
    ),
    tags={
        "department": "HR",
    },
    zones=["1"])
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const capacityReservation = new azure_native.compute.CapacityReservation("capacityReservation", {
    capacityReservationGroupName: "myCapacityReservationGroup",
    capacityReservationName: "myCapacityReservation",
    location: "westus",
    resourceGroupName: "myResourceGroup",
    sku: {
        capacity: 4,
        name: "Standard_DS1_v2",
    },
    tags: {
        department: "HR",
    },
    zones: ["1"],
});
resources:
  capacityReservation:
    type: azure-native:compute:CapacityReservation
    properties:
      capacityReservationGroupName: myCapacityReservationGroup
      capacityReservationName: myCapacityReservation
      location: westus
      resourceGroupName: myResourceGroup
      sku:
        capacity: 4
        name: Standard_DS1_v2
      tags:
        department: HR
      zones:
        - '1'

Create CapacityReservation Resource

new CapacityReservation(name: string, args: CapacityReservationArgs, opts?: CustomResourceOptions);
@overload
def CapacityReservation(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        capacity_reservation_group_name: Optional[str] = None,
                        capacity_reservation_name: Optional[str] = None,
                        location: Optional[str] = None,
                        resource_group_name: Optional[str] = None,
                        sku: Optional[SkuArgs] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        zones: Optional[Sequence[str]] = None)
@overload
def CapacityReservation(resource_name: str,
                        args: CapacityReservationArgs,
                        opts: Optional[ResourceOptions] = None)
func NewCapacityReservation(ctx *Context, name string, args CapacityReservationArgs, opts ...ResourceOption) (*CapacityReservation, error)
public CapacityReservation(string name, CapacityReservationArgs args, CustomResourceOptions? opts = null)
public CapacityReservation(String name, CapacityReservationArgs args)
public CapacityReservation(String name, CapacityReservationArgs args, CustomResourceOptions options)
type: azure-native:compute:CapacityReservation
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args CapacityReservationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args CapacityReservationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args CapacityReservationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args CapacityReservationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args CapacityReservationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

CapacityReservation Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The CapacityReservation resource accepts the following input properties:

CapacityReservationGroupName string

The name of the capacity reservation group.

ResourceGroupName string

The name of the resource group.

Sku Pulumi.AzureNative.Compute.Inputs.SkuArgs

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

CapacityReservationName string

The name of the capacity reservation.

Location string

Resource location

Tags Dictionary<string, string>

Resource tags

Zones List<string>

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

CapacityReservationGroupName string

The name of the capacity reservation group.

ResourceGroupName string

The name of the resource group.

Sku SkuArgs

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

CapacityReservationName string

The name of the capacity reservation.

Location string

Resource location

Tags map[string]string

Resource tags

Zones []string

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

capacityReservationGroupName String

The name of the capacity reservation group.

resourceGroupName String

The name of the resource group.

sku SkuArgs

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

capacityReservationName String

The name of the capacity reservation.

location String

Resource location

tags Map<String,String>

Resource tags

zones List<String>

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

capacityReservationGroupName string

The name of the capacity reservation group.

resourceGroupName string

The name of the resource group.

sku SkuArgs

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

capacityReservationName string

The name of the capacity reservation.

location string

Resource location

tags {[key: string]: string}

Resource tags

zones string[]

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

capacity_reservation_group_name str

The name of the capacity reservation group.

resource_group_name str

The name of the resource group.

sku SkuArgs

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

capacity_reservation_name str

The name of the capacity reservation.

location str

Resource location

tags Mapping[str, str]

Resource tags

zones Sequence[str]

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

capacityReservationGroupName String

The name of the capacity reservation group.

resourceGroupName String

The name of the resource group.

sku Property Map

SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.

capacityReservationName String

The name of the capacity reservation.

location String

Resource location

tags Map<String>

Resource tags

zones List<String>

Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.

Outputs

All input properties are implicitly available as output properties. Additionally, the CapacityReservation resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

InstanceView Pulumi.AzureNative.Compute.Outputs.CapacityReservationInstanceViewResponse

The Capacity reservation instance view.

Name string

Resource name

ProvisioningState string

The provisioning state, which only appears in the response.

ProvisioningTime string

The date time when the capacity reservation was last updated.

ReservationId string

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

Type string

Resource type

VirtualMachinesAssociated List<Pulumi.AzureNative.Compute.Outputs.SubResourceReadOnlyResponse>

A list of all virtual machine resource ids that are associated with the capacity reservation.

Id string

The provider-assigned unique ID for this managed resource.

InstanceView CapacityReservationInstanceViewResponse

The Capacity reservation instance view.

Name string

Resource name

ProvisioningState string

The provisioning state, which only appears in the response.

ProvisioningTime string

The date time when the capacity reservation was last updated.

ReservationId string

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

Type string

Resource type

VirtualMachinesAssociated []SubResourceReadOnlyResponse

A list of all virtual machine resource ids that are associated with the capacity reservation.

id String

The provider-assigned unique ID for this managed resource.

instanceView CapacityReservationInstanceViewResponse

The Capacity reservation instance view.

name String

Resource name

provisioningState String

The provisioning state, which only appears in the response.

provisioningTime String

The date time when the capacity reservation was last updated.

reservationId String

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

type String

Resource type

virtualMachinesAssociated List<SubResourceReadOnlyResponse>

A list of all virtual machine resource ids that are associated with the capacity reservation.

id string

The provider-assigned unique ID for this managed resource.

instanceView CapacityReservationInstanceViewResponse

The Capacity reservation instance view.

name string

Resource name

provisioningState string

The provisioning state, which only appears in the response.

provisioningTime string

The date time when the capacity reservation was last updated.

reservationId string

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

type string

Resource type

virtualMachinesAssociated SubResourceReadOnlyResponse[]

A list of all virtual machine resource ids that are associated with the capacity reservation.

id str

The provider-assigned unique ID for this managed resource.

instance_view CapacityReservationInstanceViewResponse

The Capacity reservation instance view.

name str

Resource name

provisioning_state str

The provisioning state, which only appears in the response.

provisioning_time str

The date time when the capacity reservation was last updated.

reservation_id str

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

type str

Resource type

virtual_machines_associated Sequence[SubResourceReadOnlyResponse]

A list of all virtual machine resource ids that are associated with the capacity reservation.

id String

The provider-assigned unique ID for this managed resource.

instanceView Property Map

The Capacity reservation instance view.

name String

Resource name

provisioningState String

The provisioning state, which only appears in the response.

provisioningTime String

The date time when the capacity reservation was last updated.

reservationId String

A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource.

type String

Resource type

virtualMachinesAssociated List<Property Map>

A list of all virtual machine resource ids that are associated with the capacity reservation.

Supporting Types

CapacityReservationInstanceViewResponse

Statuses []InstanceViewStatusResponse

The resource status information.

UtilizationInfo CapacityReservationUtilizationResponse

Unutilized capacity of the capacity reservation.

statuses List<InstanceViewStatusResponse>

The resource status information.

utilizationInfo CapacityReservationUtilizationResponse

Unutilized capacity of the capacity reservation.

statuses InstanceViewStatusResponse[]

The resource status information.

utilizationInfo CapacityReservationUtilizationResponse

Unutilized capacity of the capacity reservation.

statuses Sequence[InstanceViewStatusResponse]

The resource status information.

utilization_info CapacityReservationUtilizationResponse

Unutilized capacity of the capacity reservation.

statuses List<Property Map>

The resource status information.

utilizationInfo Property Map

Unutilized capacity of the capacity reservation.

CapacityReservationUtilizationResponse

VirtualMachinesAllocated List<Pulumi.AzureNative.Compute.Inputs.SubResourceReadOnlyResponse>

A list of all virtual machines resource ids allocated against the capacity reservation.

VirtualMachinesAllocated []SubResourceReadOnlyResponse

A list of all virtual machines resource ids allocated against the capacity reservation.

virtualMachinesAllocated List<SubResourceReadOnlyResponse>

A list of all virtual machines resource ids allocated against the capacity reservation.

virtualMachinesAllocated SubResourceReadOnlyResponse[]

A list of all virtual machines resource ids allocated against the capacity reservation.

virtual_machines_allocated Sequence[SubResourceReadOnlyResponse]

A list of all virtual machines resource ids allocated against the capacity reservation.

virtualMachinesAllocated List<Property Map>

A list of all virtual machines resource ids allocated against the capacity reservation.

InstanceViewStatusResponse

Code string

The status code.

DisplayStatus string

The short localizable label for the status.

Level string

The level code.

Message string

The detailed status message, including for alerts and error messages.

Time string

The time of the status.

Code string

The status code.

DisplayStatus string

The short localizable label for the status.

Level string

The level code.

Message string

The detailed status message, including for alerts and error messages.

Time string

The time of the status.

code String

The status code.

displayStatus String

The short localizable label for the status.

level String

The level code.

message String

The detailed status message, including for alerts and error messages.

time String

The time of the status.

code string

The status code.

displayStatus string

The short localizable label for the status.

level string

The level code.

message string

The detailed status message, including for alerts and error messages.

time string

The time of the status.

code str

The status code.

display_status str

The short localizable label for the status.

level str

The level code.

message str

The detailed status message, including for alerts and error messages.

time str

The time of the status.

code String

The status code.

displayStatus String

The short localizable label for the status.

level String

The level code.

message String

The detailed status message, including for alerts and error messages.

time String

The time of the status.

Sku

Capacity double

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

Capacity float64

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Double

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity number

Specifies the number of virtual machines in the scale set.

name string

The sku name.

tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity float

Specifies the number of virtual machines in the scale set.

name str

The sku name.

tier str

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Number

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

SkuResponse

Capacity double

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

Capacity float64

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Double

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity number

Specifies the number of virtual machines in the scale set.

name string

The sku name.

tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity float

Specifies the number of virtual machines in the scale set.

name str

The sku name.

tier str

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Number

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

SubResourceReadOnlyResponse

Id string

Resource Id

Id string

Resource Id

id String

Resource Id

id string

Resource Id

id str

Resource Id

id String

Resource Id

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:compute:CapacityReservation myCapacityReservation /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation 

Package Details

Repository
https://github.com/pulumi/pulumi-azure-native
License
Apache-2.0