Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851
PUT https://management.azure.com/providers/Microsoft.BillingBenefits/savingsPlanOrderAliases/{savingsPlanOrderAliasName}?api-version=2022-11-01
URI Parameters
Name |
In |
Required |
Type |
Description |
savingsPlanOrderAliasName
|
path |
True
|
string
|
Name of the savings plan order alias
Regex pattern: ^[a-zA-Z0-9_\-\.]+$
|
api-version
|
query |
True
|
string
|
The api-version to be used by the service
|
Request Body
Name |
Required |
Type |
Description |
sku
|
True
|
Sku
|
Savings plan SKU
|
kind
|
|
string
|
Resource provider kind
|
properties.appliedScopeProperties
|
|
AppliedScopeProperties
|
Properties specific to applied scope type. Not required if not applicable.
|
properties.appliedScopeType
|
|
AppliedScopeType
|
Type of the Applied Scope.
|
properties.billingPlan
|
|
BillingPlan
|
Represents the billing plan in ISO 8601 format. Required only for monthly billing plans.
|
properties.billingScopeId
|
|
string
|
Subscription that will be charged for purchasing the benefit
|
properties.commitment
|
|
Commitment
|
Commitment towards the benefit.
|
properties.displayName
|
|
string
|
Display name
|
properties.renew
|
|
boolean
|
Setting this to true will automatically purchase a new benefit on the expiration date time.
|
properties.term
|
|
Term
|
Represent benefit term in ISO 8601 format.
|
Responses
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
impersonate your user account
|
Examples
SavingsPlanOrderAliasCreate
Sample request
PUT https://management.azure.com/providers/Microsoft.BillingBenefits/savingsPlanOrderAliases/spAlias123?api-version=2022-11-01
{
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000000",
"term": "P3Y",
"appliedScopeType": "Shared",
"appliedScopeProperties": null,
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"billingPlan": "P1M",
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
}
}
}
import com.azure.resourcemanager.billingbenefits.fluent.models.SavingsPlanOrderAliasModelInner;
import com.azure.resourcemanager.billingbenefits.models.AppliedScopeType;
import com.azure.resourcemanager.billingbenefits.models.BillingPlan;
import com.azure.resourcemanager.billingbenefits.models.Commitment;
import com.azure.resourcemanager.billingbenefits.models.CommitmentGrain;
import com.azure.resourcemanager.billingbenefits.models.Sku;
import com.azure.resourcemanager.billingbenefits.models.Term;
/**
* Samples for SavingsPlanOrderAlias Create.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/
* SavingsPlanOrderAliasCreate.json
*/
/**
* Sample code: SavingsPlanOrderAliasCreate.
*
* @param manager Entry point to BillingBenefitsManager.
*/
public static void
savingsPlanOrderAliasCreate(com.azure.resourcemanager.billingbenefits.BillingBenefitsManager manager) {
manager.savingsPlanOrderAlias().create("spAlias123",
new SavingsPlanOrderAliasModelInner().withSku(new Sku().withName("Compute_Savings_Plan"))
.withDisplayName("Compute_SavingsPlan_10-28-2022_16-38")
.withBillingScopeId("/subscriptions/30000000-0000-0000-0000-000000000000").withTerm(Term.P3Y)
.withBillingPlan(BillingPlan.P1M).withAppliedScopeType(AppliedScopeType.SHARED)
.withCommitment(new Commitment().withCurrencyCode("fakeTokenPlaceholder").withAmount(0.001D)
.withGrain(CommitmentGrain.HOURLY)),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.billingbenefits import BillingBenefitsRP
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-billingbenefits
# USAGE
python savings_plan_order_alias_create.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BillingBenefitsRP(
credential=DefaultAzureCredential(),
)
response = client.savings_plan_order_alias.begin_create(
savings_plan_order_alias_name="spAlias123",
body={
"properties": {
"appliedScopeProperties": None,
"appliedScopeType": "Shared",
"billingPlan": "P1M",
"billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000000",
"commitment": {"amount": 0.001, "currencyCode": "USD", "grain": "Hourly"},
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"term": "P3Y",
},
"sku": {"name": "Compute_Savings_Plan"},
},
).result()
print(response)
# x-ms-original-file: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbillingbenefits_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billingbenefits/armbillingbenefits/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/f790e624d0d080b89d962a3bd19c65bc6a6b2f5e/specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreate.json
func ExampleSavingsPlanOrderAliasClient_BeginCreate_savingsPlanOrderAliasCreate() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbillingbenefits.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewSavingsPlanOrderAliasClient().BeginCreate(ctx, "spAlias123", armbillingbenefits.SavingsPlanOrderAliasModel{
Properties: &armbillingbenefits.SavingsPlanOrderAliasProperties{
AppliedScopeType: to.Ptr(armbillingbenefits.AppliedScopeTypeShared),
BillingPlan: to.Ptr(armbillingbenefits.BillingPlanP1M),
BillingScopeID: to.Ptr("/subscriptions/30000000-0000-0000-0000-000000000000"),
Commitment: &armbillingbenefits.Commitment{
Amount: to.Ptr[float64](0.001),
CurrencyCode: to.Ptr("USD"),
Grain: to.Ptr(armbillingbenefits.CommitmentGrainHourly),
},
DisplayName: to.Ptr("Compute_SavingsPlan_10-28-2022_16-38"),
Term: to.Ptr(armbillingbenefits.TermP3Y),
},
SKU: &armbillingbenefits.SKU{
Name: to.Ptr("Compute_Savings_Plan"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.SavingsPlanOrderAliasModel = armbillingbenefits.SavingsPlanOrderAliasModel{
// Name: to.Ptr("SavingsPlan_1667000324595"),
// Type: to.Ptr("Microsoft.BillingBenefits/savingsPlanOrderAliases"),
// ID: to.Ptr("/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595"),
// Properties: &armbillingbenefits.SavingsPlanOrderAliasProperties{
// AppliedScopeType: to.Ptr(armbillingbenefits.AppliedScopeTypeShared),
// BillingPlan: to.Ptr(armbillingbenefits.BillingPlanP1M),
// BillingScopeID: to.Ptr("/subscriptions/30000000-0000-0000-0000-000000000000"),
// Commitment: &armbillingbenefits.Commitment{
// Amount: to.Ptr[float64](0.001),
// CurrencyCode: to.Ptr("USD"),
// Grain: to.Ptr(armbillingbenefits.CommitmentGrainHourly),
// },
// DisplayName: to.Ptr("Compute_SavingsPlan_10-28-2022_16-38"),
// ProvisioningState: to.Ptr(armbillingbenefits.ProvisioningStateSucceeded),
// SavingsPlanOrderID: to.Ptr("/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023"),
// Term: to.Ptr(armbillingbenefits.TermP3Y),
// },
// SKU: &armbillingbenefits.SKU{
// Name: to.Ptr("Compute_Savings_Plan"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { BillingBenefitsRP } = require("@azure/arm-billingbenefits");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851
*
* @summary Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851
* x-ms-original-file: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreate.json
*/
async function savingsPlanOrderAliasCreate() {
const savingsPlanOrderAliasName = "spAlias123";
const body = {
appliedScopeProperties: {},
appliedScopeType: "Shared",
billingPlan: "P1M",
billingScopeId: "/subscriptions/30000000-0000-0000-0000-000000000000",
commitment: { amount: 0.001, currencyCode: "USD", grain: "Hourly" },
displayName: "Compute_SavingsPlan_10-28-2022_16-38",
sku: { name: "Compute_Savings_Plan" },
term: "P3Y",
};
const credential = new DefaultAzureCredential();
const client = new BillingBenefitsRP(credential);
const result = await client.savingsPlanOrderAlias.beginCreateAndWait(
savingsPlanOrderAliasName,
body
);
console.log(result);
}
savingsPlanOrderAliasCreate().catch(console.error);
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
Azure-AsyncOperation: https://management.azure.com/Microsoft.BillingBenefits/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2021-07-01-privatepreview
Retry-After: 5
{
"id": "/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595",
"name": "SavingsPlan_1667000324595",
"type": "Microsoft.BillingBenefits/savingsPlanOrderAliases",
"kind": null,
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"savingsPlanOrderId": "/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023",
"billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000000",
"billingPlan": "P1M",
"appliedScopeProperties": null,
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
},
"appliedScopeType": "Shared",
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"provisioningState": "Created",
"term": "P3Y"
}
}
{
"id": "/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595",
"name": "SavingsPlan_1667000324595",
"type": "Microsoft.BillingBenefits/savingsPlanOrderAliases",
"kind": null,
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"savingsPlanOrderId": "/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023",
"billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000000",
"billingPlan": "P1M",
"appliedScopeProperties": null,
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
},
"appliedScopeType": "Shared",
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"provisioningState": "Created",
"term": "P3Y"
}
}
SavingsPlanOrderAliasCreateSingleScope
Sample request
PUT https://management.azure.com/providers/Microsoft.BillingBenefits/savingsPlanOrderAliases/spAlias123?api-version=2022-11-01
{
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"billingScopeId": "/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000",
"appliedScopeType": "Single",
"appliedScopeProperties": {
"subscriptionId": "/subscriptions/30000000-0000-0000-0000-000000000000"
},
"term": "P3Y",
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"billingPlan": "P1M",
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
}
}
}
import com.azure.resourcemanager.billingbenefits.fluent.models.SavingsPlanOrderAliasModelInner;
import com.azure.resourcemanager.billingbenefits.models.AppliedScopeProperties;
import com.azure.resourcemanager.billingbenefits.models.AppliedScopeType;
import com.azure.resourcemanager.billingbenefits.models.BillingPlan;
import com.azure.resourcemanager.billingbenefits.models.Commitment;
import com.azure.resourcemanager.billingbenefits.models.CommitmentGrain;
import com.azure.resourcemanager.billingbenefits.models.Sku;
import com.azure.resourcemanager.billingbenefits.models.Term;
/**
* Samples for SavingsPlanOrderAlias Create.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/
* SavingsPlanOrderAliasCreateSingleScope.json
*/
/**
* Sample code: SavingsPlanOrderAliasCreateSingleScope.
*
* @param manager Entry point to BillingBenefitsManager.
*/
public static void savingsPlanOrderAliasCreateSingleScope(
com.azure.resourcemanager.billingbenefits.BillingBenefitsManager manager) {
manager.savingsPlanOrderAlias().create("spAlias123", new SavingsPlanOrderAliasModelInner()
.withSku(new Sku().withName("Compute_Savings_Plan")).withDisplayName("Compute_SavingsPlan_10-28-2022_16-38")
.withBillingScopeId(
"/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000")
.withTerm(Term.P3Y).withBillingPlan(BillingPlan.P1M).withAppliedScopeType(AppliedScopeType.SINGLE)
.withAppliedScopeProperties(
new AppliedScopeProperties().withSubscriptionId("/subscriptions/30000000-0000-0000-0000-000000000000"))
.withCommitment(new Commitment().withCurrencyCode("fakeTokenPlaceholder").withAmount(0.001D)
.withGrain(CommitmentGrain.HOURLY)),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.billingbenefits import BillingBenefitsRP
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-billingbenefits
# USAGE
python savings_plan_order_alias_create_single_scope.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BillingBenefitsRP(
credential=DefaultAzureCredential(),
)
response = client.savings_plan_order_alias.begin_create(
savings_plan_order_alias_name="spAlias123",
body={
"properties": {
"appliedScopeProperties": {"subscriptionId": "/subscriptions/30000000-0000-0000-0000-000000000000"},
"appliedScopeType": "Single",
"billingPlan": "P1M",
"billingScopeId": "/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000",
"commitment": {"amount": 0.001, "currencyCode": "USD", "grain": "Hourly"},
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"term": "P3Y",
},
"sku": {"name": "Compute_Savings_Plan"},
},
).result()
print(response)
# x-ms-original-file: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreateSingleScope.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbillingbenefits_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billingbenefits/armbillingbenefits/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/f790e624d0d080b89d962a3bd19c65bc6a6b2f5e/specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreateSingleScope.json
func ExampleSavingsPlanOrderAliasClient_BeginCreate_savingsPlanOrderAliasCreateSingleScope() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbillingbenefits.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewSavingsPlanOrderAliasClient().BeginCreate(ctx, "spAlias123", armbillingbenefits.SavingsPlanOrderAliasModel{
Properties: &armbillingbenefits.SavingsPlanOrderAliasProperties{
AppliedScopeProperties: &armbillingbenefits.AppliedScopeProperties{
SubscriptionID: to.Ptr("/subscriptions/30000000-0000-0000-0000-000000000000"),
},
AppliedScopeType: to.Ptr(armbillingbenefits.AppliedScopeTypeSingle),
BillingPlan: to.Ptr(armbillingbenefits.BillingPlanP1M),
BillingScopeID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000"),
Commitment: &armbillingbenefits.Commitment{
Amount: to.Ptr[float64](0.001),
CurrencyCode: to.Ptr("USD"),
Grain: to.Ptr(armbillingbenefits.CommitmentGrainHourly),
},
DisplayName: to.Ptr("Compute_SavingsPlan_10-28-2022_16-38"),
Term: to.Ptr(armbillingbenefits.TermP3Y),
},
SKU: &armbillingbenefits.SKU{
Name: to.Ptr("Compute_Savings_Plan"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.SavingsPlanOrderAliasModel = armbillingbenefits.SavingsPlanOrderAliasModel{
// Name: to.Ptr("SavingsPlan_1667000324595"),
// Type: to.Ptr("Microsoft.BillingBenefits/savingsPlanOrderAliases"),
// ID: to.Ptr("/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595"),
// Properties: &armbillingbenefits.SavingsPlanOrderAliasProperties{
// AppliedScopeProperties: &armbillingbenefits.AppliedScopeProperties{
// SubscriptionID: to.Ptr("/subscriptions/30000000-0000-0000-0000-000000000000"),
// },
// AppliedScopeType: to.Ptr(armbillingbenefits.AppliedScopeTypeSingle),
// BillingPlan: to.Ptr(armbillingbenefits.BillingPlanP1M),
// BillingScopeID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000"),
// Commitment: &armbillingbenefits.Commitment{
// Amount: to.Ptr[float64](0.001),
// CurrencyCode: to.Ptr("USD"),
// Grain: to.Ptr(armbillingbenefits.CommitmentGrainHourly),
// },
// DisplayName: to.Ptr("Compute_SavingsPlan_10-28-2022_16-38"),
// ProvisioningState: to.Ptr(armbillingbenefits.ProvisioningStateSucceeded),
// SavingsPlanOrderID: to.Ptr("/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023"),
// Term: to.Ptr(armbillingbenefits.TermP3Y),
// },
// SKU: &armbillingbenefits.SKU{
// Name: to.Ptr("Compute_Savings_Plan"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { BillingBenefitsRP } = require("@azure/arm-billingbenefits");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851
*
* @summary Create a savings plan. Learn more about permissions needed at https://go.microsoft.com/fwlink/?linkid=2215851
* x-ms-original-file: specification/billingbenefits/resource-manager/Microsoft.BillingBenefits/stable/2022-11-01/examples/SavingsPlanOrderAliasCreateSingleScope.json
*/
async function savingsPlanOrderAliasCreateSingleScope() {
const savingsPlanOrderAliasName = "spAlias123";
const body = {
appliedScopeProperties: {
subscriptionId: "/subscriptions/30000000-0000-0000-0000-000000000000",
},
appliedScopeType: "Single",
billingPlan: "P1M",
billingScopeId:
"/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000",
commitment: { amount: 0.001, currencyCode: "USD", grain: "Hourly" },
displayName: "Compute_SavingsPlan_10-28-2022_16-38",
sku: { name: "Compute_Savings_Plan" },
term: "P3Y",
};
const credential = new DefaultAzureCredential();
const client = new BillingBenefitsRP(credential);
const result = await client.savingsPlanOrderAlias.beginCreateAndWait(
savingsPlanOrderAliasName,
body
);
console.log(result);
}
savingsPlanOrderAliasCreateSingleScope().catch(console.error);
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
Azure-AsyncOperation: https://management.azure.com/Microsoft.BillingBenefits/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2021-07-01-privatepreview
Retry-After: 5
{
"id": "/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595",
"name": "SavingsPlan_1667000324595",
"type": "Microsoft.BillingBenefits/savingsPlanOrderAliases",
"kind": null,
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"savingsPlanOrderId": "/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023",
"billingPlan": "P1M",
"billingScopeId": "/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000",
"appliedScopeType": "Single",
"appliedScopeProperties": {
"subscriptionId": "/subscriptions/30000000-0000-0000-0000-000000000000"
},
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
},
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"provisioningState": "Created",
"term": "P3Y"
}
}
{
"id": "/providers/microsoft.billingbenefits/savingsPlanOrderAliases/SavingsPlan_1667000324595",
"name": "SavingsPlan_1667000324595",
"type": "Microsoft.BillingBenefits/savingsPlanOrderAliases",
"kind": null,
"sku": {
"name": "Compute_Savings_Plan"
},
"properties": {
"savingsPlanOrderId": "/providers/Microsoft.BillingBenefits/savingsPlanOrders/30000000-0000-0000-0000-000000000023",
"billingPlan": "P1M",
"billingScopeId": "/providers/Microsoft.Billing/billingAccounts/1234567/billingSubscriptions/30000000-0000-0000-0000-000000000000",
"appliedScopeType": "Single",
"appliedScopeProperties": {
"subscriptionId": "/subscriptions/30000000-0000-0000-0000-000000000000"
},
"commitment": {
"grain": "Hourly",
"currencyCode": "USD",
"amount": 0.001
},
"displayName": "Compute_SavingsPlan_10-28-2022_16-38",
"provisioningState": "Created",
"term": "P3Y"
}
}
Definitions
AppliedScopeProperties
Properties specific to applied scope type. Not required if not applicable.
Name |
Type |
Description |
displayName
|
string
|
Display name
|
managementGroupId
|
string
|
Fully-qualified identifier of the management group where the benefit must be applied.
|
resourceGroupId
|
string
|
Fully-qualified identifier of the resource group.
|
subscriptionId
|
string
|
Fully-qualified identifier of the subscription.
|
tenantId
|
string
|
Tenant ID where the benefit is applied.
|
AppliedScopeType
Type of the Applied Scope.
Name |
Type |
Description |
ManagementGroup
|
string
|
|
Shared
|
string
|
|
Single
|
string
|
|
BillingPlan
Represents the billing plan in ISO 8601 format. Required only for monthly billing plans.
Name |
Type |
Description |
P1M
|
string
|
|
Commitment
Commitment towards the benefit.
Name |
Type |
Description |
amount
|
number
|
|
currencyCode
|
string
|
The ISO 4217 3-letter currency code for the currency used by this purchase record.
|
grain
|
CommitmentGrain
|
Commitment grain.
|
CommitmentGrain
Commitment grain.
Name |
Type |
Description |
Hourly
|
string
|
|
createdByType
The type of identity that created the resource.
Name |
Type |
Description |
Application
|
string
|
|
Key
|
string
|
|
ManagedIdentity
|
string
|
|
User
|
string
|
|
ErrorAdditionalInfo
The resource management error additional info.
Name |
Type |
Description |
info
|
object
|
The additional info.
|
type
|
string
|
The additional info type.
|
ErrorDetail
The error detail.
Name |
Type |
Description |
additionalInfo
|
ErrorAdditionalInfo[]
|
The error additional info.
|
code
|
string
|
The error code.
|
details
|
ErrorDetail[]
|
The error details.
|
message
|
string
|
The error message.
|
target
|
string
|
The error target.
|
ErrorResponse
Error response
Name |
Type |
Description |
error
|
ErrorDetail
|
The error object.
|
ProvisioningState
Provisioning state
Name |
Type |
Description |
Cancelled
|
string
|
|
ConfirmedBilling
|
string
|
|
Created
|
string
|
|
Creating
|
string
|
|
Expired
|
string
|
|
Failed
|
string
|
|
PendingBilling
|
string
|
|
Succeeded
|
string
|
|
SavingsPlanOrderAliasModel
Savings plan order alias
Name |
Type |
Default value |
Description |
id
|
string
|
|
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
kind
|
string
|
|
Resource provider kind
|
name
|
string
|
|
The name of the resource
|
properties.appliedScopeProperties
|
AppliedScopeProperties
|
|
Properties specific to applied scope type. Not required if not applicable.
|
properties.appliedScopeType
|
AppliedScopeType
|
|
Type of the Applied Scope.
|
properties.billingPlan
|
BillingPlan
|
|
Represents the billing plan in ISO 8601 format. Required only for monthly billing plans.
|
properties.billingScopeId
|
string
|
|
Subscription that will be charged for purchasing the benefit
|
properties.commitment
|
Commitment
|
|
Commitment towards the benefit.
|
properties.displayName
|
string
|
|
Display name
|
properties.provisioningState
|
ProvisioningState
|
|
Provisioning state
|
properties.renew
|
boolean
|
False
|
Setting this to true will automatically purchase a new benefit on the expiration date time.
|
properties.savingsPlanOrderId
|
string
|
|
Identifier of the savings plan created
|
properties.term
|
Term
|
|
Represent benefit term in ISO 8601 format.
|
sku
|
Sku
|
|
Savings plan SKU
|
systemData
|
systemData
|
|
Azure Resource Manager metadata containing createdBy and modifiedBy information.
|
type
|
string
|
|
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
|
Sku
The SKU to be applied for this resource
Name |
Type |
Description |
name
|
string
|
Name of the SKU to be applied
|
systemData
Metadata pertaining to creation and last modification of the resource.
Name |
Type |
Description |
createdAt
|
string
|
The timestamp of resource creation (UTC).
|
createdBy
|
string
|
The identity that created the resource.
|
createdByType
|
createdByType
|
The type of identity that created the resource.
|
lastModifiedAt
|
string
|
The timestamp of resource last modification (UTC)
|
lastModifiedBy
|
string
|
The identity that last modified the resource.
|
lastModifiedByType
|
createdByType
|
The type of identity that last modified the resource.
|
Term
Represent benefit term in ISO 8601 format.
Name |
Type |
Description |
P1Y
|
string
|
|
P3Y
|
string
|
|
P5Y
|
string
|
|