awsquicksight

package
v2.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

AWS::QuickSight Construct Library

This module is part of the AWS Cloud Development Kit project.

import quicksight "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::QuickSight.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnAnalysis_CFN_RESOURCE_TYPE_NAME

func CfnAnalysis_CFN_RESOURCE_TYPE_NAME() *string

func CfnAnalysis_IsCfnElement

func CfnAnalysis_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAnalysis_IsCfnResource

func CfnAnalysis_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAnalysis_IsConstruct

func CfnAnalysis_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnDashboard_CFN_RESOURCE_TYPE_NAME

func CfnDashboard_CFN_RESOURCE_TYPE_NAME() *string

func CfnDashboard_IsCfnElement

func CfnDashboard_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDashboard_IsCfnResource

func CfnDashboard_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDashboard_IsConstruct

func CfnDashboard_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnDataSet_CFN_RESOURCE_TYPE_NAME

func CfnDataSet_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataSet_IsCfnElement

func CfnDataSet_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDataSet_IsCfnResource

func CfnDataSet_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDataSet_IsConstruct

func CfnDataSet_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnDataSource_CFN_RESOURCE_TYPE_NAME

func CfnDataSource_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataSource_IsCfnElement

func CfnDataSource_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDataSource_IsCfnResource

func CfnDataSource_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDataSource_IsConstruct

func CfnDataSource_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnTemplate_CFN_RESOURCE_TYPE_NAME

func CfnTemplate_CFN_RESOURCE_TYPE_NAME() *string

func CfnTemplate_IsCfnElement

func CfnTemplate_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnTemplate_IsCfnResource

func CfnTemplate_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnTemplate_IsConstruct

func CfnTemplate_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnTheme_CFN_RESOURCE_TYPE_NAME

func CfnTheme_CFN_RESOURCE_TYPE_NAME() *string

func CfnTheme_IsCfnElement

func CfnTheme_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnTheme_IsCfnResource

func CfnTheme_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnTheme_IsConstruct

func CfnTheme_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func NewCfnAnalysis_Override

func NewCfnAnalysis_Override(c CfnAnalysis, scope constructs.Construct, id *string, props *CfnAnalysisProps)

Create a new `AWS::QuickSight::Analysis`.

func NewCfnDashboard_Override

func NewCfnDashboard_Override(c CfnDashboard, scope constructs.Construct, id *string, props *CfnDashboardProps)

Create a new `AWS::QuickSight::Dashboard`.

func NewCfnDataSet_Override

func NewCfnDataSet_Override(c CfnDataSet, scope constructs.Construct, id *string, props *CfnDataSetProps)

Create a new `AWS::QuickSight::DataSet`.

func NewCfnDataSource_Override

func NewCfnDataSource_Override(c CfnDataSource, scope constructs.Construct, id *string, props *CfnDataSourceProps)

Create a new `AWS::QuickSight::DataSource`.

func NewCfnTemplate_Override

func NewCfnTemplate_Override(c CfnTemplate, scope constructs.Construct, id *string, props *CfnTemplateProps)

Create a new `AWS::QuickSight::Template`.

func NewCfnTheme_Override

func NewCfnTheme_Override(c CfnTheme, scope constructs.Construct, id *string, props *CfnThemeProps)

Create a new `AWS::QuickSight::Theme`.

Types

type CfnAnalysis

type CfnAnalysis interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The ID for the analysis that you're creating.
	//
	// This ID displays in the URL of the analysis.
	AnalysisId() *string
	SetAnalysisId(val *string)
	// The Amazon Resource Name (ARN) of the analysis.
	AttrArn() *string
	AttrCreatedTime() *string
	// The ARNs of the datasets of the analysis.
	AttrDataSetArns() *[]*string
	// The time that the analysis was last updated.
	AttrLastUpdatedTime() *string
	AttrSheets() awscdk.IResolvable
	AttrStatus() *string
	// The ID of the AWS account where you are creating an analysis.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::QuickSight::Analysis.Errors`.
	Errors() interface{}
	SetErrors(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A descriptive name for the analysis that you're creating.
	//
	// This name displays for the analysis in the Amazon QuickSight console.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// The parameter names and override values that you want to use.
	//
	// An analysis can have any parameter type, and some parameters might accept multiple values.
	Parameters() interface{}
	SetParameters(val interface{})
	// A structure that describes the principals and the resource-level permissions on an analysis.
	//
	// You can use the `Permissions` structure to grant permissions by providing a list of AWS Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).
	//
	// To specify no permissions, omit `Permissions` .
	Permissions() interface{}
	SetPermissions(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// A source entity to use for the analysis that you're creating.
	//
	// This metadata structure contains details that describe a source template and one or more datasets.
	SourceEntity() interface{}
	SetSourceEntity(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis.
	Tags() awscdk.TagManager
	// The ARN for the theme to apply to the analysis that you're creating.
	//
	// To see the theme in the Amazon QuickSight console, make sure that you have access to it.
	ThemeArn() *string
	SetThemeArn(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::Analysis`.

Creates an analysis in Amazon QuickSight.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAnalysis := awscdk.Aws_quicksight.NewCfnAnalysis(this, jsii.String("MyCfnAnalysis"), &cfnAnalysisProps{
	analysisId: jsii.String("analysisId"),
	awsAccountId: jsii.String("awsAccountId"),
	sourceEntity: &analysisSourceEntityProperty{
		sourceTemplate: &analysisSourceTemplateProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
	},

	// the properties below are optional
	errors: []interface{}{
		&analysisErrorProperty{
			message: jsii.String("message"),
			type: jsii.String("type"),
		},
	},
	name: jsii.String("name"),
	parameters: &parametersProperty{
		dateTimeParameters: []interface{}{
			&dateTimeParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
		decimalParameters: []interface{}{
			&decimalParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		integerParameters: []interface{}{
			&integerParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		stringParameters: []interface{}{
			&stringParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
	},
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	themeArn: jsii.String("themeArn"),
})

func NewCfnAnalysis

func NewCfnAnalysis(scope constructs.Construct, id *string, props *CfnAnalysisProps) CfnAnalysis

Create a new `AWS::QuickSight::Analysis`.

type CfnAnalysisProps

type CfnAnalysisProps struct {
	// The ID for the analysis that you're creating.
	//
	// This ID displays in the URL of the analysis.
	AnalysisId *string `field:"required" json:"analysisId" yaml:"analysisId"`
	// The ID of the AWS account where you are creating an analysis.
	AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"`
	// A source entity to use for the analysis that you're creating.
	//
	// This metadata structure contains details that describe a source template and one or more datasets.
	SourceEntity interface{} `field:"required" json:"sourceEntity" yaml:"sourceEntity"`
	// `AWS::QuickSight::Analysis.Errors`.
	Errors interface{} `field:"optional" json:"errors" yaml:"errors"`
	// A descriptive name for the analysis that you're creating.
	//
	// This name displays for the analysis in the Amazon QuickSight console.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The parameter names and override values that you want to use.
	//
	// An analysis can have any parameter type, and some parameters might accept multiple values.
	Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
	// A structure that describes the principals and the resource-level permissions on an analysis.
	//
	// You can use the `Permissions` structure to grant permissions by providing a list of AWS Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).
	//
	// To specify no permissions, omit `Permissions` .
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The ARN for the theme to apply to the analysis that you're creating.
	//
	// To see the theme in the Amazon QuickSight console, make sure that you have access to it.
	ThemeArn *string `field:"optional" json:"themeArn" yaml:"themeArn"`
}

Properties for defining a `CfnAnalysis`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAnalysisProps := &cfnAnalysisProps{
	analysisId: jsii.String("analysisId"),
	awsAccountId: jsii.String("awsAccountId"),
	sourceEntity: &analysisSourceEntityProperty{
		sourceTemplate: &analysisSourceTemplateProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
	},

	// the properties below are optional
	errors: []interface{}{
		&analysisErrorProperty{
			message: jsii.String("message"),
			type: jsii.String("type"),
		},
	},
	name: jsii.String("name"),
	parameters: &parametersProperty{
		dateTimeParameters: []interface{}{
			&dateTimeParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
		decimalParameters: []interface{}{
			&decimalParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		integerParameters: []interface{}{
			&integerParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		stringParameters: []interface{}{
			&stringParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
	},
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	themeArn: jsii.String("themeArn"),
}

type CfnAnalysis_AnalysisErrorProperty

type CfnAnalysis_AnalysisErrorProperty struct {
	// The message associated with the analysis error.
	Message *string `field:"optional" json:"message" yaml:"message"`
	// The type of the analysis error.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Analysis error.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

analysisErrorProperty := &analysisErrorProperty{
	message: jsii.String("message"),
	type: jsii.String("type"),
}

type CfnAnalysis_AnalysisSourceEntityProperty

type CfnAnalysis_AnalysisSourceEntityProperty struct {
	// The source template for the source entity of the analysis.
	SourceTemplate interface{} `field:"optional" json:"sourceTemplate" yaml:"sourceTemplate"`
}

The source entity of an analysis.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

analysisSourceEntityProperty := &analysisSourceEntityProperty{
	sourceTemplate: &analysisSourceTemplateProperty{
		arn: jsii.String("arn"),
		dataSetReferences: []interface{}{
			&dataSetReferenceProperty{
				dataSetArn: jsii.String("dataSetArn"),
				dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
			},
		},
	},
}

type CfnAnalysis_AnalysisSourceTemplateProperty

type CfnAnalysis_AnalysisSourceTemplateProperty struct {
	// The Amazon Resource Name (ARN) of the source template of an analysis.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// The dataset references of the source template of an analysis.
	DataSetReferences interface{} `field:"required" json:"dataSetReferences" yaml:"dataSetReferences"`
}

The source template of an analysis.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

analysisSourceTemplateProperty := &analysisSourceTemplateProperty{
	arn: jsii.String("arn"),
	dataSetReferences: []interface{}{
		&dataSetReferenceProperty{
			dataSetArn: jsii.String("dataSetArn"),
			dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
		},
	},
}

type CfnAnalysis_DataSetReferenceProperty

type CfnAnalysis_DataSetReferenceProperty struct {
	// Dataset Amazon Resource Name (ARN).
	DataSetArn *string `field:"required" json:"dataSetArn" yaml:"dataSetArn"`
	// Dataset placeholder.
	DataSetPlaceholder *string `field:"required" json:"dataSetPlaceholder" yaml:"dataSetPlaceholder"`
}

Dataset reference.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSetReferenceProperty := &dataSetReferenceProperty{
	dataSetArn: jsii.String("dataSetArn"),
	dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
}

type CfnAnalysis_DateTimeParameterProperty

type CfnAnalysis_DateTimeParameterProperty struct {
	// A display name for the date-time parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the date-time parameter.
	Values *[]*string `field:"required" json:"values" yaml:"values"`
}

A date-time parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dateTimeParameterProperty := &dateTimeParameterProperty{
	name: jsii.String("name"),
	values: []*string{
		jsii.String("values"),
	},
}

type CfnAnalysis_DecimalParameterProperty

type CfnAnalysis_DecimalParameterProperty struct {
	// A display name for the decimal parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the decimal parameter.
	Values interface{} `field:"required" json:"values" yaml:"values"`
}

A decimal parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

decimalParameterProperty := &decimalParameterProperty{
	name: jsii.String("name"),
	values: []interface{}{
		jsii.Number(123),
	},
}

type CfnAnalysis_IntegerParameterProperty

type CfnAnalysis_IntegerParameterProperty struct {
	// The name of the integer parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the integer parameter.
	Values interface{} `field:"required" json:"values" yaml:"values"`
}

An integer parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

integerParameterProperty := &integerParameterProperty{
	name: jsii.String("name"),
	values: []interface{}{
		jsii.Number(123),
	},
}

type CfnAnalysis_ParametersProperty

type CfnAnalysis_ParametersProperty struct {
	// The parameters that have a data type of date-time.
	DateTimeParameters interface{} `field:"optional" json:"dateTimeParameters" yaml:"dateTimeParameters"`
	// The parameters that have a data type of decimal.
	DecimalParameters interface{} `field:"optional" json:"decimalParameters" yaml:"decimalParameters"`
	// The parameters that have a data type of integer.
	IntegerParameters interface{} `field:"optional" json:"integerParameters" yaml:"integerParameters"`
	// The parameters that have a data type of string.
	StringParameters interface{} `field:"optional" json:"stringParameters" yaml:"stringParameters"`
}

A list of Amazon QuickSight parameters and the list's override values.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

parametersProperty := &parametersProperty{
	dateTimeParameters: []interface{}{
		&dateTimeParameterProperty{
			name: jsii.String("name"),
			values: []*string{
				jsii.String("values"),
			},
		},
	},
	decimalParameters: []interface{}{
		&decimalParameterProperty{
			name: jsii.String("name"),
			values: []interface{}{
				jsii.Number(123),
			},
		},
	},
	integerParameters: []interface{}{
		&integerParameterProperty{
			name: jsii.String("name"),
			values: []interface{}{
				jsii.Number(123),
			},
		},
	},
	stringParameters: []interface{}{
		&stringParameterProperty{
			name: jsii.String("name"),
			values: []*string{
				jsii.String("values"),
			},
		},
	},
}

type CfnAnalysis_ResourcePermissionProperty

type CfnAnalysis_ResourcePermissionProperty struct {
	// The IAM action to grant or revoke permissions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnAnalysis_SheetProperty

type CfnAnalysis_SheetProperty struct {
	// The name of a sheet.
	//
	// This name is displayed on the sheet's tab in the Amazon QuickSight console.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The unique identifier associated with a sheet.
	SheetId *string `field:"optional" json:"sheetId" yaml:"sheetId"`
}

A *sheet* , which is an object that contains a set of visuals that are viewed together on one page in Amazon QuickSight.

Every analysis and dashboard contains at least one sheet. Each sheet contains at least one visualization widget, for example a chart, pivot table, or narrative insight. Sheets can be associated with other components, such as controls, filters, and so on.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sheetProperty := &sheetProperty{
	name: jsii.String("name"),
	sheetId: jsii.String("sheetId"),
}

type CfnAnalysis_StringParameterProperty

type CfnAnalysis_StringParameterProperty struct {
	// A display name for a string parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values of a string parameter.
	Values *[]*string `field:"required" json:"values" yaml:"values"`
}

A string parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

stringParameterProperty := &stringParameterProperty{
	name: jsii.String("name"),
	values: []*string{
		jsii.String("values"),
	},
}

type CfnDashboard

type CfnDashboard interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the dashboard.
	AttrArn() *string
	// The time this dashboard version was created.
	AttrCreatedTime() *string
	// The time that the dashboard was last published.
	AttrLastPublishedTime() *string
	// The time that the dashboard was last updated.
	AttrLastUpdatedTime() *string
	// The ID of the AWS account where you want to create the dashboard.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The ID for the dashboard, also added to the IAM policy.
	DashboardId() *string
	SetDashboardId(val *string)
	// 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.
	DashboardPublishOptions() interface{}
	SetDashboardPublishOptions(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The display name of the dashboard.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// 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.
	Parameters() interface{}
	SetParameters(val interface{})
	// 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.
	Permissions() interface{}
	SetPermissions(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The entity that you are using as a source when you create the dashboard.
	//
	// In `SourceEntity` , you specify the type of object that you want to use. 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 AWS account; and any QuickSight-supported AWS 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.
	SourceEntity() interface{}
	SetSourceEntity(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.
	Tags() awscdk.TagManager
	// 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 AWS account where you create the dashboard.
	ThemeArn() *string
	SetThemeArn(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// A description for the first version of the dashboard being created.
	VersionDescription() *string
	SetVersionDescription(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::Dashboard`.

Creates a dashboard from a template. To first create a template, see the `CreateTemplate` API operation.

A dashboard is an entity in Amazon QuickSight that identifies Amazon QuickSight reports, created from analyses. You can share Amazon QuickSight dashboards. With the right permissions, you can create scheduled email reports from them. If you have the correct permissions, you can create a dashboard from a template that exists in a different AWS account .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDashboard := awscdk.Aws_quicksight.NewCfnDashboard(this, jsii.String("MyCfnDashboard"), &cfnDashboardProps{
	awsAccountId: jsii.String("awsAccountId"),
	dashboardId: jsii.String("dashboardId"),
	sourceEntity: &dashboardSourceEntityProperty{
		sourceTemplate: &dashboardSourceTemplateProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
	},

	// the properties below are optional
	dashboardPublishOptions: &dashboardPublishOptionsProperty{
		adHocFilteringOption: &adHocFilteringOptionProperty{
			availabilityStatus: jsii.String("availabilityStatus"),
		},
		exportToCsvOption: &exportToCSVOptionProperty{
			availabilityStatus: jsii.String("availabilityStatus"),
		},
		sheetControlsOption: &sheetControlsOptionProperty{
			visibilityState: jsii.String("visibilityState"),
		},
	},
	name: jsii.String("name"),
	parameters: &parametersProperty{
		dateTimeParameters: []interface{}{
			&dateTimeParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
		decimalParameters: []interface{}{
			&decimalParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		integerParameters: []interface{}{
			&integerParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		stringParameters: []interface{}{
			&stringParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
	},
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	themeArn: jsii.String("themeArn"),
	versionDescription: jsii.String("versionDescription"),
})

func NewCfnDashboard

func NewCfnDashboard(scope constructs.Construct, id *string, props *CfnDashboardProps) CfnDashboard

Create a new `AWS::QuickSight::Dashboard`.

type CfnDashboardProps

type CfnDashboardProps struct {
	// The ID of the AWS account where you want to create the dashboard.
	AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"`
	// The ID for the dashboard, also added to the IAM policy.
	DashboardId *string `field:"required" json:"dashboardId" yaml:"dashboardId"`
	// The entity that you are using as a source when you create the dashboard.
	//
	// In `SourceEntity` , you specify the type of object that you want to use. 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 AWS account; and any QuickSight-supported AWS 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.
	SourceEntity interface{} `field:"required" json:"sourceEntity" yaml:"sourceEntity"`
	// 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.
	DashboardPublishOptions interface{} `field:"optional" json:"dashboardPublishOptions" yaml:"dashboardPublishOptions"`
	// The display name of the dashboard.
	Name *string `field:"optional" json:"name" yaml:"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.
	Parameters interface{} `field:"optional" json:"parameters" yaml:"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.
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"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 AWS account where you create the dashboard.
	ThemeArn *string `field:"optional" json:"themeArn" yaml:"themeArn"`
	// A description for the first version of the dashboard being created.
	VersionDescription *string `field:"optional" json:"versionDescription" yaml:"versionDescription"`
}

Properties for defining a `CfnDashboard`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDashboardProps := &cfnDashboardProps{
	awsAccountId: jsii.String("awsAccountId"),
	dashboardId: jsii.String("dashboardId"),
	sourceEntity: &dashboardSourceEntityProperty{
		sourceTemplate: &dashboardSourceTemplateProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
	},

	// the properties below are optional
	dashboardPublishOptions: &dashboardPublishOptionsProperty{
		adHocFilteringOption: &adHocFilteringOptionProperty{
			availabilityStatus: jsii.String("availabilityStatus"),
		},
		exportToCsvOption: &exportToCSVOptionProperty{
			availabilityStatus: jsii.String("availabilityStatus"),
		},
		sheetControlsOption: &sheetControlsOptionProperty{
			visibilityState: jsii.String("visibilityState"),
		},
	},
	name: jsii.String("name"),
	parameters: &parametersProperty{
		dateTimeParameters: []interface{}{
			&dateTimeParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
		decimalParameters: []interface{}{
			&decimalParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		integerParameters: []interface{}{
			&integerParameterProperty{
				name: jsii.String("name"),
				values: []interface{}{
					jsii.Number(123),
				},
			},
		},
		stringParameters: []interface{}{
			&stringParameterProperty{
				name: jsii.String("name"),
				values: []*string{
					jsii.String("values"),
				},
			},
		},
	},
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	themeArn: jsii.String("themeArn"),
	versionDescription: jsii.String("versionDescription"),
}

type CfnDashboard_AdHocFilteringOptionProperty

type CfnDashboard_AdHocFilteringOptionProperty struct {
	// Availability status.
	AvailabilityStatus *string `field:"optional" json:"availabilityStatus" yaml:"availabilityStatus"`
}

Ad hoc (one-time) filtering option.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

adHocFilteringOptionProperty := &adHocFilteringOptionProperty{
	availabilityStatus: jsii.String("availabilityStatus"),
}

type CfnDashboard_DashboardPublishOptionsProperty

type CfnDashboard_DashboardPublishOptionsProperty struct {
	// Ad hoc (one-time) filtering option.
	AdHocFilteringOption interface{} `field:"optional" json:"adHocFilteringOption" yaml:"adHocFilteringOption"`
	// Export to .csv option.
	ExportToCsvOption interface{} `field:"optional" json:"exportToCsvOption" yaml:"exportToCsvOption"`
	// Sheet controls option.
	SheetControlsOption interface{} `field:"optional" json:"sheetControlsOption" yaml:"sheetControlsOption"`
}

Dashboard publish options.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashboardPublishOptionsProperty := &dashboardPublishOptionsProperty{
	adHocFilteringOption: &adHocFilteringOptionProperty{
		availabilityStatus: jsii.String("availabilityStatus"),
	},
	exportToCsvOption: &exportToCSVOptionProperty{
		availabilityStatus: jsii.String("availabilityStatus"),
	},
	sheetControlsOption: &sheetControlsOptionProperty{
		visibilityState: jsii.String("visibilityState"),
	},
}

type CfnDashboard_DashboardSourceEntityProperty

type CfnDashboard_DashboardSourceEntityProperty struct {
	// Source template.
	SourceTemplate interface{} `field:"optional" json:"sourceTemplate" yaml:"sourceTemplate"`
}

Dashboard source entity.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashboardSourceEntityProperty := &dashboardSourceEntityProperty{
	sourceTemplate: &dashboardSourceTemplateProperty{
		arn: jsii.String("arn"),
		dataSetReferences: []interface{}{
			&dataSetReferenceProperty{
				dataSetArn: jsii.String("dataSetArn"),
				dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
			},
		},
	},
}

type CfnDashboard_DashboardSourceTemplateProperty

type CfnDashboard_DashboardSourceTemplateProperty struct {
	// The Amazon Resource Name (ARN) of the resource.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// Dataset references.
	DataSetReferences interface{} `field:"required" json:"dataSetReferences" yaml:"dataSetReferences"`
}

Dashboard source template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashboardSourceTemplateProperty := &dashboardSourceTemplateProperty{
	arn: jsii.String("arn"),
	dataSetReferences: []interface{}{
		&dataSetReferenceProperty{
			dataSetArn: jsii.String("dataSetArn"),
			dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
		},
	},
}

type CfnDashboard_DataSetReferenceProperty

type CfnDashboard_DataSetReferenceProperty struct {
	// Dataset Amazon Resource Name (ARN).
	DataSetArn *string `field:"required" json:"dataSetArn" yaml:"dataSetArn"`
	// Dataset placeholder.
	DataSetPlaceholder *string `field:"required" json:"dataSetPlaceholder" yaml:"dataSetPlaceholder"`
}

Dataset reference.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSetReferenceProperty := &dataSetReferenceProperty{
	dataSetArn: jsii.String("dataSetArn"),
	dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
}

type CfnDashboard_DateTimeParameterProperty

type CfnDashboard_DateTimeParameterProperty struct {
	// A display name for the date-time parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the date-time parameter.
	Values *[]*string `field:"required" json:"values" yaml:"values"`
}

A date-time parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dateTimeParameterProperty := &dateTimeParameterProperty{
	name: jsii.String("name"),
	values: []*string{
		jsii.String("values"),
	},
}

type CfnDashboard_DecimalParameterProperty

type CfnDashboard_DecimalParameterProperty struct {
	// A display name for the decimal parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the decimal parameter.
	Values interface{} `field:"required" json:"values" yaml:"values"`
}

A decimal parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

decimalParameterProperty := &decimalParameterProperty{
	name: jsii.String("name"),
	values: []interface{}{
		jsii.Number(123),
	},
}

type CfnDashboard_ExportToCSVOptionProperty

type CfnDashboard_ExportToCSVOptionProperty struct {
	// Availability status.
	AvailabilityStatus *string `field:"optional" json:"availabilityStatus" yaml:"availabilityStatus"`
}

Export to .csv option.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

exportToCSVOptionProperty := &exportToCSVOptionProperty{
	availabilityStatus: jsii.String("availabilityStatus"),
}

type CfnDashboard_IntegerParameterProperty

type CfnDashboard_IntegerParameterProperty struct {
	// The name of the integer parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values for the integer parameter.
	Values interface{} `field:"required" json:"values" yaml:"values"`
}

An integer parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

integerParameterProperty := &integerParameterProperty{
	name: jsii.String("name"),
	values: []interface{}{
		jsii.Number(123),
	},
}

type CfnDashboard_ParametersProperty

type CfnDashboard_ParametersProperty struct {
	// The parameters that have a data type of date-time.
	DateTimeParameters interface{} `field:"optional" json:"dateTimeParameters" yaml:"dateTimeParameters"`
	// The parameters that have a data type of decimal.
	DecimalParameters interface{} `field:"optional" json:"decimalParameters" yaml:"decimalParameters"`
	// The parameters that have a data type of integer.
	IntegerParameters interface{} `field:"optional" json:"integerParameters" yaml:"integerParameters"`
	// The parameters that have a data type of string.
	StringParameters interface{} `field:"optional" json:"stringParameters" yaml:"stringParameters"`
}

A list of Amazon QuickSight parameters and the list's override values.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

parametersProperty := &parametersProperty{
	dateTimeParameters: []interface{}{
		&dateTimeParameterProperty{
			name: jsii.String("name"),
			values: []*string{
				jsii.String("values"),
			},
		},
	},
	decimalParameters: []interface{}{
		&decimalParameterProperty{
			name: jsii.String("name"),
			values: []interface{}{
				jsii.Number(123),
			},
		},
	},
	integerParameters: []interface{}{
		&integerParameterProperty{
			name: jsii.String("name"),
			values: []interface{}{
				jsii.Number(123),
			},
		},
	},
	stringParameters: []interface{}{
		&stringParameterProperty{
			name: jsii.String("name"),
			values: []*string{
				jsii.String("values"),
			},
		},
	},
}

type CfnDashboard_ResourcePermissionProperty

type CfnDashboard_ResourcePermissionProperty struct {
	// The IAM action to grant or revoke permissions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnDashboard_SheetControlsOptionProperty

type CfnDashboard_SheetControlsOptionProperty struct {
	// Visibility state.
	VisibilityState *string `field:"optional" json:"visibilityState" yaml:"visibilityState"`
}

Sheet controls option.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sheetControlsOptionProperty := &sheetControlsOptionProperty{
	visibilityState: jsii.String("visibilityState"),
}

type CfnDashboard_StringParameterProperty

type CfnDashboard_StringParameterProperty struct {
	// A display name for a string parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The values of a string parameter.
	Values *[]*string `field:"required" json:"values" yaml:"values"`
}

A string parameter.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

stringParameterProperty := &stringParameterProperty{
	name: jsii.String("name"),
	values: []*string{
		jsii.String("values"),
	},
}

type CfnDataSet

type CfnDataSet interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the dataset.
	AttrArn() *string
	AttrConsumedSpiceCapacityInBytes() awscdk.IResolvable
	// The time this dataset version was created.
	AttrCreatedTime() *string
	// The time this dataset version was last updated.
	AttrLastUpdatedTime() *string
	AttrOutputColumns() awscdk.IResolvable
	// The AWS account ID.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Groupings of columns that work together in certain Amazon QuickSight features.
	//
	// Currently, only geospatial hierarchy is supported.
	ColumnGroups() interface{}
	SetColumnGroups(val interface{})
	// A set of one or more definitions of a `ColumnLevelPermissionRule` .
	ColumnLevelPermissionRules() interface{}
	SetColumnLevelPermissionRules(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// An ID for the dataset that you want to create.
	//
	// This ID is unique per AWS Region for each AWS account.
	DataSetId() *string
	SetDataSetId(val *string)
	// The folder that contains fields and nested subfolders for your dataset.
	FieldFolders() interface{}
	SetFieldFolders(val interface{})
	// Indicates whether you want to import the data into SPICE.
	ImportMode() *string
	SetImportMode(val *string)
	// The wait policy to use when creating or updating a Dataset.
	//
	// The default is to wait for SPICE ingestion to finish with timeout of 36 hours.
	IngestionWaitPolicy() interface{}
	SetIngestionWaitPolicy(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Configures the combination and transformation of the data from the physical tables.
	LogicalTableMap() interface{}
	SetLogicalTableMap(val interface{})
	// The display name for the dataset.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// A list of resource permissions on the dataset.
	Permissions() interface{}
	SetPermissions(val interface{})
	// Declares the physical tables that are available in the underlying data sources.
	PhysicalTableMap() interface{}
	SetPhysicalTableMap(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The row-level security configuration for the data that you want to create.
	RowLevelPermissionDataSet() interface{}
	SetRowLevelPermissionDataSet(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::DataSet`.

Creates a dataset. This operation doesn't support datasets that include uploaded files as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDataSet := awscdk.Aws_quicksight.NewCfnDataSet(this, jsii.String("MyCfnDataSet"), &cfnDataSetProps{
	awsAccountId: jsii.String("awsAccountId"),
	columnGroups: []interface{}{
		&columnGroupProperty{
			geoSpatialColumnGroup: &geoSpatialColumnGroupProperty{
				columns: []*string{
					jsii.String("columns"),
				},
				name: jsii.String("name"),

				// the properties below are optional
				countryCode: jsii.String("countryCode"),
			},
		},
	},
	columnLevelPermissionRules: []interface{}{
		&columnLevelPermissionRuleProperty{
			columnNames: []*string{
				jsii.String("columnNames"),
			},
			principals: []*string{
				jsii.String("principals"),
			},
		},
	},
	dataSetId: jsii.String("dataSetId"),
	fieldFolders: map[string]interface{}{
		"fieldFoldersKey": &FieldFolderProperty{
			"columns": []*string{
				jsii.String("columns"),
			},
			"description": jsii.String("description"),
		},
	},
	importMode: jsii.String("importMode"),
	ingestionWaitPolicy: &ingestionWaitPolicyProperty{
		ingestionWaitTimeInHours: jsii.Number(123),
		waitForSpiceIngestion: jsii.Boolean(false),
	},
	logicalTableMap: map[string]interface{}{
		"logicalTableMapKey": &LogicalTableProperty{
			"alias": jsii.String("alias"),
			"source": &LogicalTableSourceProperty{
				"joinInstruction": &JoinInstructionProperty{
					"leftOperand": jsii.String("leftOperand"),
					"onClause": jsii.String("onClause"),
					"rightOperand": jsii.String("rightOperand"),
					"type": jsii.String("type"),

					// the properties below are optional
					"leftJoinKeyProperties": &JoinKeyPropertiesProperty{
						"uniqueKey": jsii.Boolean(false),
					},
					"rightJoinKeyProperties": &JoinKeyPropertiesProperty{
						"uniqueKey": jsii.Boolean(false),
					},
				},
				"physicalTableId": jsii.String("physicalTableId"),
			},

			// the properties below are optional
			"dataTransforms": []interface{}{
				&TransformOperationProperty{
					"castColumnTypeOperation": &CastColumnTypeOperationProperty{
						"columnName": jsii.String("columnName"),
						"newColumnType": jsii.String("newColumnType"),

						// the properties below are optional
						"format": jsii.String("format"),
					},
					"createColumnsOperation": &CreateColumnsOperationProperty{
						"columns": []interface{}{
							&CalculatedColumnProperty{
								"columnId": jsii.String("columnId"),
								"columnName": jsii.String("columnName"),
								"expression": jsii.String("expression"),
							},
						},
					},
					"filterOperation": &FilterOperationProperty{
						"conditionExpression": jsii.String("conditionExpression"),
					},
					"projectOperation": &ProjectOperationProperty{
						"projectedColumns": []*string{
							jsii.String("projectedColumns"),
						},
					},
					"renameColumnOperation": &RenameColumnOperationProperty{
						"columnName": jsii.String("columnName"),
						"newColumnName": jsii.String("newColumnName"),
					},
					"tagColumnOperation": &TagColumnOperationProperty{
						"columnName": jsii.String("columnName"),
						"tags": []ColumnTagProperty{
							&ColumnTagProperty{
								"columnDescription": &ColumnDescriptionProperty{
									"text": jsii.String("text"),
								},
								"columnGeographicRole": jsii.String("columnGeographicRole"),
							},
						},
					},
				},
			},
		},
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	physicalTableMap: map[string]interface{}{
		"physicalTableMapKey": &PhysicalTableProperty{
			"customSql": &CustomSqlProperty{
				"columns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},
				"dataSourceArn": jsii.String("dataSourceArn"),
				"name": jsii.String("name"),
				"sqlQuery": jsii.String("sqlQuery"),
			},
			"relationalTable": &RelationalTableProperty{
				"dataSourceArn": jsii.String("dataSourceArn"),
				"inputColumns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},
				"name": jsii.String("name"),

				// the properties below are optional
				"catalog": jsii.String("catalog"),
				"schema": jsii.String("schema"),
			},
			"s3Source": &S3SourceProperty{
				"dataSourceArn": jsii.String("dataSourceArn"),
				"inputColumns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},

				// the properties below are optional
				"uploadSettings": &UploadSettingsProperty{
					"containsHeader": jsii.Boolean(false),
					"delimiter": jsii.String("delimiter"),
					"format": jsii.String("format"),
					"startFromRow": jsii.Number(123),
					"textQualifier": jsii.String("textQualifier"),
				},
			},
		},
	},
	rowLevelPermissionDataSet: &rowLevelPermissionDataSetProperty{
		arn: jsii.String("arn"),
		permissionPolicy: jsii.String("permissionPolicy"),

		// the properties below are optional
		formatVersion: jsii.String("formatVersion"),
		namespace: jsii.String("namespace"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
})

func NewCfnDataSet

func NewCfnDataSet(scope constructs.Construct, id *string, props *CfnDataSetProps) CfnDataSet

Create a new `AWS::QuickSight::DataSet`.

type CfnDataSetProps

type CfnDataSetProps struct {
	// The AWS account ID.
	AwsAccountId *string `field:"optional" json:"awsAccountId" yaml:"awsAccountId"`
	// Groupings of columns that work together in certain Amazon QuickSight features.
	//
	// Currently, only geospatial hierarchy is supported.
	ColumnGroups interface{} `field:"optional" json:"columnGroups" yaml:"columnGroups"`
	// A set of one or more definitions of a `ColumnLevelPermissionRule` .
	ColumnLevelPermissionRules interface{} `field:"optional" json:"columnLevelPermissionRules" yaml:"columnLevelPermissionRules"`
	// An ID for the dataset that you want to create.
	//
	// This ID is unique per AWS Region for each AWS account.
	DataSetId *string `field:"optional" json:"dataSetId" yaml:"dataSetId"`
	// The folder that contains fields and nested subfolders for your dataset.
	FieldFolders interface{} `field:"optional" json:"fieldFolders" yaml:"fieldFolders"`
	// Indicates whether you want to import the data into SPICE.
	ImportMode *string `field:"optional" json:"importMode" yaml:"importMode"`
	// The wait policy to use when creating or updating a Dataset.
	//
	// The default is to wait for SPICE ingestion to finish with timeout of 36 hours.
	IngestionWaitPolicy interface{} `field:"optional" json:"ingestionWaitPolicy" yaml:"ingestionWaitPolicy"`
	// Configures the combination and transformation of the data from the physical tables.
	LogicalTableMap interface{} `field:"optional" json:"logicalTableMap" yaml:"logicalTableMap"`
	// The display name for the dataset.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A list of resource permissions on the dataset.
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// Declares the physical tables that are available in the underlying data sources.
	PhysicalTableMap interface{} `field:"optional" json:"physicalTableMap" yaml:"physicalTableMap"`
	// The row-level security configuration for the data that you want to create.
	RowLevelPermissionDataSet interface{} `field:"optional" json:"rowLevelPermissionDataSet" yaml:"rowLevelPermissionDataSet"`
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDataSet`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDataSetProps := &cfnDataSetProps{
	awsAccountId: jsii.String("awsAccountId"),
	columnGroups: []interface{}{
		&columnGroupProperty{
			geoSpatialColumnGroup: &geoSpatialColumnGroupProperty{
				columns: []*string{
					jsii.String("columns"),
				},
				name: jsii.String("name"),

				// the properties below are optional
				countryCode: jsii.String("countryCode"),
			},
		},
	},
	columnLevelPermissionRules: []interface{}{
		&columnLevelPermissionRuleProperty{
			columnNames: []*string{
				jsii.String("columnNames"),
			},
			principals: []*string{
				jsii.String("principals"),
			},
		},
	},
	dataSetId: jsii.String("dataSetId"),
	fieldFolders: map[string]interface{}{
		"fieldFoldersKey": &FieldFolderProperty{
			"columns": []*string{
				jsii.String("columns"),
			},
			"description": jsii.String("description"),
		},
	},
	importMode: jsii.String("importMode"),
	ingestionWaitPolicy: &ingestionWaitPolicyProperty{
		ingestionWaitTimeInHours: jsii.Number(123),
		waitForSpiceIngestion: jsii.Boolean(false),
	},
	logicalTableMap: map[string]interface{}{
		"logicalTableMapKey": &LogicalTableProperty{
			"alias": jsii.String("alias"),
			"source": &LogicalTableSourceProperty{
				"joinInstruction": &JoinInstructionProperty{
					"leftOperand": jsii.String("leftOperand"),
					"onClause": jsii.String("onClause"),
					"rightOperand": jsii.String("rightOperand"),
					"type": jsii.String("type"),

					// the properties below are optional
					"leftJoinKeyProperties": &JoinKeyPropertiesProperty{
						"uniqueKey": jsii.Boolean(false),
					},
					"rightJoinKeyProperties": &JoinKeyPropertiesProperty{
						"uniqueKey": jsii.Boolean(false),
					},
				},
				"physicalTableId": jsii.String("physicalTableId"),
			},

			// the properties below are optional
			"dataTransforms": []interface{}{
				&TransformOperationProperty{
					"castColumnTypeOperation": &CastColumnTypeOperationProperty{
						"columnName": jsii.String("columnName"),
						"newColumnType": jsii.String("newColumnType"),

						// the properties below are optional
						"format": jsii.String("format"),
					},
					"createColumnsOperation": &CreateColumnsOperationProperty{
						"columns": []interface{}{
							&CalculatedColumnProperty{
								"columnId": jsii.String("columnId"),
								"columnName": jsii.String("columnName"),
								"expression": jsii.String("expression"),
							},
						},
					},
					"filterOperation": &FilterOperationProperty{
						"conditionExpression": jsii.String("conditionExpression"),
					},
					"projectOperation": &ProjectOperationProperty{
						"projectedColumns": []*string{
							jsii.String("projectedColumns"),
						},
					},
					"renameColumnOperation": &RenameColumnOperationProperty{
						"columnName": jsii.String("columnName"),
						"newColumnName": jsii.String("newColumnName"),
					},
					"tagColumnOperation": &TagColumnOperationProperty{
						"columnName": jsii.String("columnName"),
						"tags": []ColumnTagProperty{
							&ColumnTagProperty{
								"columnDescription": &ColumnDescriptionProperty{
									"text": jsii.String("text"),
								},
								"columnGeographicRole": jsii.String("columnGeographicRole"),
							},
						},
					},
				},
			},
		},
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	physicalTableMap: map[string]interface{}{
		"physicalTableMapKey": &PhysicalTableProperty{
			"customSql": &CustomSqlProperty{
				"columns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},
				"dataSourceArn": jsii.String("dataSourceArn"),
				"name": jsii.String("name"),
				"sqlQuery": jsii.String("sqlQuery"),
			},
			"relationalTable": &RelationalTableProperty{
				"dataSourceArn": jsii.String("dataSourceArn"),
				"inputColumns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},
				"name": jsii.String("name"),

				// the properties below are optional
				"catalog": jsii.String("catalog"),
				"schema": jsii.String("schema"),
			},
			"s3Source": &S3SourceProperty{
				"dataSourceArn": jsii.String("dataSourceArn"),
				"inputColumns": []interface{}{
					&InputColumnProperty{
						"name": jsii.String("name"),
						"type": jsii.String("type"),
					},
				},

				// the properties below are optional
				"uploadSettings": &UploadSettingsProperty{
					"containsHeader": jsii.Boolean(false),
					"delimiter": jsii.String("delimiter"),
					"format": jsii.String("format"),
					"startFromRow": jsii.Number(123),
					"textQualifier": jsii.String("textQualifier"),
				},
			},
		},
	},
	rowLevelPermissionDataSet: &rowLevelPermissionDataSetProperty{
		arn: jsii.String("arn"),
		permissionPolicy: jsii.String("permissionPolicy"),

		// the properties below are optional
		formatVersion: jsii.String("formatVersion"),
		namespace: jsii.String("namespace"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnDataSet_CalculatedColumnProperty

type CfnDataSet_CalculatedColumnProperty struct {
	// A unique ID to identify a calculated column.
	//
	// During a dataset update, if the column ID of a calculated column matches that of an existing calculated column, Amazon QuickSight preserves the existing calculated column.
	ColumnId *string `field:"required" json:"columnId" yaml:"columnId"`
	// Column name.
	ColumnName *string `field:"required" json:"columnName" yaml:"columnName"`
	// An expression that defines the calculated column.
	Expression *string `field:"required" json:"expression" yaml:"expression"`
}

A calculated column for a dataset.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

calculatedColumnProperty := &calculatedColumnProperty{
	columnId: jsii.String("columnId"),
	columnName: jsii.String("columnName"),
	expression: jsii.String("expression"),
}

type CfnDataSet_CastColumnTypeOperationProperty

type CfnDataSet_CastColumnTypeOperationProperty struct {
	// Column name.
	ColumnName *string `field:"required" json:"columnName" yaml:"columnName"`
	// New column data type.
	NewColumnType *string `field:"required" json:"newColumnType" yaml:"newColumnType"`
	// When casting a column from string to datetime type, you can supply a string in a format supported by Amazon QuickSight to denote the source data format.
	Format *string `field:"optional" json:"format" yaml:"format"`
}

A transform operation that casts a column to a different type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

castColumnTypeOperationProperty := &castColumnTypeOperationProperty{
	columnName: jsii.String("columnName"),
	newColumnType: jsii.String("newColumnType"),

	// the properties below are optional
	format: jsii.String("format"),
}

type CfnDataSet_ColumnDescriptionProperty

type CfnDataSet_ColumnDescriptionProperty struct {
	// The text of a description for a column.
	Text *string `field:"optional" json:"text" yaml:"text"`
}

Metadata that contains a description for a column.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

columnDescriptionProperty := &columnDescriptionProperty{
	text: jsii.String("text"),
}

type CfnDataSet_ColumnGroupProperty

type CfnDataSet_ColumnGroupProperty struct {
	// Geospatial column group that denotes a hierarchy.
	GeoSpatialColumnGroup interface{} `field:"optional" json:"geoSpatialColumnGroup" yaml:"geoSpatialColumnGroup"`
}

Groupings of columns that work together in certain Amazon QuickSight features.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

columnGroupProperty := &columnGroupProperty{
	geoSpatialColumnGroup: &geoSpatialColumnGroupProperty{
		columns: []*string{
			jsii.String("columns"),
		},
		name: jsii.String("name"),

		// the properties below are optional
		countryCode: jsii.String("countryCode"),
	},
}

type CfnDataSet_ColumnLevelPermissionRuleProperty

type CfnDataSet_ColumnLevelPermissionRuleProperty struct {
	// An array of column names.
	ColumnNames *[]*string `field:"optional" json:"columnNames" yaml:"columnNames"`
	// An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.
	Principals *[]*string `field:"optional" json:"principals" yaml:"principals"`
}

A rule defined to grant access on one or more restricted columns.

Each dataset can have multiple rules. To create a restricted column, you add it to one or more rules. Each rule must contain at least one column and at least one user or group. To be able to see a restricted column, a user or group needs to be added to a rule for that column.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

columnLevelPermissionRuleProperty := &columnLevelPermissionRuleProperty{
	columnNames: []*string{
		jsii.String("columnNames"),
	},
	principals: []*string{
		jsii.String("principals"),
	},
}

type CfnDataSet_ColumnTagProperty

type CfnDataSet_ColumnTagProperty struct {
	// A description for a column.
	ColumnDescription interface{} `field:"optional" json:"columnDescription" yaml:"columnDescription"`
	// A geospatial role for a column.
	ColumnGeographicRole *string `field:"optional" json:"columnGeographicRole" yaml:"columnGeographicRole"`
}

A tag for a column in a `[TagColumnOperation](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_TagColumnOperation.html)` structure. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

columnTagProperty := &columnTagProperty{
	columnDescription: &columnDescriptionProperty{
		text: jsii.String("text"),
	},
	columnGeographicRole: jsii.String("columnGeographicRole"),
}

type CfnDataSet_CreateColumnsOperationProperty

type CfnDataSet_CreateColumnsOperationProperty struct {
	// Calculated columns to create.
	Columns interface{} `field:"required" json:"columns" yaml:"columns"`
}

A transform operation that creates calculated columns.

Columns created in one such operation form a lexical closure.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

createColumnsOperationProperty := &createColumnsOperationProperty{
	columns: []interface{}{
		&calculatedColumnProperty{
			columnId: jsii.String("columnId"),
			columnName: jsii.String("columnName"),
			expression: jsii.String("expression"),
		},
	},
}

type CfnDataSet_CustomSqlProperty

type CfnDataSet_CustomSqlProperty struct {
	// The column schema from the SQL query result set.
	Columns interface{} `field:"required" json:"columns" yaml:"columns"`
	// The Amazon Resource Name (ARN) of the data source.
	DataSourceArn *string `field:"required" json:"dataSourceArn" yaml:"dataSourceArn"`
	// A display name for the SQL query result.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The SQL query.
	SqlQuery *string `field:"required" json:"sqlQuery" yaml:"sqlQuery"`
}

A physical table type built from the results of the custom SQL query.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

customSqlProperty := &customSqlProperty{
	columns: []interface{}{
		&inputColumnProperty{
			name: jsii.String("name"),
			type: jsii.String("type"),
		},
	},
	dataSourceArn: jsii.String("dataSourceArn"),
	name: jsii.String("name"),
	sqlQuery: jsii.String("sqlQuery"),
}

type CfnDataSet_FieldFolderProperty

type CfnDataSet_FieldFolderProperty struct {
	// A folder has a list of columns.
	//
	// A column can only be in one folder.
	Columns *[]*string `field:"optional" json:"columns" yaml:"columns"`
	// The description for a field folder.
	Description *string `field:"optional" json:"description" yaml:"description"`
}

A FieldFolder element is a folder that contains fields and nested subfolders.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

fieldFolderProperty := &fieldFolderProperty{
	columns: []*string{
		jsii.String("columns"),
	},
	description: jsii.String("description"),
}

type CfnDataSet_FilterOperationProperty

type CfnDataSet_FilterOperationProperty struct {
	// An expression that must evaluate to a Boolean value.
	//
	// Rows for which the expression evaluates to true are kept in the dataset.
	ConditionExpression *string `field:"required" json:"conditionExpression" yaml:"conditionExpression"`
}

A transform operation that filters rows based on a condition.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

filterOperationProperty := &filterOperationProperty{
	conditionExpression: jsii.String("conditionExpression"),
}

type CfnDataSet_GeoSpatialColumnGroupProperty

type CfnDataSet_GeoSpatialColumnGroupProperty struct {
	// Columns in this hierarchy.
	Columns *[]*string `field:"required" json:"columns" yaml:"columns"`
	// A display name for the hierarchy.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Country code.
	CountryCode *string `field:"optional" json:"countryCode" yaml:"countryCode"`
}

Geospatial column group that denotes a hierarchy.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

geoSpatialColumnGroupProperty := &geoSpatialColumnGroupProperty{
	columns: []*string{
		jsii.String("columns"),
	},
	name: jsii.String("name"),

	// the properties below are optional
	countryCode: jsii.String("countryCode"),
}

type CfnDataSet_IngestionWaitPolicyProperty

type CfnDataSet_IngestionWaitPolicyProperty struct {
	// The maximum time (in hours) to wait for Ingestion to complete.
	//
	// Default timeout is 36 hours. Applicable only when `DataSetImportMode` mode is set to SPICE and `WaitForSpiceIngestion` is set to true.
	IngestionWaitTimeInHours *float64 `field:"optional" json:"ingestionWaitTimeInHours" yaml:"ingestionWaitTimeInHours"`
	// Wait for SPICE ingestion to finish to mark dataset creation or update as successful.
	//
	// Default (true). Applicable only when `DataSetImportMode` mode is set to SPICE.
	WaitForSpiceIngestion interface{} `field:"optional" json:"waitForSpiceIngestion" yaml:"waitForSpiceIngestion"`
}

The wait policy to use when creating or updating a Dataset.

The default is to wait for SPICE ingestion to finish with timeout of 36 hours.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ingestionWaitPolicyProperty := &ingestionWaitPolicyProperty{
	ingestionWaitTimeInHours: jsii.Number(123),
	waitForSpiceIngestion: jsii.Boolean(false),
}

type CfnDataSet_InputColumnProperty

type CfnDataSet_InputColumnProperty struct {
	// The name of this column in the underlying data source.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data type of the column.
	Type *string `field:"required" json:"type" yaml:"type"`
}

Metadata for a column that is used as the input of a transform operation.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputColumnProperty := &inputColumnProperty{
	name: jsii.String("name"),
	type: jsii.String("type"),
}

type CfnDataSet_JoinInstructionProperty

type CfnDataSet_JoinInstructionProperty struct {
	// The operand on the left side of a join.
	LeftOperand *string `field:"required" json:"leftOperand" yaml:"leftOperand"`
	// The join instructions provided in the `ON` clause of a join.
	OnClause *string `field:"required" json:"onClause" yaml:"onClause"`
	// The operand on the right side of a join.
	RightOperand *string `field:"required" json:"rightOperand" yaml:"rightOperand"`
	// The type of join that it is.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Join key properties of the left operand.
	LeftJoinKeyProperties interface{} `field:"optional" json:"leftJoinKeyProperties" yaml:"leftJoinKeyProperties"`
	// Join key properties of the right operand.
	RightJoinKeyProperties interface{} `field:"optional" json:"rightJoinKeyProperties" yaml:"rightJoinKeyProperties"`
}

The instructions associated with a join.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

joinInstructionProperty := &joinInstructionProperty{
	leftOperand: jsii.String("leftOperand"),
	onClause: jsii.String("onClause"),
	rightOperand: jsii.String("rightOperand"),
	type: jsii.String("type"),

	// the properties below are optional
	leftJoinKeyProperties: &joinKeyPropertiesProperty{
		uniqueKey: jsii.Boolean(false),
	},
	rightJoinKeyProperties: &joinKeyPropertiesProperty{
		uniqueKey: jsii.Boolean(false),
	},
}

type CfnDataSet_JoinKeyPropertiesProperty

type CfnDataSet_JoinKeyPropertiesProperty struct {
	// A value that indicates that a row in a table is uniquely identified by the columns in a join key.
	//
	// This is used by Amazon QuickSight to optimize query performance.
	UniqueKey interface{} `field:"optional" json:"uniqueKey" yaml:"uniqueKey"`
}

Properties associated with the columns participating in a join.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

joinKeyPropertiesProperty := &joinKeyPropertiesProperty{
	uniqueKey: jsii.Boolean(false),
}

type CfnDataSet_LogicalTableProperty

type CfnDataSet_LogicalTableProperty struct {
	// A display name for the logical table.
	Alias *string `field:"required" json:"alias" yaml:"alias"`
	// Source of this logical table.
	Source interface{} `field:"required" json:"source" yaml:"source"`
	// Transform operations that act on this logical table.
	DataTransforms interface{} `field:"optional" json:"dataTransforms" yaml:"dataTransforms"`
}

A *logical table* is a unit that joins and that data transformations operate on.

A logical table has a source, which can be either a physical table or result of a join. When a logical table points to a physical table, the logical table acts as a mutable copy of that physical table through transform operations.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

logicalTableProperty := &logicalTableProperty{
	alias: jsii.String("alias"),
	source: &logicalTableSourceProperty{
		joinInstruction: &joinInstructionProperty{
			leftOperand: jsii.String("leftOperand"),
			onClause: jsii.String("onClause"),
			rightOperand: jsii.String("rightOperand"),
			type: jsii.String("type"),

			// the properties below are optional
			leftJoinKeyProperties: &joinKeyPropertiesProperty{
				uniqueKey: jsii.Boolean(false),
			},
			rightJoinKeyProperties: &joinKeyPropertiesProperty{
				uniqueKey: jsii.Boolean(false),
			},
		},
		physicalTableId: jsii.String("physicalTableId"),
	},

	// the properties below are optional
	dataTransforms: []interface{}{
		&transformOperationProperty{
			castColumnTypeOperation: &castColumnTypeOperationProperty{
				columnName: jsii.String("columnName"),
				newColumnType: jsii.String("newColumnType"),

				// the properties below are optional
				format: jsii.String("format"),
			},
			createColumnsOperation: &createColumnsOperationProperty{
				columns: []interface{}{
					&calculatedColumnProperty{
						columnId: jsii.String("columnId"),
						columnName: jsii.String("columnName"),
						expression: jsii.String("expression"),
					},
				},
			},
			filterOperation: &filterOperationProperty{
				conditionExpression: jsii.String("conditionExpression"),
			},
			projectOperation: &projectOperationProperty{
				projectedColumns: []*string{
					jsii.String("projectedColumns"),
				},
			},
			renameColumnOperation: &renameColumnOperationProperty{
				columnName: jsii.String("columnName"),
				newColumnName: jsii.String("newColumnName"),
			},
			tagColumnOperation: &tagColumnOperationProperty{
				columnName: jsii.String("columnName"),
				tags: []columnTagProperty{
					&columnTagProperty{
						columnDescription: &columnDescriptionProperty{
							text: jsii.String("text"),
						},
						columnGeographicRole: jsii.String("columnGeographicRole"),
					},
				},
			},
		},
	},
}

type CfnDataSet_LogicalTableSourceProperty

type CfnDataSet_LogicalTableSourceProperty struct {
	// Specifies the result of a join of two logical tables.
	JoinInstruction interface{} `field:"optional" json:"joinInstruction" yaml:"joinInstruction"`
	// Physical table ID.
	PhysicalTableId *string `field:"optional" json:"physicalTableId" yaml:"physicalTableId"`
}

Information about the source of a logical table.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

logicalTableSourceProperty := &logicalTableSourceProperty{
	joinInstruction: &joinInstructionProperty{
		leftOperand: jsii.String("leftOperand"),
		onClause: jsii.String("onClause"),
		rightOperand: jsii.String("rightOperand"),
		type: jsii.String("type"),

		// the properties below are optional
		leftJoinKeyProperties: &joinKeyPropertiesProperty{
			uniqueKey: jsii.Boolean(false),
		},
		rightJoinKeyProperties: &joinKeyPropertiesProperty{
			uniqueKey: jsii.Boolean(false),
		},
	},
	physicalTableId: jsii.String("physicalTableId"),
}

type CfnDataSet_OutputColumnProperty

type CfnDataSet_OutputColumnProperty struct {
	// A description for a column.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A display name for the dataset.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Type.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Output column.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

outputColumnProperty := &outputColumnProperty{
	description: jsii.String("description"),
	name: jsii.String("name"),
	type: jsii.String("type"),
}

type CfnDataSet_PhysicalTableProperty

type CfnDataSet_PhysicalTableProperty struct {
	// A physical table type built from the results of the custom SQL query.
	CustomSql interface{} `field:"optional" json:"customSql" yaml:"customSql"`
	// A physical table type for relational data sources.
	RelationalTable interface{} `field:"optional" json:"relationalTable" yaml:"relationalTable"`
	// A physical table type for as S3 data source.
	S3Source interface{} `field:"optional" json:"s3Source" yaml:"s3Source"`
}

A view of a data source that contains information about the shape of the data in the underlying source.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

physicalTableProperty := &physicalTableProperty{
	customSql: &customSqlProperty{
		columns: []interface{}{
			&inputColumnProperty{
				name: jsii.String("name"),
				type: jsii.String("type"),
			},
		},
		dataSourceArn: jsii.String("dataSourceArn"),
		name: jsii.String("name"),
		sqlQuery: jsii.String("sqlQuery"),
	},
	relationalTable: &relationalTableProperty{
		dataSourceArn: jsii.String("dataSourceArn"),
		inputColumns: []interface{}{
			&inputColumnProperty{
				name: jsii.String("name"),
				type: jsii.String("type"),
			},
		},
		name: jsii.String("name"),

		// the properties below are optional
		catalog: jsii.String("catalog"),
		schema: jsii.String("schema"),
	},
	s3Source: &s3SourceProperty{
		dataSourceArn: jsii.String("dataSourceArn"),
		inputColumns: []interface{}{
			&inputColumnProperty{
				name: jsii.String("name"),
				type: jsii.String("type"),
			},
		},

		// the properties below are optional
		uploadSettings: &uploadSettingsProperty{
			containsHeader: jsii.Boolean(false),
			delimiter: jsii.String("delimiter"),
			format: jsii.String("format"),
			startFromRow: jsii.Number(123),
			textQualifier: jsii.String("textQualifier"),
		},
	},
}

type CfnDataSet_ProjectOperationProperty

type CfnDataSet_ProjectOperationProperty struct {
	// Projected columns.
	ProjectedColumns *[]*string `field:"required" json:"projectedColumns" yaml:"projectedColumns"`
}

A transform operation that projects columns.

Operations that come after a projection can only refer to projected columns.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

projectOperationProperty := &projectOperationProperty{
	projectedColumns: []*string{
		jsii.String("projectedColumns"),
	},
}

type CfnDataSet_RelationalTableProperty

type CfnDataSet_RelationalTableProperty struct {
	// The Amazon Resource Name (ARN) for the data source.
	DataSourceArn *string `field:"required" json:"dataSourceArn" yaml:"dataSourceArn"`
	// The column schema of the table.
	InputColumns interface{} `field:"required" json:"inputColumns" yaml:"inputColumns"`
	// The name of the relational table.
	Name *string `field:"required" json:"name" yaml:"name"`
	// `CfnDataSet.RelationalTableProperty.Catalog`.
	Catalog *string `field:"optional" json:"catalog" yaml:"catalog"`
	// The schema name.
	//
	// This name applies to certain relational database engines.
	Schema *string `field:"optional" json:"schema" yaml:"schema"`
}

A physical table type for relational data sources.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

relationalTableProperty := &relationalTableProperty{
	dataSourceArn: jsii.String("dataSourceArn"),
	inputColumns: []interface{}{
		&inputColumnProperty{
			name: jsii.String("name"),
			type: jsii.String("type"),
		},
	},
	name: jsii.String("name"),

	// the properties below are optional
	catalog: jsii.String("catalog"),
	schema: jsii.String("schema"),
}

type CfnDataSet_RenameColumnOperationProperty

type CfnDataSet_RenameColumnOperationProperty struct {
	// The name of the column to be renamed.
	ColumnName *string `field:"required" json:"columnName" yaml:"columnName"`
	// The new name for the column.
	NewColumnName *string `field:"required" json:"newColumnName" yaml:"newColumnName"`
}

A transform operation that renames a column.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

renameColumnOperationProperty := &renameColumnOperationProperty{
	columnName: jsii.String("columnName"),
	newColumnName: jsii.String("newColumnName"),
}

type CfnDataSet_ResourcePermissionProperty

type CfnDataSet_ResourcePermissionProperty struct {
	// The IAM action to grand or revoke permisions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnDataSet_RowLevelPermissionDataSetProperty

type CfnDataSet_RowLevelPermissionDataSetProperty struct {
	// The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// The type of permissions to use when interpreting the permissions for RLS.
	//
	// `DENY_ACCESS` is included for backward compatibility only.
	PermissionPolicy *string `field:"required" json:"permissionPolicy" yaml:"permissionPolicy"`
	// The user or group rules associated with the dataset that contains permissions for RLS.
	//
	// By default, `FormatVersion` is `VERSION_1` . When `FormatVersion` is `VERSION_1` , `UserName` and `GroupName` are required. When `FormatVersion` is `VERSION_2` , `UserARN` and `GroupARN` are required, and `Namespace` must not exist.
	FormatVersion *string `field:"optional" json:"formatVersion" yaml:"formatVersion"`
	// The namespace associated with the dataset that contains permissions for RLS.
	Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
}

Information about a dataset that contains permissions for row-level security (RLS).

The permissions dataset maps fields to users or groups. For more information, see [Using Row-Level Security (RLS) to Restrict Access to a Dataset](https://docs.aws.amazon.com/quicksight/latest/user/restrict-access-to-a-data-set-using-row-level-security.html) in the *Amazon QuickSight User Guide* .

The option to deny permissions by setting `PermissionPolicy` to `DENY_ACCESS` is not supported for new RLS datasets.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

rowLevelPermissionDataSetProperty := &rowLevelPermissionDataSetProperty{
	arn: jsii.String("arn"),
	permissionPolicy: jsii.String("permissionPolicy"),

	// the properties below are optional
	formatVersion: jsii.String("formatVersion"),
	namespace: jsii.String("namespace"),
}

type CfnDataSet_S3SourceProperty

type CfnDataSet_S3SourceProperty struct {
	// The Amazon Resource Name (ARN) for the data source.
	DataSourceArn *string `field:"required" json:"dataSourceArn" yaml:"dataSourceArn"`
	// A physical table type for an S3 data source.
	//
	// > For files that aren't JSON, only `STRING` data types are supported in input columns.
	InputColumns interface{} `field:"required" json:"inputColumns" yaml:"inputColumns"`
	// Information about the format for the S3 source file or files.
	UploadSettings interface{} `field:"optional" json:"uploadSettings" yaml:"uploadSettings"`
}

A physical table type for an S3 data source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3SourceProperty := &s3SourceProperty{
	dataSourceArn: jsii.String("dataSourceArn"),
	inputColumns: []interface{}{
		&inputColumnProperty{
			name: jsii.String("name"),
			type: jsii.String("type"),
		},
	},

	// the properties below are optional
	uploadSettings: &uploadSettingsProperty{
		containsHeader: jsii.Boolean(false),
		delimiter: jsii.String("delimiter"),
		format: jsii.String("format"),
		startFromRow: jsii.Number(123),
		textQualifier: jsii.String("textQualifier"),
	},
}

type CfnDataSet_TagColumnOperationProperty

type CfnDataSet_TagColumnOperationProperty struct {
	// The column that this operation acts on.
	ColumnName *string `field:"required" json:"columnName" yaml:"columnName"`
	// The dataset column tag, currently only used for geospatial type tagging.
	//
	// > This is not tags for the AWS tagging feature.
	Tags *[]*CfnDataSet_ColumnTagProperty `field:"required" json:"tags" yaml:"tags"`
}

A transform operation that tags a column with additional information.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

tagColumnOperationProperty := &tagColumnOperationProperty{
	columnName: jsii.String("columnName"),
	tags: []columnTagProperty{
		&columnTagProperty{
			columnDescription: &columnDescriptionProperty{
				text: jsii.String("text"),
			},
			columnGeographicRole: jsii.String("columnGeographicRole"),
		},
	},
}

type CfnDataSet_TransformOperationProperty

type CfnDataSet_TransformOperationProperty struct {
	// A transform operation that casts a column to a different type.
	CastColumnTypeOperation interface{} `field:"optional" json:"castColumnTypeOperation" yaml:"castColumnTypeOperation"`
	// An operation that creates calculated columns.
	//
	// Columns created in one such operation form a lexical closure.
	CreateColumnsOperation interface{} `field:"optional" json:"createColumnsOperation" yaml:"createColumnsOperation"`
	// An operation that filters rows based on some condition.
	FilterOperation interface{} `field:"optional" json:"filterOperation" yaml:"filterOperation"`
	// An operation that projects columns.
	//
	// Operations that come after a projection can only refer to projected columns.
	ProjectOperation interface{} `field:"optional" json:"projectOperation" yaml:"projectOperation"`
	// An operation that renames a column.
	RenameColumnOperation interface{} `field:"optional" json:"renameColumnOperation" yaml:"renameColumnOperation"`
	// An operation that tags a column with additional information.
	TagColumnOperation interface{} `field:"optional" json:"tagColumnOperation" yaml:"tagColumnOperation"`
}

A data transformation on a logical table.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

transformOperationProperty := &transformOperationProperty{
	castColumnTypeOperation: &castColumnTypeOperationProperty{
		columnName: jsii.String("columnName"),
		newColumnType: jsii.String("newColumnType"),

		// the properties below are optional
		format: jsii.String("format"),
	},
	createColumnsOperation: &createColumnsOperationProperty{
		columns: []interface{}{
			&calculatedColumnProperty{
				columnId: jsii.String("columnId"),
				columnName: jsii.String("columnName"),
				expression: jsii.String("expression"),
			},
		},
	},
	filterOperation: &filterOperationProperty{
		conditionExpression: jsii.String("conditionExpression"),
	},
	projectOperation: &projectOperationProperty{
		projectedColumns: []*string{
			jsii.String("projectedColumns"),
		},
	},
	renameColumnOperation: &renameColumnOperationProperty{
		columnName: jsii.String("columnName"),
		newColumnName: jsii.String("newColumnName"),
	},
	tagColumnOperation: &tagColumnOperationProperty{
		columnName: jsii.String("columnName"),
		tags: []columnTagProperty{
			&columnTagProperty{
				columnDescription: &columnDescriptionProperty{
					text: jsii.String("text"),
				},
				columnGeographicRole: jsii.String("columnGeographicRole"),
			},
		},
	},
}

type CfnDataSet_UploadSettingsProperty

type CfnDataSet_UploadSettingsProperty struct {
	// Whether the file has a header row, or the files each have a header row.
	ContainsHeader interface{} `field:"optional" json:"containsHeader" yaml:"containsHeader"`
	// The delimiter between values in the file.
	Delimiter *string `field:"optional" json:"delimiter" yaml:"delimiter"`
	// File format.
	Format *string `field:"optional" json:"format" yaml:"format"`
	// A row number to start reading data from.
	StartFromRow *float64 `field:"optional" json:"startFromRow" yaml:"startFromRow"`
	// Text qualifier.
	TextQualifier *string `field:"optional" json:"textQualifier" yaml:"textQualifier"`
}

Information about the format for a source file or files.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

uploadSettingsProperty := &uploadSettingsProperty{
	containsHeader: jsii.Boolean(false),
	delimiter: jsii.String("delimiter"),
	format: jsii.String("format"),
	startFromRow: jsii.Number(123),
	textQualifier: jsii.String("textQualifier"),
}

type CfnDataSource

type CfnDataSource interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// A set of alternate data source parameters that you want to share for the credentials stored with this data source.
	//
	// The credentials are applied in tandem with the data source parameters when you copy a data source by using a create or update request. The API operation compares the `DataSourceParameters` structure that's in the request with the structures in the `AlternateDataSourceParameters` allow list. If the structures are an exact match, the request is allowed to use the credentials from this existing data source. If the `AlternateDataSourceParameters` list is null, the `Credentials` originally used with this `DataSourceParameters` are automatically allowed.
	AlternateDataSourceParameters() interface{}
	SetAlternateDataSourceParameters(val interface{})
	// The Amazon Resource Name (ARN) of the dataset.
	AttrArn() *string
	// The time that this data source was created.
	AttrCreatedTime() *string
	// The last time that this data source was updated.
	AttrLastUpdatedTime() *string
	// The HTTP status of the request.
	AttrStatus() *string
	// The AWS account ID.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The credentials Amazon QuickSight that uses to connect to your underlying source.
	//
	// Currently, only credentials based on user name and password are supported.
	Credentials() interface{}
	SetCredentials(val interface{})
	// An ID for the data source.
	//
	// This ID is unique per AWS Region for each AWS account.
	DataSourceId() *string
	SetDataSourceId(val *string)
	// The parameters that Amazon QuickSight uses to connect to your underlying source.
	DataSourceParameters() interface{}
	SetDataSourceParameters(val interface{})
	// Error information from the last update or the creation of the data source.
	ErrorInfo() interface{}
	SetErrorInfo(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A display name for the data source.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// A list of resource permissions on the data source.
	Permissions() interface{}
	SetPermissions(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying source.
	SslProperties() interface{}
	SetSslProperties(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.
	Tags() awscdk.TagManager
	// The type of the data source. To return a list of all data sources, use `ListDataSources` .
	//
	// Use `AMAZON_ELASTICSEARCH` for Amazon OpenSearch Service.
	Type() *string
	SetType(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to your underlying source.
	VpcConnectionProperties() interface{}
	SetVpcConnectionProperties(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::DataSource`.

Creates a data source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDataSource := awscdk.Aws_quicksight.NewCfnDataSource(this, jsii.String("MyCfnDataSource"), &cfnDataSourceProps{
	alternateDataSourceParameters: []interface{}{
		&dataSourceParametersProperty{
			amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
				domain: jsii.String("domain"),
			},
			amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
				domain: jsii.String("domain"),
			},
			athenaParameters: &athenaParametersProperty{
				workGroup: jsii.String("workGroup"),
			},
			auroraParameters: &auroraParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mariaDbParameters: &mariaDbParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mySqlParameters: &mySqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			oracleParameters: &oracleParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			postgreSqlParameters: &postgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			prestoParameters: &prestoParametersProperty{
				catalog: jsii.String("catalog"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			rdsParameters: &rdsParametersProperty{
				database: jsii.String("database"),
				instanceId: jsii.String("instanceId"),
			},
			redshiftParameters: &redshiftParametersProperty{
				database: jsii.String("database"),

				// the properties below are optional
				clusterId: jsii.String("clusterId"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			s3Parameters: &s3ParametersProperty{
				manifestFileLocation: &manifestFileLocationProperty{
					bucket: jsii.String("bucket"),
					key: jsii.String("key"),
				},
			},
			snowflakeParameters: &snowflakeParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				warehouse: jsii.String("warehouse"),
			},
			sparkParameters: &sparkParametersProperty{
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			sqlServerParameters: &sqlServerParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			teradataParameters: &teradataParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
		},
	},
	awsAccountId: jsii.String("awsAccountId"),
	credentials: &dataSourceCredentialsProperty{
		copySourceArn: jsii.String("copySourceArn"),
		credentialPair: &credentialPairProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),

			// the properties below are optional
			alternateDataSourceParameters: []interface{}{
				&dataSourceParametersProperty{
					amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
						domain: jsii.String("domain"),
					},
					amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
						domain: jsii.String("domain"),
					},
					athenaParameters: &athenaParametersProperty{
						workGroup: jsii.String("workGroup"),
					},
					auroraParameters: &auroraParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					mariaDbParameters: &mariaDbParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					mySqlParameters: &mySqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					oracleParameters: &oracleParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					postgreSqlParameters: &postgreSqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					prestoParameters: &prestoParametersProperty{
						catalog: jsii.String("catalog"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					rdsParameters: &rdsParametersProperty{
						database: jsii.String("database"),
						instanceId: jsii.String("instanceId"),
					},
					redshiftParameters: &redshiftParametersProperty{
						database: jsii.String("database"),

						// the properties below are optional
						clusterId: jsii.String("clusterId"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					s3Parameters: &s3ParametersProperty{
						manifestFileLocation: &manifestFileLocationProperty{
							bucket: jsii.String("bucket"),
							key: jsii.String("key"),
						},
					},
					snowflakeParameters: &snowflakeParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						warehouse: jsii.String("warehouse"),
					},
					sparkParameters: &sparkParametersProperty{
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					sqlServerParameters: &sqlServerParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					teradataParameters: &teradataParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
				},
			},
		},
	},
	dataSourceId: jsii.String("dataSourceId"),
	dataSourceParameters: &dataSourceParametersProperty{
		amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
			domain: jsii.String("domain"),
		},
		amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
			domain: jsii.String("domain"),
		},
		athenaParameters: &athenaParametersProperty{
			workGroup: jsii.String("workGroup"),
		},
		auroraParameters: &auroraParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		mariaDbParameters: &mariaDbParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		mySqlParameters: &mySqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		oracleParameters: &oracleParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		postgreSqlParameters: &postgreSqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		prestoParameters: &prestoParametersProperty{
			catalog: jsii.String("catalog"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		rdsParameters: &rdsParametersProperty{
			database: jsii.String("database"),
			instanceId: jsii.String("instanceId"),
		},
		redshiftParameters: &redshiftParametersProperty{
			database: jsii.String("database"),

			// the properties below are optional
			clusterId: jsii.String("clusterId"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		s3Parameters: &s3ParametersProperty{
			manifestFileLocation: &manifestFileLocationProperty{
				bucket: jsii.String("bucket"),
				key: jsii.String("key"),
			},
		},
		snowflakeParameters: &snowflakeParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			warehouse: jsii.String("warehouse"),
		},
		sparkParameters: &sparkParametersProperty{
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		sqlServerParameters: &sqlServerParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		teradataParameters: &teradataParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
	},
	errorInfo: &dataSourceErrorInfoProperty{
		message: jsii.String("message"),
		type: jsii.String("type"),
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	sslProperties: &sslPropertiesProperty{
		disableSsl: jsii.Boolean(false),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	type: jsii.String("type"),
	vpcConnectionProperties: &vpcConnectionPropertiesProperty{
		vpcConnectionArn: jsii.String("vpcConnectionArn"),
	},
})

func NewCfnDataSource

func NewCfnDataSource(scope constructs.Construct, id *string, props *CfnDataSourceProps) CfnDataSource

Create a new `AWS::QuickSight::DataSource`.

type CfnDataSourceProps

type CfnDataSourceProps struct {
	// A set of alternate data source parameters that you want to share for the credentials stored with this data source.
	//
	// The credentials are applied in tandem with the data source parameters when you copy a data source by using a create or update request. The API operation compares the `DataSourceParameters` structure that's in the request with the structures in the `AlternateDataSourceParameters` allow list. If the structures are an exact match, the request is allowed to use the credentials from this existing data source. If the `AlternateDataSourceParameters` list is null, the `Credentials` originally used with this `DataSourceParameters` are automatically allowed.
	AlternateDataSourceParameters interface{} `field:"optional" json:"alternateDataSourceParameters" yaml:"alternateDataSourceParameters"`
	// The AWS account ID.
	AwsAccountId *string `field:"optional" json:"awsAccountId" yaml:"awsAccountId"`
	// The credentials Amazon QuickSight that uses to connect to your underlying source.
	//
	// Currently, only credentials based on user name and password are supported.
	Credentials interface{} `field:"optional" json:"credentials" yaml:"credentials"`
	// An ID for the data source.
	//
	// This ID is unique per AWS Region for each AWS account.
	DataSourceId *string `field:"optional" json:"dataSourceId" yaml:"dataSourceId"`
	// The parameters that Amazon QuickSight uses to connect to your underlying source.
	DataSourceParameters interface{} `field:"optional" json:"dataSourceParameters" yaml:"dataSourceParameters"`
	// Error information from the last update or the creation of the data source.
	ErrorInfo interface{} `field:"optional" json:"errorInfo" yaml:"errorInfo"`
	// A display name for the data source.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A list of resource permissions on the data source.
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying source.
	SslProperties interface{} `field:"optional" json:"sslProperties" yaml:"sslProperties"`
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The type of the data source. To return a list of all data sources, use `ListDataSources` .
	//
	// Use `AMAZON_ELASTICSEARCH` for Amazon OpenSearch Service.
	Type *string `field:"optional" json:"type" yaml:"type"`
	// Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to your underlying source.
	VpcConnectionProperties interface{} `field:"optional" json:"vpcConnectionProperties" yaml:"vpcConnectionProperties"`
}

Properties for defining a `CfnDataSource`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnDataSourceProps := &cfnDataSourceProps{
	alternateDataSourceParameters: []interface{}{
		&dataSourceParametersProperty{
			amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
				domain: jsii.String("domain"),
			},
			amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
				domain: jsii.String("domain"),
			},
			athenaParameters: &athenaParametersProperty{
				workGroup: jsii.String("workGroup"),
			},
			auroraParameters: &auroraParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mariaDbParameters: &mariaDbParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mySqlParameters: &mySqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			oracleParameters: &oracleParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			postgreSqlParameters: &postgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			prestoParameters: &prestoParametersProperty{
				catalog: jsii.String("catalog"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			rdsParameters: &rdsParametersProperty{
				database: jsii.String("database"),
				instanceId: jsii.String("instanceId"),
			},
			redshiftParameters: &redshiftParametersProperty{
				database: jsii.String("database"),

				// the properties below are optional
				clusterId: jsii.String("clusterId"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			s3Parameters: &s3ParametersProperty{
				manifestFileLocation: &manifestFileLocationProperty{
					bucket: jsii.String("bucket"),
					key: jsii.String("key"),
				},
			},
			snowflakeParameters: &snowflakeParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				warehouse: jsii.String("warehouse"),
			},
			sparkParameters: &sparkParametersProperty{
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			sqlServerParameters: &sqlServerParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			teradataParameters: &teradataParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
		},
	},
	awsAccountId: jsii.String("awsAccountId"),
	credentials: &dataSourceCredentialsProperty{
		copySourceArn: jsii.String("copySourceArn"),
		credentialPair: &credentialPairProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),

			// the properties below are optional
			alternateDataSourceParameters: []interface{}{
				&dataSourceParametersProperty{
					amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
						domain: jsii.String("domain"),
					},
					amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
						domain: jsii.String("domain"),
					},
					athenaParameters: &athenaParametersProperty{
						workGroup: jsii.String("workGroup"),
					},
					auroraParameters: &auroraParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					mariaDbParameters: &mariaDbParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					mySqlParameters: &mySqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					oracleParameters: &oracleParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					postgreSqlParameters: &postgreSqlParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					prestoParameters: &prestoParametersProperty{
						catalog: jsii.String("catalog"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					rdsParameters: &rdsParametersProperty{
						database: jsii.String("database"),
						instanceId: jsii.String("instanceId"),
					},
					redshiftParameters: &redshiftParametersProperty{
						database: jsii.String("database"),

						// the properties below are optional
						clusterId: jsii.String("clusterId"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					s3Parameters: &s3ParametersProperty{
						manifestFileLocation: &manifestFileLocationProperty{
							bucket: jsii.String("bucket"),
							key: jsii.String("key"),
						},
					},
					snowflakeParameters: &snowflakeParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						warehouse: jsii.String("warehouse"),
					},
					sparkParameters: &sparkParametersProperty{
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					sqlServerParameters: &sqlServerParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
					teradataParameters: &teradataParametersProperty{
						database: jsii.String("database"),
						host: jsii.String("host"),
						port: jsii.Number(123),
					},
				},
			},
		},
	},
	dataSourceId: jsii.String("dataSourceId"),
	dataSourceParameters: &dataSourceParametersProperty{
		amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
			domain: jsii.String("domain"),
		},
		amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
			domain: jsii.String("domain"),
		},
		athenaParameters: &athenaParametersProperty{
			workGroup: jsii.String("workGroup"),
		},
		auroraParameters: &auroraParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		mariaDbParameters: &mariaDbParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		mySqlParameters: &mySqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		oracleParameters: &oracleParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		postgreSqlParameters: &postgreSqlParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		prestoParameters: &prestoParametersProperty{
			catalog: jsii.String("catalog"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		rdsParameters: &rdsParametersProperty{
			database: jsii.String("database"),
			instanceId: jsii.String("instanceId"),
		},
		redshiftParameters: &redshiftParametersProperty{
			database: jsii.String("database"),

			// the properties below are optional
			clusterId: jsii.String("clusterId"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		s3Parameters: &s3ParametersProperty{
			manifestFileLocation: &manifestFileLocationProperty{
				bucket: jsii.String("bucket"),
				key: jsii.String("key"),
			},
		},
		snowflakeParameters: &snowflakeParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			warehouse: jsii.String("warehouse"),
		},
		sparkParameters: &sparkParametersProperty{
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		sqlServerParameters: &sqlServerParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
		teradataParameters: &teradataParametersProperty{
			database: jsii.String("database"),
			host: jsii.String("host"),
			port: jsii.Number(123),
		},
	},
	errorInfo: &dataSourceErrorInfoProperty{
		message: jsii.String("message"),
		type: jsii.String("type"),
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	sslProperties: &sslPropertiesProperty{
		disableSsl: jsii.Boolean(false),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	type: jsii.String("type"),
	vpcConnectionProperties: &vpcConnectionPropertiesProperty{
		vpcConnectionArn: jsii.String("vpcConnectionArn"),
	},
}

type CfnDataSource_AmazonElasticsearchParametersProperty

type CfnDataSource_AmazonElasticsearchParametersProperty struct {
	// The OpenSearch domain.
	Domain *string `field:"required" json:"domain" yaml:"domain"`
}

The parameters for OpenSearch.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

amazonElasticsearchParametersProperty := &amazonElasticsearchParametersProperty{
	domain: jsii.String("domain"),
}

type CfnDataSource_AmazonOpenSearchParametersProperty

type CfnDataSource_AmazonOpenSearchParametersProperty struct {
	// The OpenSearch domain.
	Domain *string `field:"required" json:"domain" yaml:"domain"`
}

The parameters for OpenSearch.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

amazonOpenSearchParametersProperty := &amazonOpenSearchParametersProperty{
	domain: jsii.String("domain"),
}

type CfnDataSource_AthenaParametersProperty

type CfnDataSource_AthenaParametersProperty struct {
	// The workgroup that Amazon Athena uses.
	WorkGroup *string `field:"optional" json:"workGroup" yaml:"workGroup"`
}

Parameters for Amazon Athena.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

athenaParametersProperty := &athenaParametersProperty{
	workGroup: jsii.String("workGroup"),
}

type CfnDataSource_AuroraParametersProperty

type CfnDataSource_AuroraParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

Parameters for Amazon Aurora.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

auroraParametersProperty := &auroraParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_AuroraPostgreSqlParametersProperty

type CfnDataSource_AuroraPostgreSqlParametersProperty struct {
	// The Amazon Aurora PostgreSQL database to connect to.
	Database *string `field:"required" json:"database" yaml:"database"`
	// The Amazon Aurora PostgreSQL-Compatible host to connect to.
	Host *string `field:"required" json:"host" yaml:"host"`
	// The port that Amazon Aurora PostgreSQL is listening on.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

auroraPostgreSqlParametersProperty := &auroraPostgreSqlParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_CredentialPairProperty

type CfnDataSource_CredentialPairProperty struct {
	// Password.
	Password *string `field:"required" json:"password" yaml:"password"`
	// User name.
	Username *string `field:"required" json:"username" yaml:"username"`
	// A set of alternate data source parameters that you want to share for these credentials.
	//
	// The credentials are applied in tandem with the data source parameters when you copy a data source by using a create or update request. The API operation compares the `DataSourceParameters` structure that's in the request with the structures in the `AlternateDataSourceParameters` allow list. If the structures are an exact match, the request is allowed to use the new data source with the existing credentials. If the `AlternateDataSourceParameters` list is null, the `DataSourceParameters` originally used with these `Credentials` is automatically allowed.
	AlternateDataSourceParameters interface{} `field:"optional" json:"alternateDataSourceParameters" yaml:"alternateDataSourceParameters"`
}

The combination of user name and password that are used as credentials.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

credentialPairProperty := &credentialPairProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),

	// the properties below are optional
	alternateDataSourceParameters: []interface{}{
		&dataSourceParametersProperty{
			amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
				domain: jsii.String("domain"),
			},
			amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
				domain: jsii.String("domain"),
			},
			athenaParameters: &athenaParametersProperty{
				workGroup: jsii.String("workGroup"),
			},
			auroraParameters: &auroraParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mariaDbParameters: &mariaDbParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			mySqlParameters: &mySqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			oracleParameters: &oracleParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			postgreSqlParameters: &postgreSqlParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			prestoParameters: &prestoParametersProperty{
				catalog: jsii.String("catalog"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			rdsParameters: &rdsParametersProperty{
				database: jsii.String("database"),
				instanceId: jsii.String("instanceId"),
			},
			redshiftParameters: &redshiftParametersProperty{
				database: jsii.String("database"),

				// the properties below are optional
				clusterId: jsii.String("clusterId"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			s3Parameters: &s3ParametersProperty{
				manifestFileLocation: &manifestFileLocationProperty{
					bucket: jsii.String("bucket"),
					key: jsii.String("key"),
				},
			},
			snowflakeParameters: &snowflakeParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				warehouse: jsii.String("warehouse"),
			},
			sparkParameters: &sparkParametersProperty{
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			sqlServerParameters: &sqlServerParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
			teradataParameters: &teradataParametersProperty{
				database: jsii.String("database"),
				host: jsii.String("host"),
				port: jsii.Number(123),
			},
		},
	},
}

type CfnDataSource_DataSourceCredentialsProperty

type CfnDataSource_DataSourceCredentialsProperty struct {
	// The Amazon Resource Name (ARN) of a data source that has the credential pair that you want to use.
	//
	// When `CopySourceArn` is not null, the credential pair from the data source in the ARN is used as the credentials for the `DataSourceCredentials` structure.
	CopySourceArn *string `field:"optional" json:"copySourceArn" yaml:"copySourceArn"`
	// Credential pair.
	//
	// For more information, see `[CredentialPair](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CredentialPair.html)` .
	CredentialPair interface{} `field:"optional" json:"credentialPair" yaml:"credentialPair"`
}

Data source credentials.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSourceCredentialsProperty := &dataSourceCredentialsProperty{
	copySourceArn: jsii.String("copySourceArn"),
	credentialPair: &credentialPairProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),

		// the properties below are optional
		alternateDataSourceParameters: []interface{}{
			&dataSourceParametersProperty{
				amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
					domain: jsii.String("domain"),
				},
				amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
					domain: jsii.String("domain"),
				},
				athenaParameters: &athenaParametersProperty{
					workGroup: jsii.String("workGroup"),
				},
				auroraParameters: &auroraParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				mariaDbParameters: &mariaDbParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				mySqlParameters: &mySqlParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				oracleParameters: &oracleParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				postgreSqlParameters: &postgreSqlParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				prestoParameters: &prestoParametersProperty{
					catalog: jsii.String("catalog"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				rdsParameters: &rdsParametersProperty{
					database: jsii.String("database"),
					instanceId: jsii.String("instanceId"),
				},
				redshiftParameters: &redshiftParametersProperty{
					database: jsii.String("database"),

					// the properties below are optional
					clusterId: jsii.String("clusterId"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				s3Parameters: &s3ParametersProperty{
					manifestFileLocation: &manifestFileLocationProperty{
						bucket: jsii.String("bucket"),
						key: jsii.String("key"),
					},
				},
				snowflakeParameters: &snowflakeParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					warehouse: jsii.String("warehouse"),
				},
				sparkParameters: &sparkParametersProperty{
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				sqlServerParameters: &sqlServerParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
				teradataParameters: &teradataParametersProperty{
					database: jsii.String("database"),
					host: jsii.String("host"),
					port: jsii.Number(123),
				},
			},
		},
	},
}

type CfnDataSource_DataSourceErrorInfoProperty

type CfnDataSource_DataSourceErrorInfoProperty struct {
	// Error message.
	Message *string `field:"optional" json:"message" yaml:"message"`
	// Error type.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Error information for the data source creation or update.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSourceErrorInfoProperty := &dataSourceErrorInfoProperty{
	message: jsii.String("message"),
	type: jsii.String("type"),
}

type CfnDataSource_DataSourceParametersProperty

type CfnDataSource_DataSourceParametersProperty struct {
	// The parameters for OpenSearch.
	AmazonElasticsearchParameters interface{} `field:"optional" json:"amazonElasticsearchParameters" yaml:"amazonElasticsearchParameters"`
	// The parameters for OpenSearch.
	AmazonOpenSearchParameters interface{} `field:"optional" json:"amazonOpenSearchParameters" yaml:"amazonOpenSearchParameters"`
	// The parameters for Amazon Athena.
	AthenaParameters interface{} `field:"optional" json:"athenaParameters" yaml:"athenaParameters"`
	// The parameters for Amazon Aurora MySQL.
	AuroraParameters interface{} `field:"optional" json:"auroraParameters" yaml:"auroraParameters"`
	// The parameters for Amazon Aurora.
	AuroraPostgreSqlParameters interface{} `field:"optional" json:"auroraPostgreSqlParameters" yaml:"auroraPostgreSqlParameters"`
	// The parameters for MariaDB.
	MariaDbParameters interface{} `field:"optional" json:"mariaDbParameters" yaml:"mariaDbParameters"`
	// The parameters for MySQL.
	MySqlParameters interface{} `field:"optional" json:"mySqlParameters" yaml:"mySqlParameters"`
	// Oracle parameters.
	OracleParameters interface{} `field:"optional" json:"oracleParameters" yaml:"oracleParameters"`
	// The parameters for PostgreSQL.
	PostgreSqlParameters interface{} `field:"optional" json:"postgreSqlParameters" yaml:"postgreSqlParameters"`
	// The parameters for Presto.
	PrestoParameters interface{} `field:"optional" json:"prestoParameters" yaml:"prestoParameters"`
	// The parameters for Amazon RDS.
	RdsParameters interface{} `field:"optional" json:"rdsParameters" yaml:"rdsParameters"`
	// The parameters for Amazon Redshift.
	RedshiftParameters interface{} `field:"optional" json:"redshiftParameters" yaml:"redshiftParameters"`
	// The parameters for S3.
	S3Parameters interface{} `field:"optional" json:"s3Parameters" yaml:"s3Parameters"`
	// The parameters for Snowflake.
	SnowflakeParameters interface{} `field:"optional" json:"snowflakeParameters" yaml:"snowflakeParameters"`
	// The parameters for Spark.
	SparkParameters interface{} `field:"optional" json:"sparkParameters" yaml:"sparkParameters"`
	// The parameters for SQL Server.
	SqlServerParameters interface{} `field:"optional" json:"sqlServerParameters" yaml:"sqlServerParameters"`
	// The parameters for Teradata.
	TeradataParameters interface{} `field:"optional" json:"teradataParameters" yaml:"teradataParameters"`
}

The parameters that Amazon QuickSight uses to connect to your underlying data source.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSourceParametersProperty := &dataSourceParametersProperty{
	amazonElasticsearchParameters: &amazonElasticsearchParametersProperty{
		domain: jsii.String("domain"),
	},
	amazonOpenSearchParameters: &amazonOpenSearchParametersProperty{
		domain: jsii.String("domain"),
	},
	athenaParameters: &athenaParametersProperty{
		workGroup: jsii.String("workGroup"),
	},
	auroraParameters: &auroraParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	auroraPostgreSqlParameters: &auroraPostgreSqlParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	mariaDbParameters: &mariaDbParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	mySqlParameters: &mySqlParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	oracleParameters: &oracleParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	postgreSqlParameters: &postgreSqlParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	prestoParameters: &prestoParametersProperty{
		catalog: jsii.String("catalog"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	rdsParameters: &rdsParametersProperty{
		database: jsii.String("database"),
		instanceId: jsii.String("instanceId"),
	},
	redshiftParameters: &redshiftParametersProperty{
		database: jsii.String("database"),

		// the properties below are optional
		clusterId: jsii.String("clusterId"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	s3Parameters: &s3ParametersProperty{
		manifestFileLocation: &manifestFileLocationProperty{
			bucket: jsii.String("bucket"),
			key: jsii.String("key"),
		},
	},
	snowflakeParameters: &snowflakeParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		warehouse: jsii.String("warehouse"),
	},
	sparkParameters: &sparkParametersProperty{
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	sqlServerParameters: &sqlServerParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
	teradataParameters: &teradataParametersProperty{
		database: jsii.String("database"),
		host: jsii.String("host"),
		port: jsii.Number(123),
	},
}

type CfnDataSource_ManifestFileLocationProperty

type CfnDataSource_ManifestFileLocationProperty struct {
	// Amazon S3 bucket.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// Amazon S3 key that identifies an object.
	Key *string `field:"required" json:"key" yaml:"key"`
}

Amazon S3 manifest file location.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

manifestFileLocationProperty := &manifestFileLocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),
}

type CfnDataSource_MariaDbParametersProperty

type CfnDataSource_MariaDbParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for MariaDB.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mariaDbParametersProperty := &mariaDbParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_MySqlParametersProperty

type CfnDataSource_MySqlParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for MySQL.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mySqlParametersProperty := &mySqlParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_OracleParametersProperty

type CfnDataSource_OracleParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

Oracle parameters.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

oracleParametersProperty := &oracleParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_PostgreSqlParametersProperty

type CfnDataSource_PostgreSqlParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for PostgreSQL.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

postgreSqlParametersProperty := &postgreSqlParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_PrestoParametersProperty

type CfnDataSource_PrestoParametersProperty struct {
	// Catalog.
	Catalog *string `field:"required" json:"catalog" yaml:"catalog"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for Presto.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

prestoParametersProperty := &prestoParametersProperty{
	catalog: jsii.String("catalog"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_RdsParametersProperty

type CfnDataSource_RdsParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Instance ID.
	InstanceId *string `field:"required" json:"instanceId" yaml:"instanceId"`
}

The parameters for Amazon RDS.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

rdsParametersProperty := &rdsParametersProperty{
	database: jsii.String("database"),
	instanceId: jsii.String("instanceId"),
}

type CfnDataSource_RedshiftParametersProperty

type CfnDataSource_RedshiftParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Cluster ID.
	//
	// This field can be blank if the `Host` and `Port` are provided.
	ClusterId *string `field:"optional" json:"clusterId" yaml:"clusterId"`
	// Host.
	//
	// This field can be blank if `ClusterId` is provided.
	Host *string `field:"optional" json:"host" yaml:"host"`
	// Port.
	//
	// This field can be blank if the `ClusterId` is provided.
	Port *float64 `field:"optional" json:"port" yaml:"port"`
}

The parameters for Amazon Redshift.

The `ClusterId` field can be blank if `Host` and `Port` are both set. The `Host` and `Port` fields can be blank if the `ClusterId` field is set.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

redshiftParametersProperty := &redshiftParametersProperty{
	database: jsii.String("database"),

	// the properties below are optional
	clusterId: jsii.String("clusterId"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_ResourcePermissionProperty

type CfnDataSource_ResourcePermissionProperty struct {
	// The IAM action to grant or revoke permissions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnDataSource_S3ParametersProperty

type CfnDataSource_S3ParametersProperty struct {
	// Location of the Amazon S3 manifest file.
	//
	// This is NULL if the manifest file was uploaded into Amazon QuickSight.
	ManifestFileLocation interface{} `field:"required" json:"manifestFileLocation" yaml:"manifestFileLocation"`
}

The parameters for S3.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3ParametersProperty := &s3ParametersProperty{
	manifestFileLocation: &manifestFileLocationProperty{
		bucket: jsii.String("bucket"),
		key: jsii.String("key"),
	},
}

type CfnDataSource_SnowflakeParametersProperty

type CfnDataSource_SnowflakeParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Warehouse.
	Warehouse *string `field:"required" json:"warehouse" yaml:"warehouse"`
}

The parameters for Snowflake.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

snowflakeParametersProperty := &snowflakeParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	warehouse: jsii.String("warehouse"),
}

type CfnDataSource_SparkParametersProperty

type CfnDataSource_SparkParametersProperty struct {
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for Spark.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sparkParametersProperty := &sparkParametersProperty{
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_SqlServerParametersProperty

type CfnDataSource_SqlServerParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for SQL Server.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sqlServerParametersProperty := &sqlServerParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_SslPropertiesProperty

type CfnDataSource_SslPropertiesProperty struct {
	// A Boolean option to control whether SSL should be disabled.
	DisableSsl interface{} `field:"optional" json:"disableSsl" yaml:"disableSsl"`
}

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying data source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sslPropertiesProperty := &sslPropertiesProperty{
	disableSsl: jsii.Boolean(false),
}

type CfnDataSource_TeradataParametersProperty

type CfnDataSource_TeradataParametersProperty struct {
	// Database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Host.
	Host *string `field:"required" json:"host" yaml:"host"`
	// Port.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

The parameters for Teradata.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

teradataParametersProperty := &teradataParametersProperty{
	database: jsii.String("database"),
	host: jsii.String("host"),
	port: jsii.Number(123),
}

type CfnDataSource_VpcConnectionPropertiesProperty

type CfnDataSource_VpcConnectionPropertiesProperty struct {
	// The Amazon Resource Name (ARN) for the VPC connection.
	VpcConnectionArn *string `field:"required" json:"vpcConnectionArn" yaml:"vpcConnectionArn"`
}

VPC connection properties.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

vpcConnectionPropertiesProperty := &vpcConnectionPropertiesProperty{
	vpcConnectionArn: jsii.String("vpcConnectionArn"),
}

type CfnTemplate

type CfnTemplate interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the template.
	AttrArn() *string
	// The time this template was created.
	AttrCreatedTime() *string
	// The time this template was last updated.
	AttrLastUpdatedTime() *string
	// The ID for the AWS account that the group is in.
	//
	// You use the ID for the AWS account that contains your Amazon QuickSight account.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A display name for the template.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// A list of resource permissions to be set on the template.
	Permissions() interface{}
	SetPermissions(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The entity that you are using as a source when you create the template.
	//
	// In `SourceEntity` , you specify the type of object you're using as source: `SourceTemplate` for a template or `SourceAnalysis` for an analysis. Both of these require an Amazon Resource Name (ARN). For `SourceTemplate` , specify the ARN of the source template. For `SourceAnalysis` , specify the ARN of the source analysis. The `SourceTemplate` ARN can contain any AWS account and any Amazon QuickSight-supported AWS Region .
	//
	// Use the `DataSetReferences` entity within `SourceTemplate` or `SourceAnalysis` to list the replacement datasets for the placeholders listed in the original. The schema in each dataset must match its placeholder.
	SourceEntity() interface{}
	SetSourceEntity(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.
	Tags() awscdk.TagManager
	// An ID for the template that you want to create.
	//
	// This template is unique per AWS Region ; in each AWS account.
	TemplateId() *string
	SetTemplateId(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// A description of the current template version being created.
	//
	// This API operation creates the first version of the template. Every time `UpdateTemplate` is called, a new version is created. Each version of the template maintains a description of the version in the `VersionDescription` field.
	VersionDescription() *string
	SetVersionDescription(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::Template`.

Creates a template from an existing Amazon QuickSight analysis or template. You can use the resulting template to create a dashboard.

A *template* is an entity in Amazon QuickSight that encapsulates the metadata required to create an analysis and that you can use to create s dashboard. A template adds a layer of abstraction by using placeholders to replace the dataset associated with the analysis. You can use templates to create dashboards by replacing dataset placeholders with datasets that follow the same schema that was used to create the source analysis and template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnTemplate := awscdk.Aws_quicksight.NewCfnTemplate(this, jsii.String("MyCfnTemplate"), &cfnTemplateProps{
	awsAccountId: jsii.String("awsAccountId"),
	sourceEntity: &templateSourceEntityProperty{
		sourceAnalysis: &templateSourceAnalysisProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
		sourceTemplate: &templateSourceTemplateProperty{
			arn: jsii.String("arn"),
		},
	},
	templateId: jsii.String("templateId"),

	// the properties below are optional
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	versionDescription: jsii.String("versionDescription"),
})

func NewCfnTemplate

func NewCfnTemplate(scope constructs.Construct, id *string, props *CfnTemplateProps) CfnTemplate

Create a new `AWS::QuickSight::Template`.

type CfnTemplateProps

type CfnTemplateProps struct {
	// The ID for the AWS account that the group is in.
	//
	// You use the ID for the AWS account that contains your Amazon QuickSight account.
	AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"`
	// The entity that you are using as a source when you create the template.
	//
	// In `SourceEntity` , you specify the type of object you're using as source: `SourceTemplate` for a template or `SourceAnalysis` for an analysis. Both of these require an Amazon Resource Name (ARN). For `SourceTemplate` , specify the ARN of the source template. For `SourceAnalysis` , specify the ARN of the source analysis. The `SourceTemplate` ARN can contain any AWS account and any Amazon QuickSight-supported AWS Region .
	//
	// Use the `DataSetReferences` entity within `SourceTemplate` or `SourceAnalysis` to list the replacement datasets for the placeholders listed in the original. The schema in each dataset must match its placeholder.
	SourceEntity interface{} `field:"required" json:"sourceEntity" yaml:"sourceEntity"`
	// An ID for the template that you want to create.
	//
	// This template is unique per AWS Region ; in each AWS account.
	TemplateId *string `field:"required" json:"templateId" yaml:"templateId"`
	// A display name for the template.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A list of resource permissions to be set on the template.
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// A description of the current template version being created.
	//
	// This API operation creates the first version of the template. Every time `UpdateTemplate` is called, a new version is created. Each version of the template maintains a description of the version in the `VersionDescription` field.
	VersionDescription *string `field:"optional" json:"versionDescription" yaml:"versionDescription"`
}

Properties for defining a `CfnTemplate`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnTemplateProps := &cfnTemplateProps{
	awsAccountId: jsii.String("awsAccountId"),
	sourceEntity: &templateSourceEntityProperty{
		sourceAnalysis: &templateSourceAnalysisProperty{
			arn: jsii.String("arn"),
			dataSetReferences: []interface{}{
				&dataSetReferenceProperty{
					dataSetArn: jsii.String("dataSetArn"),
					dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
				},
			},
		},
		sourceTemplate: &templateSourceTemplateProperty{
			arn: jsii.String("arn"),
		},
	},
	templateId: jsii.String("templateId"),

	// the properties below are optional
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	versionDescription: jsii.String("versionDescription"),
}

type CfnTemplate_DataSetReferenceProperty

type CfnTemplate_DataSetReferenceProperty struct {
	// Dataset Amazon Resource Name (ARN).
	DataSetArn *string `field:"required" json:"dataSetArn" yaml:"dataSetArn"`
	// Dataset placeholder.
	DataSetPlaceholder *string `field:"required" json:"dataSetPlaceholder" yaml:"dataSetPlaceholder"`
}

Dataset reference.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataSetReferenceProperty := &dataSetReferenceProperty{
	dataSetArn: jsii.String("dataSetArn"),
	dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
}

type CfnTemplate_ResourcePermissionProperty

type CfnTemplate_ResourcePermissionProperty struct {
	// The IAM action to grant or revoke permissions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnTemplate_TemplateSourceAnalysisProperty

type CfnTemplate_TemplateSourceAnalysisProperty struct {
	// The Amazon Resource Name (ARN) of the resource.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// A structure containing information about the dataset references used as placeholders in the template.
	DataSetReferences interface{} `field:"required" json:"dataSetReferences" yaml:"dataSetReferences"`
}

The source analysis of the template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

templateSourceAnalysisProperty := &templateSourceAnalysisProperty{
	arn: jsii.String("arn"),
	dataSetReferences: []interface{}{
		&dataSetReferenceProperty{
			dataSetArn: jsii.String("dataSetArn"),
			dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
		},
	},
}

type CfnTemplate_TemplateSourceEntityProperty

type CfnTemplate_TemplateSourceEntityProperty struct {
	// The source analysis, if it is based on an analysis.
	SourceAnalysis interface{} `field:"optional" json:"sourceAnalysis" yaml:"sourceAnalysis"`
	// The source template, if it is based on an template.
	SourceTemplate interface{} `field:"optional" json:"sourceTemplate" yaml:"sourceTemplate"`
}

The source entity of the template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

templateSourceEntityProperty := &templateSourceEntityProperty{
	sourceAnalysis: &templateSourceAnalysisProperty{
		arn: jsii.String("arn"),
		dataSetReferences: []interface{}{
			&dataSetReferenceProperty{
				dataSetArn: jsii.String("dataSetArn"),
				dataSetPlaceholder: jsii.String("dataSetPlaceholder"),
			},
		},
	},
	sourceTemplate: &templateSourceTemplateProperty{
		arn: jsii.String("arn"),
	},
}

type CfnTemplate_TemplateSourceTemplateProperty

type CfnTemplate_TemplateSourceTemplateProperty struct {
	// The Amazon Resource Name (ARN) of the resource.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
}

The source template of the template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

templateSourceTemplateProperty := &templateSourceTemplateProperty{
	arn: jsii.String("arn"),
}

type CfnTheme

type CfnTheme interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the theme.
	AttrArn() *string
	// The time the theme was created.
	AttrCreatedTime() *string
	// The time the theme was last updated.
	AttrLastUpdatedTime() *string
	// Theme type.
	AttrType() *string
	// The ID of the AWS account where you want to store the new theme.
	AwsAccountId() *string
	SetAwsAccountId(val *string)
	// The ID of the theme that a custom theme will inherit from.
	//
	// All themes inherit from one of the starting themes defined by Amazon QuickSight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.
	BaseThemeId() *string
	SetBaseThemeId(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The theme configuration, which contains the theme display properties.
	Configuration() interface{}
	SetConfiguration(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A display name for the theme.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// A valid grouping of resource permissions to apply to the new theme.
	Permissions() interface{}
	SetPermissions(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A map of the key-value pairs for the resource tag or tags that you want to add to the resource.
	Tags() awscdk.TagManager
	// An ID for the theme that you want to create.
	//
	// The theme ID is unique per AWS Region in each AWS account.
	ThemeId() *string
	SetThemeId(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// A description of the first version of the theme that you're creating.
	//
	// Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.
	VersionDescription() *string
	SetVersionDescription(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::QuickSight::Theme`.

Creates a theme.

A *theme* is set of configuration options for color and layout. Themes apply to analyses and dashboards. For more information, see [Using Themes in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) in the *Amazon QuickSight User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnTheme := awscdk.Aws_quicksight.NewCfnTheme(this, jsii.String("MyCfnTheme"), &cfnThemeProps{
	awsAccountId: jsii.String("awsAccountId"),
	themeId: jsii.String("themeId"),

	// the properties below are optional
	baseThemeId: jsii.String("baseThemeId"),
	configuration: &themeConfigurationProperty{
		dataColorPalette: &dataColorPaletteProperty{
			colors: []*string{
				jsii.String("colors"),
			},
			emptyFillColor: jsii.String("emptyFillColor"),
			minMaxGradient: []*string{
				jsii.String("minMaxGradient"),
			},
		},
		sheet: &sheetStyleProperty{
			tile: &tileStyleProperty{
				border: &borderStyleProperty{
					show: jsii.Boolean(false),
				},
			},
			tileLayout: &tileLayoutStyleProperty{
				gutter: &gutterStyleProperty{
					show: jsii.Boolean(false),
				},
				margin: &marginStyleProperty{
					show: jsii.Boolean(false),
				},
			},
		},
		typography: &typographyProperty{
			fontFamilies: []interface{}{
				&fontProperty{
					fontFamily: jsii.String("fontFamily"),
				},
			},
		},
		uiColorPalette: &uIColorPaletteProperty{
			accent: jsii.String("accent"),
			accentForeground: jsii.String("accentForeground"),
			danger: jsii.String("danger"),
			dangerForeground: jsii.String("dangerForeground"),
			dimension: jsii.String("dimension"),
			dimensionForeground: jsii.String("dimensionForeground"),
			measure: jsii.String("measure"),
			measureForeground: jsii.String("measureForeground"),
			primaryBackground: jsii.String("primaryBackground"),
			primaryForeground: jsii.String("primaryForeground"),
			secondaryBackground: jsii.String("secondaryBackground"),
			secondaryForeground: jsii.String("secondaryForeground"),
			success: jsii.String("success"),
			successForeground: jsii.String("successForeground"),
			warning: jsii.String("warning"),
			warningForeground: jsii.String("warningForeground"),
		},
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	versionDescription: jsii.String("versionDescription"),
})

func NewCfnTheme

func NewCfnTheme(scope constructs.Construct, id *string, props *CfnThemeProps) CfnTheme

Create a new `AWS::QuickSight::Theme`.

type CfnThemeProps

type CfnThemeProps struct {
	// The ID of the AWS account where you want to store the new theme.
	AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"`
	// An ID for the theme that you want to create.
	//
	// The theme ID is unique per AWS Region in each AWS account.
	ThemeId *string `field:"required" json:"themeId" yaml:"themeId"`
	// The ID of the theme that a custom theme will inherit from.
	//
	// All themes inherit from one of the starting themes defined by Amazon QuickSight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.
	BaseThemeId *string `field:"optional" json:"baseThemeId" yaml:"baseThemeId"`
	// The theme configuration, which contains the theme display properties.
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
	// A display name for the theme.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A valid grouping of resource permissions to apply to the new theme.
	Permissions interface{} `field:"optional" json:"permissions" yaml:"permissions"`
	// A map of the key-value pairs for the resource tag or tags that you want to add to the resource.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// A description of the first version of the theme that you're creating.
	//
	// Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.
	VersionDescription *string `field:"optional" json:"versionDescription" yaml:"versionDescription"`
}

Properties for defining a `CfnTheme`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnThemeProps := &cfnThemeProps{
	awsAccountId: jsii.String("awsAccountId"),
	themeId: jsii.String("themeId"),

	// the properties below are optional
	baseThemeId: jsii.String("baseThemeId"),
	configuration: &themeConfigurationProperty{
		dataColorPalette: &dataColorPaletteProperty{
			colors: []*string{
				jsii.String("colors"),
			},
			emptyFillColor: jsii.String("emptyFillColor"),
			minMaxGradient: []*string{
				jsii.String("minMaxGradient"),
			},
		},
		sheet: &sheetStyleProperty{
			tile: &tileStyleProperty{
				border: &borderStyleProperty{
					show: jsii.Boolean(false),
				},
			},
			tileLayout: &tileLayoutStyleProperty{
				gutter: &gutterStyleProperty{
					show: jsii.Boolean(false),
				},
				margin: &marginStyleProperty{
					show: jsii.Boolean(false),
				},
			},
		},
		typography: &typographyProperty{
			fontFamilies: []interface{}{
				&fontProperty{
					fontFamily: jsii.String("fontFamily"),
				},
			},
		},
		uiColorPalette: &uIColorPaletteProperty{
			accent: jsii.String("accent"),
			accentForeground: jsii.String("accentForeground"),
			danger: jsii.String("danger"),
			dangerForeground: jsii.String("dangerForeground"),
			dimension: jsii.String("dimension"),
			dimensionForeground: jsii.String("dimensionForeground"),
			measure: jsii.String("measure"),
			measureForeground: jsii.String("measureForeground"),
			primaryBackground: jsii.String("primaryBackground"),
			primaryForeground: jsii.String("primaryForeground"),
			secondaryBackground: jsii.String("secondaryBackground"),
			secondaryForeground: jsii.String("secondaryForeground"),
			success: jsii.String("success"),
			successForeground: jsii.String("successForeground"),
			warning: jsii.String("warning"),
			warningForeground: jsii.String("warningForeground"),
		},
	},
	name: jsii.String("name"),
	permissions: []interface{}{
		&resourcePermissionProperty{
			actions: []*string{
				jsii.String("actions"),
			},
			principal: jsii.String("principal"),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	versionDescription: jsii.String("versionDescription"),
}

type CfnTheme_BorderStyleProperty

type CfnTheme_BorderStyleProperty struct {
	// The option to enable display of borders for visuals.
	Show interface{} `field:"optional" json:"show" yaml:"show"`
}

The display options for tile borders for visuals.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

borderStyleProperty := &borderStyleProperty{
	show: jsii.Boolean(false),
}

type CfnTheme_DataColorPaletteProperty

type CfnTheme_DataColorPaletteProperty struct {
	// The hexadecimal codes for the colors.
	Colors *[]*string `field:"optional" json:"colors" yaml:"colors"`
	// The hexadecimal code of a color that applies to charts where a lack of data is highlighted.
	EmptyFillColor *string `field:"optional" json:"emptyFillColor" yaml:"emptyFillColor"`
	// The minimum and maximum hexadecimal codes that describe a color gradient.
	MinMaxGradient *[]*string `field:"optional" json:"minMaxGradient" yaml:"minMaxGradient"`
}

The theme colors that are used for data colors in charts.

The colors description is a hexadecimal color code that consists of six alphanumerical characters, prefixed with `#` , for example #37BFF5.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataColorPaletteProperty := &dataColorPaletteProperty{
	colors: []*string{
		jsii.String("colors"),
	},
	emptyFillColor: jsii.String("emptyFillColor"),
	minMaxGradient: []*string{
		jsii.String("minMaxGradient"),
	},
}

type CfnTheme_FontProperty

type CfnTheme_FontProperty struct {
	// `CfnTheme.FontProperty.FontFamily`.
	FontFamily *string `field:"optional" json:"fontFamily" yaml:"fontFamily"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

fontProperty := &fontProperty{
	fontFamily: jsii.String("fontFamily"),
}

type CfnTheme_GutterStyleProperty

type CfnTheme_GutterStyleProperty struct {
	// This Boolean value controls whether to display a gutter space between sheet tiles.
	Show interface{} `field:"optional" json:"show" yaml:"show"`
}

The display options for gutter spacing between tiles on a sheet.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

gutterStyleProperty := &gutterStyleProperty{
	show: jsii.Boolean(false),
}

type CfnTheme_MarginStyleProperty

type CfnTheme_MarginStyleProperty struct {
	// This Boolean value controls whether to display sheet margins.
	Show interface{} `field:"optional" json:"show" yaml:"show"`
}

The display options for margins around the outside edge of sheets.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

marginStyleProperty := &marginStyleProperty{
	show: jsii.Boolean(false),
}

type CfnTheme_ResourcePermissionProperty

type CfnTheme_ResourcePermissionProperty struct {
	// The IAM action to grant or revoke permissions on.
	Actions *[]*string `field:"required" json:"actions" yaml:"actions"`
	// The Amazon Resource Name (ARN) of the principal. This can be one of the following:.
	//
	// - The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
	// - The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
	// - The ARN of an AWS account root: This is an IAM ARN rather than a Amazon QuickSight ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)
	Principal *string `field:"required" json:"principal" yaml:"principal"`
}

Permission for the resource.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

resourcePermissionProperty := &resourcePermissionProperty{
	actions: []*string{
		jsii.String("actions"),
	},
	principal: jsii.String("principal"),
}

type CfnTheme_SheetStyleProperty

type CfnTheme_SheetStyleProperty struct {
	// The display options for tiles.
	Tile interface{} `field:"optional" json:"tile" yaml:"tile"`
	// The layout options for tiles.
	TileLayout interface{} `field:"optional" json:"tileLayout" yaml:"tileLayout"`
}

The theme display options for sheets.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sheetStyleProperty := &sheetStyleProperty{
	tile: &tileStyleProperty{
		border: &borderStyleProperty{
			show: jsii.Boolean(false),
		},
	},
	tileLayout: &tileLayoutStyleProperty{
		gutter: &gutterStyleProperty{
			show: jsii.Boolean(false),
		},
		margin: &marginStyleProperty{
			show: jsii.Boolean(false),
		},
	},
}

type CfnTheme_ThemeConfigurationProperty

type CfnTheme_ThemeConfigurationProperty struct {
	// Color properties that apply to chart data colors.
	DataColorPalette interface{} `field:"optional" json:"dataColorPalette" yaml:"dataColorPalette"`
	// Display options related to sheets.
	Sheet interface{} `field:"optional" json:"sheet" yaml:"sheet"`
	// `CfnTheme.ThemeConfigurationProperty.Typography`.
	Typography interface{} `field:"optional" json:"typography" yaml:"typography"`
	// Color properties that apply to the UI and to charts, excluding the colors that apply to data.
	UiColorPalette interface{} `field:"optional" json:"uiColorPalette" yaml:"uiColorPalette"`
}

The theme configuration.

This configuration contains all of the display properties for a theme.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

themeConfigurationProperty := &themeConfigurationProperty{
	dataColorPalette: &dataColorPaletteProperty{
		colors: []*string{
			jsii.String("colors"),
		},
		emptyFillColor: jsii.String("emptyFillColor"),
		minMaxGradient: []*string{
			jsii.String("minMaxGradient"),
		},
	},
	sheet: &sheetStyleProperty{
		tile: &tileStyleProperty{
			border: &borderStyleProperty{
				show: jsii.Boolean(false),
			},
		},
		tileLayout: &tileLayoutStyleProperty{
			gutter: &gutterStyleProperty{
				show: jsii.Boolean(false),
			},
			margin: &marginStyleProperty{
				show: jsii.Boolean(false),
			},
		},
	},
	typography: &typographyProperty{
		fontFamilies: []interface{}{
			&fontProperty{
				fontFamily: jsii.String("fontFamily"),
			},
		},
	},
	uiColorPalette: &uIColorPaletteProperty{
		accent: jsii.String("accent"),
		accentForeground: jsii.String("accentForeground"),
		danger: jsii.String("danger"),
		dangerForeground: jsii.String("dangerForeground"),
		dimension: jsii.String("dimension"),
		dimensionForeground: jsii.String("dimensionForeground"),
		measure: jsii.String("measure"),
		measureForeground: jsii.String("measureForeground"),
		primaryBackground: jsii.String("primaryBackground"),
		primaryForeground: jsii.String("primaryForeground"),
		secondaryBackground: jsii.String("secondaryBackground"),
		secondaryForeground: jsii.String("secondaryForeground"),
		success: jsii.String("success"),
		successForeground: jsii.String("successForeground"),
		warning: jsii.String("warning"),
		warningForeground: jsii.String("warningForeground"),
	},
}

type CfnTheme_TileLayoutStyleProperty

type CfnTheme_TileLayoutStyleProperty struct {
	// The gutter settings that apply between tiles.
	Gutter interface{} `field:"optional" json:"gutter" yaml:"gutter"`
	// The margin settings that apply around the outside edge of sheets.
	Margin interface{} `field:"optional" json:"margin" yaml:"margin"`
}

The display options for the layout of tiles on a sheet.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

tileLayoutStyleProperty := &tileLayoutStyleProperty{
	gutter: &gutterStyleProperty{
		show: jsii.Boolean(false),
	},
	margin: &marginStyleProperty{
		show: jsii.Boolean(false),
	},
}

type CfnTheme_TileStyleProperty

type CfnTheme_TileStyleProperty struct {
	// The border around a tile.
	Border interface{} `field:"optional" json:"border" yaml:"border"`
}

Display options related to tiles on a sheet.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

tileStyleProperty := &tileStyleProperty{
	border: &borderStyleProperty{
		show: jsii.Boolean(false),
	},
}

type CfnTheme_TypographyProperty

type CfnTheme_TypographyProperty struct {
	// `CfnTheme.TypographyProperty.FontFamilies`.
	FontFamilies interface{} `field:"optional" json:"fontFamilies" yaml:"fontFamilies"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

typographyProperty := &typographyProperty{
	fontFamilies: []interface{}{
		&fontProperty{
			fontFamily: jsii.String("fontFamily"),
		},
	},
}

type CfnTheme_UIColorPaletteProperty

type CfnTheme_UIColorPaletteProperty struct {
	// This color is that applies to selected states and buttons.
	Accent *string `field:"optional" json:"accent" yaml:"accent"`
	// The foreground color that applies to any text or other elements that appear over the accent color.
	AccentForeground *string `field:"optional" json:"accentForeground" yaml:"accentForeground"`
	// The color that applies to error messages.
	Danger *string `field:"optional" json:"danger" yaml:"danger"`
	// The foreground color that applies to any text or other elements that appear over the error color.
	DangerForeground *string `field:"optional" json:"dangerForeground" yaml:"dangerForeground"`
	// The color that applies to the names of fields that are identified as dimensions.
	Dimension *string `field:"optional" json:"dimension" yaml:"dimension"`
	// The foreground color that applies to any text or other elements that appear over the dimension color.
	DimensionForeground *string `field:"optional" json:"dimensionForeground" yaml:"dimensionForeground"`
	// The color that applies to the names of fields that are identified as measures.
	Measure *string `field:"optional" json:"measure" yaml:"measure"`
	// The foreground color that applies to any text or other elements that appear over the measure color.
	MeasureForeground *string `field:"optional" json:"measureForeground" yaml:"measureForeground"`
	// The background color that applies to visuals and other high emphasis UI.
	PrimaryBackground *string `field:"optional" json:"primaryBackground" yaml:"primaryBackground"`
	// The color of text and other foreground elements that appear over the primary background regions, such as grid lines, borders, table banding, icons, and so on.
	PrimaryForeground *string `field:"optional" json:"primaryForeground" yaml:"primaryForeground"`
	// The background color that applies to the sheet background and sheet controls.
	SecondaryBackground *string `field:"optional" json:"secondaryBackground" yaml:"secondaryBackground"`
	// The foreground color that applies to any sheet title, sheet control text, or UI that appears over the secondary background.
	SecondaryForeground *string `field:"optional" json:"secondaryForeground" yaml:"secondaryForeground"`
	// The color that applies to success messages, for example the check mark for a successful download.
	Success *string `field:"optional" json:"success" yaml:"success"`
	// The foreground color that applies to any text or other elements that appear over the success color.
	SuccessForeground *string `field:"optional" json:"successForeground" yaml:"successForeground"`
	// This color that applies to warning and informational messages.
	Warning *string `field:"optional" json:"warning" yaml:"warning"`
	// The foreground color that applies to any text or other elements that appear over the warning color.
	WarningForeground *string `field:"optional" json:"warningForeground" yaml:"warningForeground"`
}

The theme colors that apply to UI and to charts, excluding data colors.

The colors description is a hexadecimal color code that consists of six alphanumerical characters, prefixed with `#` , for example #37BFF5. For more information, see [Using Themes in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) in the *Amazon QuickSight User Guide.*

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

uIColorPaletteProperty := &uIColorPaletteProperty{
	accent: jsii.String("accent"),
	accentForeground: jsii.String("accentForeground"),
	danger: jsii.String("danger"),
	dangerForeground: jsii.String("dangerForeground"),
	dimension: jsii.String("dimension"),
	dimensionForeground: jsii.String("dimensionForeground"),
	measure: jsii.String("measure"),
	measureForeground: jsii.String("measureForeground"),
	primaryBackground: jsii.String("primaryBackground"),
	primaryForeground: jsii.String("primaryForeground"),
	secondaryBackground: jsii.String("secondaryBackground"),
	secondaryForeground: jsii.String("secondaryForeground"),
	success: jsii.String("success"),
	successForeground: jsii.String("successForeground"),
	warning: jsii.String("warning"),
	warningForeground: jsii.String("warningForeground"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL