BCM-DASHBOARDS
CreateDashboard
enum_DateTimeType := [ "ABSOLUTE", "RELATIVE" ]
enum_Dimension := [ "AZ", "INSTANCE_TYPE", "LINKED_ACCOUNT", "OPERATION", "PURCHASE_TYPE", "REGION", "SERVICE", "USAGE_TYPE", "USAGE_TYPE_GROUP", "RECORD_TYPE", "RESOURCE_ID", "SUBSCRIPTION_ID", "TAG_KEY", "OPERATING_SYSTEM", "TENANCY", "BILLING_ENTITY", "RESERVATION_ID", "COST_CATEGORY_NAME", "DATABASE_ENGINE", "LEGAL_ENTITY_NAME", "SAVINGS_PLANS_TYPE", "INSTANCE_TYPE_FAMILY", "CACHE_ENGINE", "DEPLOYMENT_OPTION", "SCOPE", "PLATFORM" ]
enum_Granularity := [ "HOURLY", "DAILY", "MONTHLY" ]
enum_GroupDefinitionType := [ "DIMENSION", "TAG", "COST_CATEGORY" ]
enum_MatchOption := [ "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE" ]
enum_MetricName := [ "AmortizedCost", "BlendedCost", "NetAmortizedCost", "NetUnblendedCost", "NormalizedUsageAmount", "UnblendedCost", "UsageQuantity", "SpendCoveredBySavingsPlans", "Hour", "Unit", "Cost" ]
enum_VisualType := [ "LINE", "BAR", "STACK" ]
valid {
input.Body.name == STRING
input.Body.description == STRING
input.Body.widgets[_].title == STRING
input.Body.widgets[_].description == STRING
input.Body.widgets[_].width == INTEGER
input.Body.widgets[_].height == INTEGER
input.Body.widgets[_].horizontalOffset == INTEGER
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].displayConfig.graph.STRING.visualType == enum_VisualType[_]
input.Body.widgets[_].configs[_].displayConfig.table == {}
input.Body.resourceTags[_].key == STRING
input.Body.resourceTags[_].value == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
DeleteDashboard
valid {
input.Body.arn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetDashboard
valid {
input.Body.arn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
GetResourcePolicy
valid {
input.Body.resourceArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
ListDashboards
valid {
input.Body.maxResults == INTEGER
input.Body.nextToken == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
ListTagsForResource
valid {
input.Body.resourceArn == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
TagResource
valid {
input.Body.resourceArn == STRING
input.Body.resourceTags[_].key == STRING
input.Body.resourceTags[_].value == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
UntagResource
valid {
input.Body.resourceArn == STRING
input.Body.resourceTagKeys[_] == STRING
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
UpdateDashboard
enum_DateTimeType := [ "ABSOLUTE", "RELATIVE" ]
enum_Dimension := [ "AZ", "INSTANCE_TYPE", "LINKED_ACCOUNT", "OPERATION", "PURCHASE_TYPE", "REGION", "SERVICE", "USAGE_TYPE", "USAGE_TYPE_GROUP", "RECORD_TYPE", "RESOURCE_ID", "SUBSCRIPTION_ID", "TAG_KEY", "OPERATING_SYSTEM", "TENANCY", "BILLING_ENTITY", "RESERVATION_ID", "COST_CATEGORY_NAME", "DATABASE_ENGINE", "LEGAL_ENTITY_NAME", "SAVINGS_PLANS_TYPE", "INSTANCE_TYPE_FAMILY", "CACHE_ENGINE", "DEPLOYMENT_OPTION", "SCOPE", "PLATFORM" ]
enum_Granularity := [ "HOURLY", "DAILY", "MONTHLY" ]
enum_GroupDefinitionType := [ "DIMENSION", "TAG", "COST_CATEGORY" ]
enum_MatchOption := [ "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE" ]
enum_MetricName := [ "AmortizedCost", "BlendedCost", "NetAmortizedCost", "NetUnblendedCost", "NormalizedUsageAmount", "UnblendedCost", "UsageQuantity", "SpendCoveredBySavingsPlans", "Hour", "Unit", "Cost" ]
enum_VisualType := [ "LINE", "BAR", "STACK" ]
valid {
input.Body.arn == STRING
input.Body.name == STRING
input.Body.description == STRING
input.Body.widgets[_].title == STRING
input.Body.widgets[_].description == STRING
input.Body.widgets[_].width == INTEGER
input.Body.widgets[_].height == INTEGER
input.Body.widgets[_].horizontalOffset == INTEGER
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.costAndUsage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansCoverage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.savingsPlansUtilization.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationCoverage.metrics[_] == enum_MetricName[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.startTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.startTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.endTime.type == enum_DateTimeType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.timeRange.endTime.value == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.groupBy[_].key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.groupBy[_].type == enum_GroupDefinitionType[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.granularity == enum_Granularity[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.or[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.and[_] == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.not == NESTED
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.key == enum_Dimension[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.dimensions.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.tags.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.key == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.values[_] == STRING
input.Body.widgets[_].configs[_].queryParameters.reservationUtilization.filter.costCategories.matchOptions[_] == enum_MatchOption[_]
input.Body.widgets[_].configs[_].displayConfig.graph.STRING.visualType == enum_VisualType[_]
input.Body.widgets[_].configs[_].displayConfig.table == {}
input.ProviderMetadata.Account == STRING
input.ProviderMetadata.AccessKeyId == STRING
input.ProviderMetadata.Region == STRING
}
Updated 4 days ago