
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponse.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.billing.kotlin.outputs
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
* A billing profile.
* @property billTo Billing address.
* @property billingRelationshipType Identifies the billing relationship represented by the billing profile. The billing relationship may be between Microsoft, the customer, and/or a third-party.
* @property currency The currency in which the charges for the billing profile are billed.
* @property currentPaymentTerm The current payment term of the billing profile.
* @property displayName The name of the billing profile.
* @property enabledAzurePlans Information about the enabled azure plans.
* @property hasReadAccess Indicates whether user has read access to the billing profile.
* @property indirectRelationshipInfo Identifies the billing profile that is linked to another billing profile in indirect purchase motion.
* @property invoiceDay The day of the month when the invoice for the billing profile is generated.
* @property invoiceEmailOptIn Flag controlling whether the invoices for the billing profile are sent through email.
* @property invoiceRecipients The list of email addresses to receive invoices by email for the billing profile.
* @property otherPaymentTerms The other payment terms of the billing profile.
* @property poNumber The default purchase order number that will appear on the invoices generated for the billing profile.
* @property provisioningState The provisioning state of the resource during a long-running operation.
* @property shipTo The default address where the products are shipped, or the services are being used. If a ship to is not specified for a product or a subscription, then this address will be used.
* @property soldTo The address of the individual or organization that is responsible for the billing account.
* @property spendingLimit The billing profile spending limit.
* @property spendingLimitDetails The details of billing profile spending limit.
* @property status The status of the billing profile.
* @property statusReasonCode Reason for the specified billing profile status.
* @property systemId The system generated unique identifier for a billing profile.
* @property tags Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? /
* @property targetClouds Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.
*/
public data class BillingProfilePropertiesResponse(
public val billTo: BillingProfilePropertiesResponseBillTo? = null,
public val billingRelationshipType: String,
public val currency: String,
public val currentPaymentTerm: BillingProfilePropertiesResponseCurrentPaymentTerm? = null,
public val displayName: String? = null,
public val enabledAzurePlans: List? = null,
public val hasReadAccess: Boolean,
public val indirectRelationshipInfo: BillingProfilePropertiesResponseIndirectRelationshipInfo? =
null,
public val invoiceDay: Int,
public val invoiceEmailOptIn: Boolean? = null,
public val invoiceRecipients: List? = null,
public val otherPaymentTerms: List,
public val poNumber: String? = null,
public val provisioningState: String,
public val shipTo: BillingProfilePropertiesResponseShipTo? = null,
public val soldTo: BillingProfilePropertiesResponseSoldTo? = null,
public val spendingLimit: String,
public val spendingLimitDetails: List,
public val status: String,
public val statusReasonCode: String,
public val systemId: String,
public val tags: Map? = null,
public val targetClouds: List,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.azurenative.billing.outputs.BillingProfilePropertiesResponse): BillingProfilePropertiesResponse = BillingProfilePropertiesResponse(
billTo = javaType.billTo().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponseBillTo.Companion.toKotlin(args0)
})
}).orElse(null),
billingRelationshipType = javaType.billingRelationshipType(),
currency = javaType.currency(),
currentPaymentTerm = javaType.currentPaymentTerm().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponseCurrentPaymentTerm.Companion.toKotlin(args0)
})
}).orElse(null),
displayName = javaType.displayName().map({ args0 -> args0 }).orElse(null),
enabledAzurePlans = javaType.enabledAzurePlans().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.AzurePlanResponse.Companion.toKotlin(args0)
})
}),
hasReadAccess = javaType.hasReadAccess(),
indirectRelationshipInfo = javaType.indirectRelationshipInfo().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponseIndirectRelationshipInfo.Companion.toKotlin(args0)
})
}).orElse(null),
invoiceDay = javaType.invoiceDay(),
invoiceEmailOptIn = javaType.invoiceEmailOptIn().map({ args0 -> args0 }).orElse(null),
invoiceRecipients = javaType.invoiceRecipients().map({ args0 -> args0 }),
otherPaymentTerms = javaType.otherPaymentTerms().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.PaymentTermResponse.Companion.toKotlin(args0)
})
}),
poNumber = javaType.poNumber().map({ args0 -> args0 }).orElse(null),
provisioningState = javaType.provisioningState(),
shipTo = javaType.shipTo().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponseShipTo.Companion.toKotlin(args0)
})
}).orElse(null),
soldTo = javaType.soldTo().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.BillingProfilePropertiesResponseSoldTo.Companion.toKotlin(args0)
})
}).orElse(null),
spendingLimit = javaType.spendingLimit(),
spendingLimitDetails = javaType.spendingLimitDetails().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azurenative.billing.kotlin.outputs.SpendingLimitDetailsResponse.Companion.toKotlin(args0)
})
}),
status = javaType.status(),
statusReasonCode = javaType.statusReasonCode(),
systemId = javaType.systemId(),
tags = javaType.tags().map({ args0 -> args0.key.to(args0.value) }).toMap(),
targetClouds = javaType.targetClouds().map({ args0 -> args0 }),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy