All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.costmanagement.kotlin.outputs.GetViewByScopeResult.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.costmanagement.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * States and configurations of Cost Analysis.
 * @property accumulated Show costs accumulated over time.
 * @property chart Chart type of the main view in Cost Analysis. Required.
 * @property createdOn Date the user created this view.
 * @property currency Currency of the current view.
 * @property dataSet Has definition for data in this report config.
 * @property dateRange Date range of the current view.
 * @property displayName User input name of the view. Required.
 * @property eTag eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
 * @property id Resource Id.
 * @property includeMonetaryCommitment If true, report includes monetary commitment.
 * @property kpis List of KPIs to show in Cost Analysis UI.
 * @property metric Metric to use when displaying costs.
 * @property modifiedOn Date when the user last modified this view.
 * @property name Resource name.
 * @property pivots Configuration of 3 sub-views in the Cost Analysis UI.
 * @property scope Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.
 * @property timePeriod Has time period for pulling data for the report.
 * @property timeframe The time frame for pulling data for the report. If custom, then a specific time period must be provided.
 * @property type Resource type.
 */
public data class GetViewByScopeResult(
    public val accumulated: String? = null,
    public val chart: String? = null,
    public val createdOn: String,
    public val currency: String,
    public val dataSet: ReportConfigDatasetResponse? = null,
    public val dateRange: String? = null,
    public val displayName: String? = null,
    public val eTag: String? = null,
    public val id: String,
    public val includeMonetaryCommitment: Boolean? = null,
    public val kpis: List? = null,
    public val metric: String? = null,
    public val modifiedOn: String? = null,
    public val name: String,
    public val pivots: List? = null,
    public val scope: String? = null,
    public val timePeriod: ReportConfigTimePeriodResponse? = null,
    public val timeframe: String,
    public val type: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azurenative.costmanagement.outputs.GetViewByScopeResult): GetViewByScopeResult = GetViewByScopeResult(
            accumulated = javaType.accumulated().map({ args0 -> args0 }).orElse(null),
            chart = javaType.chart().map({ args0 -> args0 }).orElse(null),
            createdOn = javaType.createdOn(),
            currency = javaType.currency(),
            dataSet = javaType.dataSet().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.costmanagement.kotlin.outputs.ReportConfigDatasetResponse.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dateRange = javaType.dateRange().map({ args0 -> args0 }).orElse(null),
            displayName = javaType.displayName().map({ args0 -> args0 }).orElse(null),
            eTag = javaType.eTag().map({ args0 -> args0 }).orElse(null),
            id = javaType.id(),
            includeMonetaryCommitment = javaType.includeMonetaryCommitment().map({ args0 ->
                args0
            }).orElse(null),
            kpis = javaType.kpis().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.costmanagement.kotlin.outputs.KpiPropertiesResponse.Companion.toKotlin(args0)
                })
            }),
            metric = javaType.metric().map({ args0 -> args0 }).orElse(null),
            modifiedOn = javaType.modifiedOn().map({ args0 -> args0 }).orElse(null),
            name = javaType.name(),
            pivots = javaType.pivots().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.costmanagement.kotlin.outputs.PivotPropertiesResponse.Companion.toKotlin(args0)
                })
            }),
            scope = javaType.scope().map({ args0 -> args0 }).orElse(null),
            timePeriod = javaType.timePeriod().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.costmanagement.kotlin.outputs.ReportConfigTimePeriodResponse.Companion.toKotlin(args0)
                })
            }).orElse(null),
            timeframe = javaType.timeframe(),
            type = javaType.type(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy