Module mssql

@pulumi/azure > mssql

class ElasticPool

extends CustomResource

Allows you to manage an Azure SQL Elastic Pool via the 2017-10-01-preview API which allows for vCore and DTU based configurations.

Example Usage

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

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "westeurope",
});
const testSqlServer = new azure.sql.SqlServer("test", {
    administratorLogin: "4dm1n157r470r",
    administratorLoginPassword: "4-v3ry-53cr37-p455w0rd",
    location: testResourceGroup.location,
    resourceGroupName: testResourceGroup.name,
    version: "12.0",
});
const testElasticPool = new azure.mssql.ElasticPool("test", {
    location: testResourceGroup.location,
    maxSizeGb: 756,
    perDatabaseSettings: {
        maxCapacity: 4,
        minCapacity: 0.25,
    },
    resourceGroupName: testResourceGroup.name,
    serverName: testSqlServer.name,
    sku: {
        capacity: 4,
        family: "Gen5",
        name: "GP_Gen5",
        tier: "GeneralPurpose",
    },
});

constructor

new ElasticPool(name: string, args: ElasticPoolArgs, opts?: pulumi.CustomResourceOptions)

Create a ElasticPool resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ElasticPoolState, opts?: pulumi.CustomResourceOptions): ElasticPool

Get an existing ElasticPool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property elasticPoolProperties

public elasticPoolProperties: pulumi.Output<{
    creationDate: string;
    licenseType: string;
    maxSizeBytes: number;
    state: string;
    zoneRedundant: boolean;
}>;

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 location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property maxSizeBytes

public maxSizeBytes: pulumi.Output<number>;

The max data size of the elastic pool in bytes. Conflicts with max_size_gb.

property maxSizeGb

public maxSizeGb: pulumi.Output<number>;

The max data size of the elastic pool in gigabytes. Conflicts with max_size_bytes.

property name

public name: pulumi.Output<string>;

Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either vCore based tier + family pattern (e.g. GP_Gen4, BC_Gen5) or the DTU based BasicPool, StandardPool, or PremiumPool pattern.

property perDatabaseSettings

public perDatabaseSettings: pulumi.Output<{
    maxCapacity: number;
    minCapacity: number;
}>;

A per_database_settings block as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server.

property serverName

public serverName: pulumi.Output<string>;

The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.

property sku

public sku: pulumi.Output<{
    capacity: number;
    family: string;
    name: string;
    tier: string;
}>;

A sku block as defined below.

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneRedundant

public zoneRedundant: pulumi.Output<boolean>;

Whether or not this elastic pool is zone redundant.

interface ElasticPoolArgs

The set of arguments for constructing a ElasticPool resource.

property location

location: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property maxSizeBytes

maxSizeBytes?: pulumi.Input<number>;

The max data size of the elastic pool in bytes. Conflicts with max_size_gb.

property maxSizeGb

maxSizeGb?: pulumi.Input<number>;

The max data size of the elastic pool in gigabytes. Conflicts with max_size_bytes.

property name

name?: pulumi.Input<string>;

Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either vCore based tier + family pattern (e.g. GP_Gen4, BC_Gen5) or the DTU based BasicPool, StandardPool, or PremiumPool pattern.

property perDatabaseSettings

perDatabaseSettings: pulumi.Input<{
    maxCapacity: pulumi.Input<number>;
    minCapacity: pulumi.Input<number>;
}>;

A per_database_settings block as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server.

property serverName

serverName: pulumi.Input<string>;

The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.

property sku

sku: pulumi.Input<{
    capacity: pulumi.Input<number>;
    family: pulumi.Input<string>;
    name: pulumi.Input<string>;
    tier: pulumi.Input<string>;
}>;

A sku block as defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface ElasticPoolState

Input properties used for looking up and filtering ElasticPool resources.

property elasticPoolProperties

elasticPoolProperties?: pulumi.Input<{
    creationDate: pulumi.Input<string>;
    licenseType: pulumi.Input<string>;
    maxSizeBytes: pulumi.Input<number>;
    state: pulumi.Input<string>;
    zoneRedundant: pulumi.Input<boolean>;
}>;

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property maxSizeBytes

maxSizeBytes?: pulumi.Input<number>;

The max data size of the elastic pool in bytes. Conflicts with max_size_gb.

property maxSizeGb

maxSizeGb?: pulumi.Input<number>;

The max data size of the elastic pool in gigabytes. Conflicts with max_size_bytes.

property name

name?: pulumi.Input<string>;

Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either vCore based tier + family pattern (e.g. GP_Gen4, BC_Gen5) or the DTU based BasicPool, StandardPool, or PremiumPool pattern.

property perDatabaseSettings

perDatabaseSettings?: pulumi.Input<{
    maxCapacity: pulumi.Input<number>;
    minCapacity: pulumi.Input<number>;
}>;

A per_database_settings block as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server.

property serverName

serverName?: pulumi.Input<string>;

The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.

property sku

sku?: pulumi.Input<{
    capacity: pulumi.Input<number>;
    family: pulumi.Input<string>;
    name: pulumi.Input<string>;
    tier: pulumi.Input<string>;
}>;

A sku block as defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property zoneRedundant

zoneRedundant?: pulumi.Input<boolean>;

Whether or not this elastic pool is zone redundant.