Skip to main content

savings_plan

Creates, updates, deletes, gets or lists a savings_plan resource.

Overview

Namesavings_plan
TypeResource
Idazure.billing_benefits.savings_plan

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringFully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
namestringThe name of the resource.
appliedScopePropertiesobjectProperties specific to applied scope type. Not required if not applicable.
appliedScopeTypestringType of the Applied Scope. Known values are: "Single", "Shared", and "ManagementGroup". (Single, Shared, ManagementGroup)
benefitStartTimestring (date-time)This is the DateTime when the savings plan benefit started.
billingAccountIdstringFully-qualified identifier of the billing account where the benefit is applied. Present only for Enterprise Agreement customers.
billingPlanstringRepresents the billing plan in ISO 8601 format. Required only for monthly billing plans. "P1M" (P1M)
billingProfileIdstringFully-qualified identifier of the billing profile where the benefit is applied. Present only for Field-led or Customer-led customers.
billingScopeIdstringSubscription that will be charged for purchasing the benefit.
commitmentobjectCommitment towards the benefit.
customerIdstringFully-qualified identifier of the customer where the savings plan is applied. Present only for Partner-led customers.
displayNamestringDisplay name.
displayProvisioningStatestringThe provisioning state of the savings plan for display, e.g. Succeeded.
effectiveDateTimestring (date-time)DateTime of the savings plan starts providing benefit from.
expiryDateTimestring (date-time)Expiry date time.
extendedStatusInfoobject:vartype extended_status_info: ~azure.mgmt.billingbenefits.models.ExtendedStatusInfo
provisioningStatestringProvisioning state. Known values are: "Creating", "PendingBilling", "ConfirmedBilling", "Created", "Succeeded", "Cancelled", "Expired", and "Failed". (Creating, PendingBilling, ConfirmedBilling, Created, Succeeded, Cancelled, Expired, Failed)
purchaseDateTimestring (date-time)Date time when the savings plan was purchased.
renewbooleanSetting this to true will automatically purchase a new benefit on the expiration date time.
renewDestinationstringSavingsPlan Id of the SavingsPlan which is purchased because of renew.
renewPropertiesobject:vartype renew_properties: ~azure.mgmt.billingbenefits.models.RenewProperties
renewSourcestringSavingsPlan Id of the SavingsPlan from which this SavingsPlan is renewed.
skuobjectSavings plan SKU. Required.
systemDataobjectAzure Resource Manager metadata containing createdBy and modifiedBy information.
termstringRepresent benefit term in ISO 8601 format. Known values are: "P1M", "P1Y", "P3Y", and "P5Y". (P1M, P1Y, P3Y, P5Y)
typestringThe type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
userFriendlyAppliedScopeTypestringThe applied scope type of the savings plan for display, e.g. Shared.
utilizationobjectSavings plan utilization.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectsavings_plan_order_id, savings_plan_id$expandGet savings plan.
listselectsavings_plan_order_idList savings plans in an order.
list_allselect$filter, $orderby, refreshSummary, $skiptoken, selectedState, takeList savings plans.
updateupdatesavings_plan_order_id, savings_plan_idUpdate savings plan.
validate_updateexecsavings_plan_order_id, savings_plan_idValidate savings plan patch.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
savings_plan_idstringID of the savings plan. Required.
savings_plan_order_idstringOrder ID of the savings plan. Required.
$expandstring
$filterstringMay be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}. Default value is None.
$orderbystringMay be used to sort order by reservation properties. Default value is None.
$skiptokennumberThe number of savings plans to skip from the list before returning results. Default value is None.
refreshSummarystringTo indicate whether to refresh the roll up counts of the savings plans group by provisioning states. Default value is None.
selectedStatestringThe selected provisioning state. Default value is None.
takenumberTo number of savings plans to return. Default value is None.

SELECT examples

Get savings plan.

SELECT
id,
name,
appliedScopeProperties,
appliedScopeType,
benefitStartTime,
billingAccountId,
billingPlan,
billingProfileId,
billingScopeId,
commitment,
customerId,
displayName,
displayProvisioningState,
effectiveDateTime,
expiryDateTime,
extendedStatusInfo,
provisioningState,
purchaseDateTime,
renew,
renewDestination,
renewProperties,
renewSource,
sku,
systemData,
term,
type,
userFriendlyAppliedScopeType,
utilization
FROM azure.billing_benefits.savings_plan
WHERE savings_plan_order_id = '{{ savings_plan_order_id }}' -- required
AND savings_plan_id = '{{ savings_plan_id }}' -- required
AND $expand = '{{ $expand }}'
;

UPDATE examples

Update savings plan.

UPDATE azure.billing_benefits.savings_plan
SET
properties = '{{ properties }}'
WHERE
savings_plan_order_id = '{{ savings_plan_order_id }}' --required
AND savings_plan_id = '{{ savings_plan_id }}' --required
RETURNING
id,
name,
properties,
sku,
systemData,
type;

Lifecycle Methods

Validate savings plan patch.

EXEC azure.billing_benefits.savings_plan.validate_update 
@savings_plan_order_id='{{ savings_plan_order_id }}' --required,
@savings_plan_id='{{ savings_plan_id }}' --required
@@json=
'{
"benefits": "{{ benefits }}"
}'
;