updateDashboard
inline suspend fun BcmDashboardsClient.updateDashboard(crossinline block: UpdateDashboardRequest.Builder.() -> Unit): UpdateDashboardResponse
Updates an existing dashboard's properties, including its name, description, and widget configurations.
Samples
import aws.sdk.kotlin.services.bcmdashboards.model.CostAndUsageQuery
import aws.sdk.kotlin.services.bcmdashboards.model.DateTimeRange
import aws.sdk.kotlin.services.bcmdashboards.model.DateTimeType
import aws.sdk.kotlin.services.bcmdashboards.model.DateTimeValue
import aws.sdk.kotlin.services.bcmdashboards.model.DisplayConfig
import aws.sdk.kotlin.services.bcmdashboards.model.Granularity
import aws.sdk.kotlin.services.bcmdashboards.model.GraphDisplayConfig
import aws.sdk.kotlin.services.bcmdashboards.model.GroupDefinition
import aws.sdk.kotlin.services.bcmdashboards.model.GroupDefinitionType
import aws.sdk.kotlin.services.bcmdashboards.model.MetricName
import aws.sdk.kotlin.services.bcmdashboards.model.QueryParameters
import aws.sdk.kotlin.services.bcmdashboards.model.VisualType
import aws.sdk.kotlin.services.bcmdashboards.model.Widget
import aws.sdk.kotlin.services.bcmdashboards.model.WidgetConfig
fun main() {
//sampleStart
// Updating a dashboard
bcmDashboardsClient.updateDashboard {
arn = "arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh"
name = "cost-dashboards-updated"
description = "Dashboard for tracking costs version 2"
widgets = listOf<Widget>(
Widget {
title = "Monthly Cost Trend"
width = 4
height = 7
horizontalOffset = 2
configs = listOf<WidgetConfig>(
WidgetConfig {
displayConfig = DisplayConfig.Graph(mapOf<String, GraphDisplayConfig>(
"costTrend" to GraphDisplayConfig {
visualType = VisualType.fromValue("LINE")
}
)
)
queryParameters = QueryParameters.CostAndUsage(CostAndUsageQuery {
granularity = Granularity.fromValue("MONTHLY")
groupBy = listOf<GroupDefinition>(
GroupDefinition {
key = "SERVICE"
type = GroupDefinitionType.fromValue("DIMENSION")
}
)
metrics = listOf<MetricName>(
MetricName.fromValue("UnblendedCost")
)
timeRange = DateTimeRange {
endTime = DateTimeValue {
type = DateTimeType.fromValue("RELATIVE")
value = "now"
}
startTime = DateTimeValue {
type = DateTimeType.fromValue("RELATIVE")
value = "-3M"
}
}
}
)
}
)
}
)
}
//sampleEnd
}