
commonMain.aws.sdk.kotlin.services.quicksight.model.CreateDashboardRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.quicksight.model
class CreateDashboardRequest private constructor(builder: Builder) {
/**
* The ID of the Amazon Web Services account where you want to create the dashboard.
*/
val awsAccountId: kotlin.String? = builder.awsAccountId
/**
* The ID for the dashboard, also added to the IAM policy.
*/
val dashboardId: kotlin.String? = builder.dashboardId
/**
* Options for publishing the dashboard when you create it:
* + `AvailabilityStatus` for `AdHocFilteringOption` - This status can be either `ENABLED` or `DISABLED`. When this is set to `DISABLED`, Amazon QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is `ENABLED` by default.
* + `AvailabilityStatus` for `ExportToCSVOption` - This status can be either `ENABLED` or `DISABLED`. The visual option to export data to .CSV format isn't enabled when this is set to `DISABLED`. This option is `ENABLED` by default.
* + `VisibilityState` for `SheetControlsOption` - This visibility state can be either `COLLAPSED` or `EXPANDED`. This option is `COLLAPSED` by default.
*/
val dashboardPublishOptions: aws.sdk.kotlin.services.quicksight.model.DashboardPublishOptions? = builder.dashboardPublishOptions
/**
* The display name of the dashboard.
*/
val name: kotlin.String? = builder.name
/**
* The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values.
*/
val parameters: aws.sdk.kotlin.services.quicksight.model.Parameters? = builder.parameters
/**
* A structure that contains the permissions of the dashboard. You can use this structure for granting permissions by providing a list of IAM action information for each principal ARN.
*
* To specify no permissions, omit the permissions list.
*/
val permissions: List? = builder.permissions
/**
* The entity that you are using as a source when you create the dashboard. In `SourceEntity`, you specify the type of object you're using as source. You can only create a dashboard from a template, so you use a `SourceTemplate` entity. If you need to create a dashboard from an analysis, first convert the analysis to a template by using the ` CreateTemplate ` API operation. For `SourceTemplate`, specify the Amazon Resource Name (ARN) of the source template. The `SourceTemplate`ARN can contain any Amazon Web Services account and any Amazon QuickSight-supported Amazon Web Services Region.
*
* Use the `DataSetReferences` entity within `SourceTemplate` to list the replacement datasets for the placeholders listed in the original. The schema in each dataset must match its placeholder.
*/
val sourceEntity: aws.sdk.kotlin.services.quicksight.model.DashboardSourceEntity? = builder.sourceEntity
/**
* Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.
*/
val tags: List? = builder.tags
/**
* The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If you add a value for this field, it overrides the value that is used in the source entity. The theme ARN must exist in the same Amazon Web Services account where you create the dashboard.
*/
val themeArn: kotlin.String? = builder.themeArn
/**
* A description for the first version of the dashboard being created.
*/
val versionDescription: kotlin.String? = builder.versionDescription
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.quicksight.model.CreateDashboardRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateDashboardRequest(")
append("awsAccountId=$awsAccountId,")
append("dashboardId=$dashboardId,")
append("dashboardPublishOptions=$dashboardPublishOptions,")
append("name=$name,")
append("parameters=$parameters,")
append("permissions=$permissions,")
append("sourceEntity=$sourceEntity,")
append("tags=$tags,")
append("themeArn=$themeArn,")
append("versionDescription=$versionDescription)")
}
override fun hashCode(): kotlin.Int {
var result = awsAccountId?.hashCode() ?: 0
result = 31 * result + (dashboardId?.hashCode() ?: 0)
result = 31 * result + (dashboardPublishOptions?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (parameters?.hashCode() ?: 0)
result = 31 * result + (permissions?.hashCode() ?: 0)
result = 31 * result + (sourceEntity?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (themeArn?.hashCode() ?: 0)
result = 31 * result + (versionDescription?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as CreateDashboardRequest
if (awsAccountId != other.awsAccountId) return false
if (dashboardId != other.dashboardId) return false
if (dashboardPublishOptions != other.dashboardPublishOptions) return false
if (name != other.name) return false
if (parameters != other.parameters) return false
if (permissions != other.permissions) return false
if (sourceEntity != other.sourceEntity) return false
if (tags != other.tags) return false
if (themeArn != other.themeArn) return false
if (versionDescription != other.versionDescription) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.quicksight.model.CreateDashboardRequest = Builder(this).apply(block).build()
class Builder {
/**
* The ID of the Amazon Web Services account where you want to create the dashboard.
*/
var awsAccountId: kotlin.String? = null
/**
* The ID for the dashboard, also added to the IAM policy.
*/
var dashboardId: kotlin.String? = null
/**
* Options for publishing the dashboard when you create it:
* + `AvailabilityStatus` for `AdHocFilteringOption` - This status can be either `ENABLED` or `DISABLED`. When this is set to `DISABLED`, Amazon QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is `ENABLED` by default.
* + `AvailabilityStatus` for `ExportToCSVOption` - This status can be either `ENABLED` or `DISABLED`. The visual option to export data to .CSV format isn't enabled when this is set to `DISABLED`. This option is `ENABLED` by default.
* + `VisibilityState` for `SheetControlsOption` - This visibility state can be either `COLLAPSED` or `EXPANDED`. This option is `COLLAPSED` by default.
*/
var dashboardPublishOptions: aws.sdk.kotlin.services.quicksight.model.DashboardPublishOptions? = null
/**
* The display name of the dashboard.
*/
var name: kotlin.String? = null
/**
* The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values.
*/
var parameters: aws.sdk.kotlin.services.quicksight.model.Parameters? = null
/**
* A structure that contains the permissions of the dashboard. You can use this structure for granting permissions by providing a list of IAM action information for each principal ARN.
*
* To specify no permissions, omit the permissions list.
*/
var permissions: List? = null
/**
* The entity that you are using as a source when you create the dashboard. In `SourceEntity`, you specify the type of object you're using as source. You can only create a dashboard from a template, so you use a `SourceTemplate` entity. If you need to create a dashboard from an analysis, first convert the analysis to a template by using the ` CreateTemplate ` API operation. For `SourceTemplate`, specify the Amazon Resource Name (ARN) of the source template. The `SourceTemplate`ARN can contain any Amazon Web Services account and any Amazon QuickSight-supported Amazon Web Services Region.
*
* Use the `DataSetReferences` entity within `SourceTemplate` to list the replacement datasets for the placeholders listed in the original. The schema in each dataset must match its placeholder.
*/
var sourceEntity: aws.sdk.kotlin.services.quicksight.model.DashboardSourceEntity? = null
/**
* Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.
*/
var tags: List? = null
/**
* The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If you add a value for this field, it overrides the value that is used in the source entity. The theme ARN must exist in the same Amazon Web Services account where you create the dashboard.
*/
var themeArn: kotlin.String? = null
/**
* A description for the first version of the dashboard being created.
*/
var versionDescription: kotlin.String? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.quicksight.model.CreateDashboardRequest) : this() {
this.awsAccountId = x.awsAccountId
this.dashboardId = x.dashboardId
this.dashboardPublishOptions = x.dashboardPublishOptions
this.name = x.name
this.parameters = x.parameters
this.permissions = x.permissions
this.sourceEntity = x.sourceEntity
this.tags = x.tags
this.themeArn = x.themeArn
this.versionDescription = x.versionDescription
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.quicksight.model.CreateDashboardRequest = CreateDashboardRequest(this)
/**
* construct an [aws.sdk.kotlin.services.quicksight.model.DashboardPublishOptions] inside the given [block]
*/
fun dashboardPublishOptions(block: aws.sdk.kotlin.services.quicksight.model.DashboardPublishOptions.Builder.() -> kotlin.Unit) {
this.dashboardPublishOptions = aws.sdk.kotlin.services.quicksight.model.DashboardPublishOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.quicksight.model.Parameters] inside the given [block]
*/
fun parameters(block: aws.sdk.kotlin.services.quicksight.model.Parameters.Builder.() -> kotlin.Unit) {
this.parameters = aws.sdk.kotlin.services.quicksight.model.Parameters.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.quicksight.model.DashboardSourceEntity] inside the given [block]
*/
fun sourceEntity(block: aws.sdk.kotlin.services.quicksight.model.DashboardSourceEntity.Builder.() -> kotlin.Unit) {
this.sourceEntity = aws.sdk.kotlin.services.quicksight.model.DashboardSourceEntity.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy