
com.azure.resourcemanager.billing.models.BillingSubscriptionPatch Maven / Gradle / Ivy
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.billing.models;
import com.azure.core.annotation.Fluent;
import com.azure.core.management.SystemData;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import com.azure.resourcemanager.billing.fluent.models.BillingSubscriptionProperties;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.Map;
/**
* The billing properties of a subscription.
*/
@Fluent
public final class BillingSubscriptionPatch extends ProxyResourceWithTags {
/*
* The properties of a(n) BillingSubscription
*/
private BillingSubscriptionProperties innerProperties;
/*
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
private SystemData systemData;
/*
* The type of the resource.
*/
private String type;
/*
* The name of the resource.
*/
private String name;
/*
* Fully qualified resource Id for the resource.
*/
private String id;
/**
* Creates an instance of BillingSubscriptionPatch class.
*/
public BillingSubscriptionPatch() {
}
/**
* Get the innerProperties property: The properties of a(n) BillingSubscription.
*
* @return the innerProperties value.
*/
private BillingSubscriptionProperties innerProperties() {
return this.innerProperties;
}
/**
* Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@Override
public SystemData systemData() {
return this.systemData;
}
/**
* Get the type property: The type of the resource.
*
* @return the type value.
*/
@Override
public String type() {
return this.type;
}
/**
* Get the name property: The name of the resource.
*
* @return the name value.
*/
@Override
public String name() {
return this.name;
}
/**
* Get the id property: Fully qualified resource Id for the resource.
*
* @return the id value.
*/
@Override
public String id() {
return this.id;
}
/**
* {@inheritDoc}
*/
@Override
public BillingSubscriptionPatch withTags(Map tags) {
super.withTags(tags);
return this;
}
/**
* Get the autoRenew property: Indicates whether auto renewal is turned on or off for a product.
*
* @return the autoRenew value.
*/
public AutoRenew autoRenew() {
return this.innerProperties() == null ? null : this.innerProperties().autoRenew();
}
/**
* Set the autoRenew property: Indicates whether auto renewal is turned on or off for a product.
*
* @param autoRenew the autoRenew value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withAutoRenew(AutoRenew autoRenew) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withAutoRenew(autoRenew);
return this;
}
/**
* Get the beneficiaryTenantId property: The provisioning tenant of the subscription.
*
* @return the beneficiaryTenantId value.
*/
public String beneficiaryTenantId() {
return this.innerProperties() == null ? null : this.innerProperties().beneficiaryTenantId();
}
/**
* Set the beneficiaryTenantId property: The provisioning tenant of the subscription.
*
* @param beneficiaryTenantId the beneficiaryTenantId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withBeneficiaryTenantId(String beneficiaryTenantId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withBeneficiaryTenantId(beneficiaryTenantId);
return this;
}
/**
* Get the beneficiary property: The beneficiary of the billing subscription.
*
* @return the beneficiary value.
*/
public Beneficiary beneficiary() {
return this.innerProperties() == null ? null : this.innerProperties().beneficiary();
}
/**
* Set the beneficiary property: The beneficiary of the billing subscription.
*
* @param beneficiary the beneficiary value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withBeneficiary(Beneficiary beneficiary) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withBeneficiary(beneficiary);
return this;
}
/**
* Get the billingFrequency property: The billing frequency in ISO8601 format of product in the subscription.
* Example: P1M, P3M, P1Y.
*
* @return the billingFrequency value.
*/
public String billingFrequency() {
return this.innerProperties() == null ? null : this.innerProperties().billingFrequency();
}
/**
* Set the billingFrequency property: The billing frequency in ISO8601 format of product in the subscription.
* Example: P1M, P3M, P1Y.
*
* @param billingFrequency the billingFrequency value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withBillingFrequency(String billingFrequency) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withBillingFrequency(billingFrequency);
return this;
}
/**
* Get the billingProfileId property: The fully qualified ID that uniquely identifies a billing profile.
*
* @return the billingProfileId value.
*/
public String billingProfileId() {
return this.innerProperties() == null ? null : this.innerProperties().billingProfileId();
}
/**
* Set the billingProfileId property: The fully qualified ID that uniquely identifies a billing profile.
*
* @param billingProfileId the billingProfileId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withBillingProfileId(String billingProfileId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withBillingProfileId(billingProfileId);
return this;
}
/**
* Get the billingPolicies property: Dictionary of billing policies associated with the subscription.
*
* @return the billingPolicies value.
*/
public Map billingPolicies() {
return this.innerProperties() == null ? null : this.innerProperties().billingPolicies();
}
/**
* Get the billingProfileDisplayName property: The name of the billing profile.
*
* @return the billingProfileDisplayName value.
*/
public String billingProfileDisplayName() {
return this.innerProperties() == null ? null : this.innerProperties().billingProfileDisplayName();
}
/**
* Get the billingProfileName property: The ID that uniquely identifies a billing profile.
*
* @return the billingProfileName value.
*/
public String billingProfileName() {
return this.innerProperties() == null ? null : this.innerProperties().billingProfileName();
}
/**
* Get the consumptionCostCenter property: The cost center applied to the subscription. This field is only available
* for consumption subscriptions of Microsoft Customer Agreement or Enterprise Agreement Type billing accounts.
*
* @return the consumptionCostCenter value.
*/
public String consumptionCostCenter() {
return this.innerProperties() == null ? null : this.innerProperties().consumptionCostCenter();
}
/**
* Set the consumptionCostCenter property: The cost center applied to the subscription. This field is only available
* for consumption subscriptions of Microsoft Customer Agreement or Enterprise Agreement Type billing accounts.
*
* @param consumptionCostCenter the consumptionCostCenter value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withConsumptionCostCenter(String consumptionCostCenter) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withConsumptionCostCenter(consumptionCostCenter);
return this;
}
/**
* Get the customerId property: The fully qualified ID that uniquely identifies a customer.
*
* @return the customerId value.
*/
public String customerId() {
return this.innerProperties() == null ? null : this.innerProperties().customerId();
}
/**
* Set the customerId property: The fully qualified ID that uniquely identifies a customer.
*
* @param customerId the customerId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withCustomerId(String customerId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withCustomerId(customerId);
return this;
}
/**
* Get the customerDisplayName property: The name of the customer.
*
* @return the customerDisplayName value.
*/
public String customerDisplayName() {
return this.innerProperties() == null ? null : this.innerProperties().customerDisplayName();
}
/**
* Get the customerName property: The ID that uniquely identifies a customer.
*
* @return the customerName value.
*/
public String customerName() {
return this.innerProperties() == null ? null : this.innerProperties().customerName();
}
/**
* Get the displayName property: The name of the billing subscription.
*
* @return the displayName value.
*/
public String displayName() {
return this.innerProperties() == null ? null : this.innerProperties().displayName();
}
/**
* Set the displayName property: The name of the billing subscription.
*
* @param displayName the displayName value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withDisplayName(String displayName) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withDisplayName(displayName);
return this;
}
/**
* Get the enrollmentAccountId property: The enrollment Account ID associated with the subscription. This field is
* available only for the Enterprise Agreement Type billing accounts.
*
* @return the enrollmentAccountId value.
*/
public String enrollmentAccountId() {
return this.innerProperties() == null ? null : this.innerProperties().enrollmentAccountId();
}
/**
* Get the enrollmentAccountDisplayName property: The enrollment Account name associated with the subscription. This
* field is available only for the Enterprise Agreement Type billing accounts.
*
* @return the enrollmentAccountDisplayName value.
*/
public String enrollmentAccountDisplayName() {
return this.innerProperties() == null ? null : this.innerProperties().enrollmentAccountDisplayName();
}
/**
* Get the invoiceSectionId property: The fully qualified ID that uniquely identifies an invoice section.
*
* @return the invoiceSectionId value.
*/
public String invoiceSectionId() {
return this.innerProperties() == null ? null : this.innerProperties().invoiceSectionId();
}
/**
* Set the invoiceSectionId property: The fully qualified ID that uniquely identifies an invoice section.
*
* @param invoiceSectionId the invoiceSectionId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withInvoiceSectionId(String invoiceSectionId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withInvoiceSectionId(invoiceSectionId);
return this;
}
/**
* Get the invoiceSectionDisplayName property: The name of the invoice section.
*
* @return the invoiceSectionDisplayName value.
*/
public String invoiceSectionDisplayName() {
return this.innerProperties() == null ? null : this.innerProperties().invoiceSectionDisplayName();
}
/**
* Get the invoiceSectionName property: The ID that uniquely identifies an invoice section.
*
* @return the invoiceSectionName value.
*/
public String invoiceSectionName() {
return this.innerProperties() == null ? null : this.innerProperties().invoiceSectionName();
}
/**
* Get the lastMonthCharges property: The last month's charges. This field is only available for usage based
* subscriptions of Microsoft Customer Agreement billing accounts.
*
* @return the lastMonthCharges value.
*/
public Amount lastMonthCharges() {
return this.innerProperties() == null ? null : this.innerProperties().lastMonthCharges();
}
/**
* Get the monthToDateCharges property: The current month to date charges. This field is only available for usage
* based subscriptions of Microsoft Customer Agreement billing accounts.
*
* @return the monthToDateCharges value.
*/
public Amount monthToDateCharges() {
return this.innerProperties() == null ? null : this.innerProperties().monthToDateCharges();
}
/**
* Get the nextBillingCycleDetails property: Next billing cycle details of the subscription.
*
* @return the nextBillingCycleDetails value.
*/
public NextBillingCycleDetails nextBillingCycleDetails() {
return this.innerProperties() == null ? null : this.innerProperties().nextBillingCycleDetails();
}
/**
* Get the offerId property: The offer ID for the subscription. This field is only available for the Microsoft
* Online Services Program billing accounts.
*
* @return the offerId value.
*/
public String offerId() {
return this.innerProperties() == null ? null : this.innerProperties().offerId();
}
/**
* Get the productCategory property: The category of the product for which the subscription is purchased. Possible
* values include: AzureSupport, Hardware, ReservationOrder, SaaS, SavingsPlanOrder, Software, UsageBased, Other.
*
* @return the productCategory value.
*/
public String productCategory() {
return this.innerProperties() == null ? null : this.innerProperties().productCategory();
}
/**
* Get the productType property: Type of the product for which the subscription is purchased.
*
* @return the productType value.
*/
public String productType() {
return this.innerProperties() == null ? null : this.innerProperties().productType();
}
/**
* Get the productTypeId property: Id of the product for which the subscription is purchased.
*
* @return the productTypeId value.
*/
public String productTypeId() {
return this.innerProperties() == null ? null : this.innerProperties().productTypeId();
}
/**
* Set the productTypeId property: Id of the product for which the subscription is purchased.
*
* @param productTypeId the productTypeId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withProductTypeId(String productTypeId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withProductTypeId(productTypeId);
return this;
}
/**
* Get the purchaseDate property: Purchase date of the product in UTC time.
*
* @return the purchaseDate value.
*/
public OffsetDateTime purchaseDate() {
return this.innerProperties() == null ? null : this.innerProperties().purchaseDate();
}
/**
* Get the quantity property: The quantity of licenses or fulfillment units for the subscription.
*
* @return the quantity value.
*/
public Long quantity() {
return this.innerProperties() == null ? null : this.innerProperties().quantity();
}
/**
* Set the quantity property: The quantity of licenses or fulfillment units for the subscription.
*
* @param quantity the quantity value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withQuantity(Long quantity) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withQuantity(quantity);
return this;
}
/**
* Get the reseller property: Reseller for this subscription. The fields is not available for Microsoft Partner
* Agreement billing accounts.
*
* @return the reseller value.
*/
public Reseller reseller() {
return this.innerProperties() == null ? null : this.innerProperties().reseller();
}
/**
* Get the renewalTermDetails property: Details for the next renewal term of a subscription.
*
* @return the renewalTermDetails value.
*/
public RenewalTermDetails renewalTermDetails() {
return this.innerProperties() == null ? null : this.innerProperties().renewalTermDetails();
}
/**
* Get the skuId property: The SKU ID of the product for which the subscription is purchased. This field is is only
* available for Microsoft Customer Agreement billing accounts.
*
* @return the skuId value.
*/
public String skuId() {
return this.innerProperties() == null ? null : this.innerProperties().skuId();
}
/**
* Set the skuId property: The SKU ID of the product for which the subscription is purchased. This field is is only
* available for Microsoft Customer Agreement billing accounts.
*
* @param skuId the skuId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withSkuId(String skuId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withSkuId(skuId);
return this;
}
/**
* Get the skuDescription property: The SKU description of the product for which the subscription is purchased. This
* field is is only available for billing accounts with agreement type Microsoft Customer Agreement and Microsoft
* Partner Agreement.
*
* @return the skuDescription value.
*/
public String skuDescription() {
return this.innerProperties() == null ? null : this.innerProperties().skuDescription();
}
/**
* Get the systemOverrides property: System imposed policies that regulate behavior of the subscription.
*
* @return the systemOverrides value.
*/
public SystemOverrides systemOverrides() {
return this.innerProperties() == null ? null : this.innerProperties().systemOverrides();
}
/**
* Set the systemOverrides property: System imposed policies that regulate behavior of the subscription.
*
* @param systemOverrides the systemOverrides value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withSystemOverrides(SystemOverrides systemOverrides) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withSystemOverrides(systemOverrides);
return this;
}
/**
* Get the resourceUri property: Unique identifier of the linked resource.
*
* @return the resourceUri value.
*/
public String resourceUri() {
return this.innerProperties() == null ? null : this.innerProperties().resourceUri();
}
/**
* Get the termDuration property: The duration in ISO8601 format for which you can use the subscription. Example:
* P1M, P3M, P1Y.
*
* @return the termDuration value.
*/
public String termDuration() {
return this.innerProperties() == null ? null : this.innerProperties().termDuration();
}
/**
* Set the termDuration property: The duration in ISO8601 format for which you can use the subscription. Example:
* P1M, P3M, P1Y.
*
* @param termDuration the termDuration value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withTermDuration(String termDuration) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withTermDuration(termDuration);
return this;
}
/**
* Get the termStartDate property: Start date of the term in UTC time.
*
* @return the termStartDate value.
*/
public OffsetDateTime termStartDate() {
return this.innerProperties() == null ? null : this.innerProperties().termStartDate();
}
/**
* Get the termEndDate property: End date of the term in UTC time.
*
* @return the termEndDate value.
*/
public OffsetDateTime termEndDate() {
return this.innerProperties() == null ? null : this.innerProperties().termEndDate();
}
/**
* Get the provisioningTenantId property: The tenant in which the subscription is provisioned.
*
* @return the provisioningTenantId value.
*/
public String provisioningTenantId() {
return this.innerProperties() == null ? null : this.innerProperties().provisioningTenantId();
}
/**
* Set the provisioningTenantId property: The tenant in which the subscription is provisioned.
*
* @param provisioningTenantId the provisioningTenantId value to set.
* @return the BillingSubscriptionPatch object itself.
*/
public BillingSubscriptionPatch withProvisioningTenantId(String provisioningTenantId) {
if (this.innerProperties() == null) {
this.innerProperties = new BillingSubscriptionProperties();
}
this.innerProperties().withProvisioningTenantId(provisioningTenantId);
return this;
}
/**
* Get the status property: The status of the subscription. This field is not available for Enterprise Agreement
* billing accounts.
*
* @return the status value.
*/
public BillingSubscriptionStatus status() {
return this.innerProperties() == null ? null : this.innerProperties().status();
}
/**
* Get the operationStatus property: The status of an operation on the subscription. When None, there is no ongoing
* operation. When LockedForUpdate, write operations will be blocked on the Billing Subscription. Other is the
* default value and you may need to refer to the latest API version for more details.
*
* @return the operationStatus value.
*/
public BillingSubscriptionOperationStatus operationStatus() {
return this.innerProperties() == null ? null : this.innerProperties().operationStatus();
}
/**
* Get the provisioningState property: The provisioning state of the resource during a long-running operation.
*
* @return the provisioningState value.
*/
public ProvisioningState provisioningState() {
return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
}
/**
* Get the subscriptionId property: The ID of the subscription.
*
* @return the subscriptionId value.
*/
public String subscriptionId() {
return this.innerProperties() == null ? null : this.innerProperties().subscriptionId();
}
/**
* Get the suspensionReasons property: The suspension reason for a subscription. This field is not available for
* Enterprise Agreement billing accounts.
*
* @return the suspensionReasons value.
*/
public List suspensionReasons() {
return this.innerProperties() == null ? null : this.innerProperties().suspensionReasons();
}
/**
* Get the suspensionReasonDetails property: The suspension details for a subscription. This field is not available
* for Enterprise Agreement billing accounts.
*
* @return the suspensionReasonDetails value.
*/
public List suspensionReasonDetails() {
return this.innerProperties() == null ? null : this.innerProperties().suspensionReasonDetails();
}
/**
* Get the enrollmentAccountStartDate property: The enrollment Account and the subscription association start date.
* This field is available only for the Enterprise Agreement Type.
*
* @return the enrollmentAccountStartDate value.
*/
public OffsetDateTime enrollmentAccountStartDate() {
return this.innerProperties() == null ? null : this.innerProperties().enrollmentAccountStartDate();
}
/**
* Get the subscriptionEnrollmentAccountStatus property: The current enrollment account status of the subscription.
* This field is available only for the Enterprise Agreement Type.
*
* @return the subscriptionEnrollmentAccountStatus value.
*/
public SubscriptionEnrollmentAccountStatus subscriptionEnrollmentAccountStatus() {
return this.innerProperties() == null ? null : this.innerProperties().subscriptionEnrollmentAccountStatus();
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
@Override
public void validate() {
if (innerProperties() != null) {
innerProperties().validate();
}
}
/**
* {@inheritDoc}
*/
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
jsonWriter.writeJsonField("properties", this.innerProperties);
return jsonWriter.writeEndObject();
}
/**
* Reads an instance of BillingSubscriptionPatch from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of BillingSubscriptionPatch if the JsonReader was pointing to an instance of it, or null if
* it was pointing to JSON null.
* @throws IllegalStateException If the deserialized JSON object was missing any required properties.
* @throws IOException If an error occurs while reading the BillingSubscriptionPatch.
*/
public static BillingSubscriptionPatch fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
BillingSubscriptionPatch deserializedBillingSubscriptionPatch = new BillingSubscriptionPatch();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
if ("id".equals(fieldName)) {
deserializedBillingSubscriptionPatch.id = reader.getString();
} else if ("name".equals(fieldName)) {
deserializedBillingSubscriptionPatch.name = reader.getString();
} else if ("type".equals(fieldName)) {
deserializedBillingSubscriptionPatch.type = reader.getString();
} else if ("tags".equals(fieldName)) {
Map tags = reader.readMap(reader1 -> reader1.getString());
deserializedBillingSubscriptionPatch.withTags(tags);
} else if ("systemData".equals(fieldName)) {
deserializedBillingSubscriptionPatch.systemData = SystemData.fromJson(reader);
} else if ("properties".equals(fieldName)) {
deserializedBillingSubscriptionPatch.innerProperties
= BillingSubscriptionProperties.fromJson(reader);
} else {
reader.skipChildren();
}
}
return deserializedBillingSubscriptionPatch;
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy