Skip to main content

maccs

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

Overview

Namemaccs
TypeResource
Idazure.billing_benefits.maccs

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.
allowContributorsbooleanSetting this to true means multi-entity.
automaticShortfallstringSetting this to 'Enable' enables automatic shortfall charging when commitment is not met. Known values are: "Unknown", "Enabled", and "Disabled". (Unknown, Enabled, Disabled)
automaticShortfallSuppressReasonobjectOptional field to record suppression reason for automatic shortfall.
billingAccountResourceIdstringFully-qualified identifier of the billing account where the MACC is applied. Present only for Enterprise Agreement customers. Format must be Azure Resource ID: /providers/Microsoft.Billing/billingAccounts/{acctId:orgId}.
commitmentobjectCommitment towards the benefit.
displayNamestringDisplay name.
endAtstring (date-time)Must be end of month. Timestamp must be in the ISO date format YYYY-MM-DDT23:59:59Z.
entityTypestringRepresents type of the object being operated on. Possible values are primary or contributor. Required. Known values are: "Primary" and "Contributor". (Primary, Contributor)
etagstringThe etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.
identityobjectManaged service identity (system assigned and/or user assigned identities).
kindstringMetadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.
locationstringThe geo-location where the resource lives. Required.
managedBystringThe fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource.
milestonesarrayList of milestones associated with this MACC.
planobjectPlan for the resource.
primaryBillingAccountResourceIdstringFully-qualified billing account resource identifier of the primary MACC. Format must be Azure Resource ID: /providers/Microsoft.Billing/billingAccounts/{acctId:orgId}.
primaryResourceIdstringFully-qualified resource identifier of the primary MACC. Format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BillingBenefits/maccs/{maccName}.
productCodestringRepresents catalog UPN.
provisioningStatestringProvisioning state of MACC as assigned by RPaaS. This indicates the last operation's status. For all practical purposes, this can be ignored. For current status of MACC resource, refer to MaccStatus.
resourceIdstringThis is the resource identifier of either the primary MACC or the contributor. Format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BillingBenefits/maccs/{maccName}.
shortfallobjectMACC shortfall.
skuobjectThe resource model definition representing SKU.
startAtstring (date-time)Must be start of month. Timestamp must be in the ISO date format YYYY-MM-DDT00:00:00Z.
statusstringRepresents the current status of the MACC. Known values are: "Unknown", "Scheduled", "Active", "Pending", "Failed", "Canceled", "Completed", "Stopped", "PendingSettlement", "ShortfallCharged", and "ShortfallWaived". (Unknown, Scheduled, Active, Pending, Failed, Canceled, Completed, Stopped, PendingSettlement, ShortfallCharged, ShortfallWaived)
systemDataobjectAzure Resource Manager metadata containing createdBy and modifiedBy information.
systemIdstringThis is the globally unique identifier of the MACC which will not change for the lifetime of the MACC.
tagsobjectResource tags.
typestringThe type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectresource_group_name, macc_name, subscription_idGet a MACC.
list_by_resource_groupselectresource_group_name, subscription_idList MACCs under a resource group for primary service admin.
list_by_subscriptionselectsubscription_idList MACCs under a subscription from primary service tenant.
createinsertresource_group_name, macc_name, subscription_id, locationCreate MACC.
updateupdateresource_group_name, macc_name, subscription_idUpdate MACC.
deletedeleteresource_group_name, macc_name, subscription_idDelete MACC.
cancelexecresource_group_name, macc_name, subscription_idRepresents an operation to cancel MACC contract. This operation does not indicate deletion of the MACC, but rather stops applying the benefit to the account.
write_offexecresource_group_name, macc_name, subscription_idOperation to waive a customer's pending MACC balance (Shortfall) from their account, ensuring they are not charged for the outstanding amount.
charge_shortfallexecresource_group_name, macc_name, subscription_idOperation to charge shortfall to a customer's account, ensuring they are charged for the outstanding amount of MACC credit.

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
macc_namestringName of primary MACC. Required.
resource_group_namestringThe name of the resource group. The name is case insensitive. Required.
subscription_idstring

SELECT examples

Get a MACC.

SELECT
id,
name,
allowContributors,
automaticShortfall,
automaticShortfallSuppressReason,
billingAccountResourceId,
commitment,
displayName,
endAt,
entityType,
etag,
identity,
kind,
location,
managedBy,
milestones,
plan,
primaryBillingAccountResourceId,
primaryResourceId,
productCode,
provisioningState,
resourceId,
shortfall,
sku,
startAt,
status,
systemData,
systemId,
tags,
type
FROM azure.billing_benefits.maccs
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND macc_name = '{{ macc_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;

INSERT examples

Create MACC.

INSERT INTO azure.billing_benefits.maccs (
tags,
location,
properties,
managedBy,
kind,
identity,
sku,
plan,
resource_group_name,
macc_name,
subscription_id
)
SELECT
'{{ tags }}',
'{{ location }}' /* required */,
'{{ properties }}',
'{{ managedBy }}',
'{{ kind }}',
'{{ identity }}',
'{{ sku }}',
'{{ plan }}',
'{{ resource_group_name }}',
'{{ macc_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
etag,
identity,
kind,
location,
managedBy,
plan,
properties,
sku,
systemData,
tags,
type
;

UPDATE examples

Update MACC.

UPDATE azure.billing_benefits.maccs
SET
properties = '{{ properties }}',
tags = '{{ tags }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND macc_name = '{{ macc_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
etag,
identity,
kind,
location,
managedBy,
plan,
properties,
sku,
systemData,
tags,
type;

DELETE examples

Delete MACC.

DELETE FROM azure.billing_benefits.maccs
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND macc_name = '{{ macc_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;

Lifecycle Methods

Represents an operation to cancel MACC contract. This operation does not indicate deletion of the MACC, but rather stops applying the benefit to the account.

EXEC azure.billing_benefits.maccs.cancel 
@resource_group_name='{{ resource_group_name }}' --required,
@macc_name='{{ macc_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;