awstimestream

package
v2.147.1 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

README

AWS::Timestream Construct Library

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

import timestream "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::Timestream.

(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 CfnDatabase_CFN_RESOURCE_TYPE_NAME

func CfnDatabase_CFN_RESOURCE_TYPE_NAME() *string

func CfnDatabase_IsCfnElement

func CfnDatabase_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 CfnDatabase_IsCfnResource

func CfnDatabase_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnDatabase_IsConstruct

func CfnDatabase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

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

func CfnInfluxDBInstance_CFN_RESOURCE_TYPE_NAME added in v2.139.0

func CfnInfluxDBInstance_CFN_RESOURCE_TYPE_NAME() *string

func CfnInfluxDBInstance_IsCfnElement added in v2.139.0

func CfnInfluxDBInstance_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 CfnInfluxDBInstance_IsCfnResource added in v2.139.0

func CfnInfluxDBInstance_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnInfluxDBInstance_IsConstruct added in v2.139.0

func CfnInfluxDBInstance_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

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

func CfnScheduledQuery_CFN_RESOURCE_TYPE_NAME added in v2.2.0

func CfnScheduledQuery_CFN_RESOURCE_TYPE_NAME() *string

func CfnScheduledQuery_IsCfnElement added in v2.2.0

func CfnScheduledQuery_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 CfnScheduledQuery_IsCfnResource added in v2.2.0

func CfnScheduledQuery_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnScheduledQuery_IsConstruct added in v2.2.0

func CfnScheduledQuery_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

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

func CfnTable_CFN_RESOURCE_TYPE_NAME

func CfnTable_CFN_RESOURCE_TYPE_NAME() *string

func CfnTable_IsCfnElement

func CfnTable_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 CfnTable_IsCfnResource

func CfnTable_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnTable_IsConstruct

func CfnTable_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

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

func NewCfnDatabase_Override

func NewCfnDatabase_Override(c CfnDatabase, scope constructs.Construct, id *string, props *CfnDatabaseProps)

func NewCfnInfluxDBInstance_Override added in v2.139.0

func NewCfnInfluxDBInstance_Override(c CfnInfluxDBInstance, scope constructs.Construct, id *string, props *CfnInfluxDBInstanceProps)

func NewCfnScheduledQuery_Override added in v2.2.0

func NewCfnScheduledQuery_Override(c CfnScheduledQuery, scope constructs.Construct, id *string, props *CfnScheduledQueryProps)

func NewCfnTable_Override

func NewCfnTable_Override(c CfnTable, scope constructs.Construct, id *string, props *CfnTableProps)

Types

type CfnDatabase

type CfnDatabase interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The `arn` of the database.
	AttrArn() *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 name of the Timestream database.
	DatabaseName() *string
	SetDatabaseName(val *string)
	// The identifier of the AWS KMS key used to encrypt the data stored in the database.
	KmsKeyId() *string
	SetKmsKeyId(val *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
	// The tree node.
	Node() constructs.Node
	// 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
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to add to the database.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// 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{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *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.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	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, typeHint awscdk.ResolutionTypeHint) 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)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid
	//
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// 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{})
}

Creates a new Timestream database.

If the AWS KMS key is not specified, the database will be encrypted with a Timestream managed AWS KMS key located in your account. Refer to [AWS managed AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) for more info. [Service quotas apply](https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) . See [code sample](https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-db.html) for details.

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"

cfnDatabase := awscdk.Aws_timestream.NewCfnDatabase(this, jsii.String("MyCfnDatabase"), &CfnDatabaseProps{
	DatabaseName: jsii.String("databaseName"),
	KmsKeyId: jsii.String("kmsKeyId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html

func NewCfnDatabase

func NewCfnDatabase(scope constructs.Construct, id *string, props *CfnDatabaseProps) CfnDatabase

type CfnDatabaseProps

type CfnDatabaseProps struct {
	// The name of the Timestream database.
	//
	// *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-databasename
	//
	DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"`
	// The identifier of the AWS KMS key used to encrypt the data stored in the database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-kmskeyid
	//
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// The tags to add to the database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDatabase`.

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"

cfnDatabaseProps := &CfnDatabaseProps{
	DatabaseName: jsii.String("databaseName"),
	KmsKeyId: jsii.String("kmsKeyId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html

type CfnInfluxDBInstance added in v2.139.0

type CfnInfluxDBInstance interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The amount of storage to allocate for your DB storage type in GiB (gibibytes).
	AllocatedStorage() *float64
	SetAllocatedStorage(val *float64)
	// The Amazon Resource Name (ARN) of the DB instance.
	AttrArn() *string
	// The Availability Zone in which the DB instance resides.
	AttrAvailabilityZone() *string
	// The endpoint used to connect to InfluxDB.
	//
	// The default InfluxDB port is 8086.
	AttrEndpoint() *string
	// A service-generated unique identifier.
	AttrId() *string
	// The Amazon Resource Name (ARN) of the Amazon Secrets Manager secret containing the initial InfluxDB authorization parameters.
	//
	// The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.
	AttrInfluxAuthParametersSecretArn() *string
	// Describes an Availability Zone in which the InfluxDB instance is located.
	AttrSecondaryAvailabilityZone() *string
	// The status of the DB instance.
	//
	// Valid Values: `CREATING` | `AVAILABLE` | `DELETING` | `MODIFYING` | `UPDATING` | `DELETED` | `FAILED`.
	AttrStatus() *string
	// The name of the initial InfluxDB bucket.
	Bucket() *string
	SetBucket(val *string)
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// 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 Timestream for InfluxDB DB instance type to run on.
	DbInstanceType() *string
	SetDbInstanceType(val *string)
	// The name or id of the DB parameter group to assign to your DB instance.
	DbParameterGroupIdentifier() *string
	SetDbParameterGroupIdentifier(val *string)
	// The Timestream for InfluxDB DB storage type to read and write InfluxDB data.
	DbStorageType() *string
	SetDbStorageType(val *string)
	// Specifies whether the Timestream for InfluxDB is deployed as Single-AZ or with a MultiAZ Standby for High availability.
	DeploymentType() *string
	SetDeploymentType(val *string)
	// Configuration for sending InfluxDB engine logs to a specified S3 bucket.
	LogDeliveryConfiguration() interface{}
	SetLogDeliveryConfiguration(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 name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// The name of the initial organization for the initial admin user in InfluxDB.
	Organization() *string
	SetOrganization(val *string)
	// The password of the initial admin user created in InfluxDB.
	Password() *string
	SetPassword(val *string)
	// Configures the DB instance with a public IP to facilitate access.
	PubliclyAccessible() interface{}
	SetPubliclyAccessible(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 list of key-value pairs to associate with the DB instance.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// 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{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The username of the initial admin user created in InfluxDB.
	Username() *string
	SetUsername(val *string)
	// A list of VPC security group IDs to associate with the DB instance.
	VpcSecurityGroupIds() *[]*string
	SetVpcSecurityGroupIds(val *[]*string)
	// A list of VPC subnet IDs to associate with the DB instance.
	VpcSubnetIds() *[]*string
	SetVpcSubnetIds(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.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	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, typeHint awscdk.ResolutionTypeHint) 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)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid
	//
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// 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 DB instance is an isolated database environment running in the cloud.

It is the basic building block of Amazon Timestream for InfluxDB. A DB instance can contain multiple user-created databases (or organizations and buckets for the case of InfluxDb 2.x databases), and can be accessed using the same client tools and applications you might use to access a standalone self-managed InfluxDB instance.

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"

cfnInfluxDBInstance := awscdk.Aws_timestream.NewCfnInfluxDBInstance(this, jsii.String("MyCfnInfluxDBInstance"), &CfnInfluxDBInstanceProps{
	AllocatedStorage: jsii.Number(123),
	Bucket: jsii.String("bucket"),
	DbInstanceType: jsii.String("dbInstanceType"),
	DbParameterGroupIdentifier: jsii.String("dbParameterGroupIdentifier"),
	DbStorageType: jsii.String("dbStorageType"),
	DeploymentType: jsii.String("deploymentType"),
	LogDeliveryConfiguration: &LogDeliveryConfigurationProperty{
		S3Configuration: &S3ConfigurationProperty{
			BucketName: jsii.String("bucketName"),
			Enabled: jsii.Boolean(false),
		},
	},
	Name: jsii.String("name"),
	Organization: jsii.String("organization"),
	Password: jsii.String("password"),
	PubliclyAccessible: jsii.Boolean(false),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Username: jsii.String("username"),
	VpcSecurityGroupIds: []*string{
		jsii.String("vpcSecurityGroupIds"),
	},
	VpcSubnetIds: []*string{
		jsii.String("vpcSubnetIds"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html

func NewCfnInfluxDBInstance added in v2.139.0

func NewCfnInfluxDBInstance(scope constructs.Construct, id *string, props *CfnInfluxDBInstanceProps) CfnInfluxDBInstance

type CfnInfluxDBInstanceProps added in v2.139.0

type CfnInfluxDBInstanceProps struct {
	// The amount of storage to allocate for your DB storage type in GiB (gibibytes).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-allocatedstorage
	//
	AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"`
	// The name of the initial InfluxDB bucket.
	//
	// All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-bucket
	//
	Bucket *string `field:"optional" json:"bucket" yaml:"bucket"`
	// The Timestream for InfluxDB DB instance type to run on.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-dbinstancetype
	//
	DbInstanceType *string `field:"optional" json:"dbInstanceType" yaml:"dbInstanceType"`
	// The name or id of the DB parameter group to assign to your DB instance.
	//
	// DB parameter groups specify how the database is configured. For example, DB parameter groups can specify the limit for query concurrency.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-dbparametergroupidentifier
	//
	DbParameterGroupIdentifier *string `field:"optional" json:"dbParameterGroupIdentifier" yaml:"dbParameterGroupIdentifier"`
	// The Timestream for InfluxDB DB storage type to read and write InfluxDB data.
	//
	// You can choose between 3 different types of provisioned Influx IOPS included storage according to your workloads requirements:
	//
	// - Influx IO Included 3000 IOPS
	// - Influx IO Included 12000 IOPS
	// - Influx IO Included 16000 IOPS.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-dbstoragetype
	//
	DbStorageType *string `field:"optional" json:"dbStorageType" yaml:"dbStorageType"`
	// Specifies whether the Timestream for InfluxDB is deployed as Single-AZ or with a MultiAZ Standby for High availability.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-deploymenttype
	//
	DeploymentType *string `field:"optional" json:"deploymentType" yaml:"deploymentType"`
	// Configuration for sending InfluxDB engine logs to a specified S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-logdeliveryconfiguration
	//
	LogDeliveryConfiguration interface{} `field:"optional" json:"logDeliveryConfiguration" yaml:"logDeliveryConfiguration"`
	// The name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands.
	//
	// This name will also be a prefix included in the endpoint. DB instance names must be unique per customer and per region.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The name of the initial organization for the initial admin user in InfluxDB.
	//
	// An InfluxDB organization is a workspace for a group of users.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-organization
	//
	Organization *string `field:"optional" json:"organization" yaml:"organization"`
	// The password of the initial admin user created in InfluxDB.
	//
	// This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Amazon SecretManager in your account.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-password
	//
	Password *string `field:"optional" json:"password" yaml:"password"`
	// Configures the DB instance with a public IP to facilitate access.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-publiclyaccessible
	//
	// Default: - false.
	//
	PubliclyAccessible interface{} `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"`
	// A list of key-value pairs to associate with the DB instance.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The username of the initial admin user created in InfluxDB.
	//
	// Must start with a letter and can't end with a hyphen or contain two consecutive hyphens. For example, my-user1. This username will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Amazon Secrets Manager in your account.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-username
	//
	Username *string `field:"optional" json:"username" yaml:"username"`
	// A list of VPC security group IDs to associate with the DB instance.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-vpcsecuritygroupids
	//
	VpcSecurityGroupIds *[]*string `field:"optional" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"`
	// A list of VPC subnet IDs to associate with the DB instance.
	//
	// Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#cfn-timestream-influxdbinstance-vpcsubnetids
	//
	VpcSubnetIds *[]*string `field:"optional" json:"vpcSubnetIds" yaml:"vpcSubnetIds"`
}

Properties for defining a `CfnInfluxDBInstance`.

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"

cfnInfluxDBInstanceProps := &CfnInfluxDBInstanceProps{
	AllocatedStorage: jsii.Number(123),
	Bucket: jsii.String("bucket"),
	DbInstanceType: jsii.String("dbInstanceType"),
	DbParameterGroupIdentifier: jsii.String("dbParameterGroupIdentifier"),
	DbStorageType: jsii.String("dbStorageType"),
	DeploymentType: jsii.String("deploymentType"),
	LogDeliveryConfiguration: &LogDeliveryConfigurationProperty{
		S3Configuration: &S3ConfigurationProperty{
			BucketName: jsii.String("bucketName"),
			Enabled: jsii.Boolean(false),
		},
	},
	Name: jsii.String("name"),
	Organization: jsii.String("organization"),
	Password: jsii.String("password"),
	PubliclyAccessible: jsii.Boolean(false),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Username: jsii.String("username"),
	VpcSecurityGroupIds: []*string{
		jsii.String("vpcSecurityGroupIds"),
	},
	VpcSubnetIds: []*string{
		jsii.String("vpcSubnetIds"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html

type CfnInfluxDBInstance_LogDeliveryConfigurationProperty added in v2.139.0

type CfnInfluxDBInstance_LogDeliveryConfigurationProperty struct {
	// Configuration for S3 bucket log delivery.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-logdeliveryconfiguration.html#cfn-timestream-influxdbinstance-logdeliveryconfiguration-s3configuration
	//
	S3Configuration interface{} `field:"required" json:"s3Configuration" yaml:"s3Configuration"`
}

Configuration for sending InfluxDB engine logs to a specified S3 bucket.

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"

logDeliveryConfigurationProperty := &LogDeliveryConfigurationProperty{
	S3Configuration: &S3ConfigurationProperty{
		BucketName: jsii.String("bucketName"),
		Enabled: jsii.Boolean(false),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-logdeliveryconfiguration.html

type CfnInfluxDBInstance_S3ConfigurationProperty added in v2.139.0

type CfnInfluxDBInstance_S3ConfigurationProperty struct {
	// The bucket name of the customer S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-s3configuration.html#cfn-timestream-influxdbinstance-s3configuration-bucketname
	//
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// Indicates whether log delivery to the S3 bucket is enabled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-s3configuration.html#cfn-timestream-influxdbinstance-s3configuration-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

Configuration for S3 bucket log delivery.

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"

s3ConfigurationProperty := &S3ConfigurationProperty{
	BucketName: jsii.String("bucketName"),
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-s3configuration.html

type CfnScheduledQuery added in v2.2.0

type CfnScheduledQuery interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The `ARN` of the scheduled query.
	AttrArn() *string
	// The scheduled query error reporting configuration.
	AttrSqErrorReportConfiguration() *string
	// The KMS key used to encrypt the query resource, if a customer managed KMS key was provided.
	AttrSqKmsKeyId() *string
	// The scheduled query name.
	AttrSqName() *string
	// The scheduled query notification configuration.
	AttrSqNotificationConfiguration() *string
	// The scheduled query string..
	AttrSqQueryString() *string
	// The scheduled query schedule configuration.
	AttrSqScheduleConfiguration() *string
	// The ARN of the IAM role that will be used by Timestream to run the query.
	AttrSqScheduledQueryExecutionRoleArn() *string
	// The configuration for query output.
	AttrSqTargetConfiguration() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request repeatedly will produce the same result.
	ClientToken() *string
	SetClientToken(val *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
	// Configuration for error reporting.
	ErrorReportConfiguration() interface{}
	SetErrorReportConfiguration(val interface{})
	// The Amazon KMS key used to encrypt the scheduled query resource, at-rest.
	KmsKeyId() *string
	SetKmsKeyId(val *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
	// The tree node.
	Node() constructs.Node
	// Notification configuration for the scheduled query.
	NotificationConfiguration() interface{}
	SetNotificationConfiguration(val interface{})
	// The query string to run.
	QueryString() *string
	SetQueryString(val *string)
	// 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
	// Schedule configuration.
	ScheduleConfiguration() interface{}
	SetScheduleConfiguration(val interface{})
	// The ARN for the IAM role that Timestream will assume when running the scheduled query.
	ScheduledQueryExecutionRoleArn() *string
	SetScheduledQueryExecutionRoleArn(val *string)
	// A name for the query.
	ScheduledQueryName() *string
	SetScheduledQueryName(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// A list of key-value pairs to label the scheduled query.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Scheduled query target store configuration.
	TargetConfiguration() interface{}
	SetTargetConfiguration(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// 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{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *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.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	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, typeHint awscdk.ResolutionTypeHint) 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)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid
	//
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// 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{})
}

Create a scheduled query that will be run on your behalf at the configured schedule.

Timestream assumes the execution role provided as part of the `ScheduledQueryExecutionRoleArn` parameter to run the query. You can use the `NotificationConfiguration` parameter to configure notification for your scheduled query 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"

cfnScheduledQuery := awscdk.Aws_timestream.NewCfnScheduledQuery(this, jsii.String("MyCfnScheduledQuery"), &CfnScheduledQueryProps{
	ErrorReportConfiguration: &ErrorReportConfigurationProperty{
		S3Configuration: &S3ConfigurationProperty{
			BucketName: jsii.String("bucketName"),

			// the properties below are optional
			EncryptionOption: jsii.String("encryptionOption"),
			ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
		},
	},
	NotificationConfiguration: &NotificationConfigurationProperty{
		SnsConfiguration: &SnsConfigurationProperty{
			TopicArn: jsii.String("topicArn"),
		},
	},
	QueryString: jsii.String("queryString"),
	ScheduleConfiguration: &ScheduleConfigurationProperty{
		ScheduleExpression: jsii.String("scheduleExpression"),
	},
	ScheduledQueryExecutionRoleArn: jsii.String("scheduledQueryExecutionRoleArn"),

	// the properties below are optional
	ClientToken: jsii.String("clientToken"),
	KmsKeyId: jsii.String("kmsKeyId"),
	ScheduledQueryName: jsii.String("scheduledQueryName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TargetConfiguration: &TargetConfigurationProperty{
		TimestreamConfiguration: &TimestreamConfigurationProperty{
			DatabaseName: jsii.String("databaseName"),
			DimensionMappings: []interface{}{
				&DimensionMappingProperty{
					DimensionValueType: jsii.String("dimensionValueType"),
					Name: jsii.String("name"),
				},
			},
			TableName: jsii.String("tableName"),
			TimeColumn: jsii.String("timeColumn"),

			// the properties below are optional
			MeasureNameColumn: jsii.String("measureNameColumn"),
			MixedMeasureMappings: []interface{}{
				&MixedMeasureMappingProperty{
					MeasureValueType: jsii.String("measureValueType"),

					// the properties below are optional
					MeasureName: jsii.String("measureName"),
					MultiMeasureAttributeMappings: []interface{}{
						&MultiMeasureAttributeMappingProperty{
							MeasureValueType: jsii.String("measureValueType"),
							SourceColumn: jsii.String("sourceColumn"),

							// the properties below are optional
							TargetMultiMeasureAttributeName: jsii.String("targetMultiMeasureAttributeName"),
						},
					},
					SourceColumn: jsii.String("sourceColumn"),
					TargetMeasureName: jsii.String("targetMeasureName"),
				},
			},
			MultiMeasureMappings: &MultiMeasureMappingsProperty{
				MultiMeasureAttributeMappings: []interface{}{
					&MultiMeasureAttributeMappingProperty{
						MeasureValueType: jsii.String("measureValueType"),
						SourceColumn: jsii.String("sourceColumn"),

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

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html

func NewCfnScheduledQuery added in v2.2.0

func NewCfnScheduledQuery(scope constructs.Construct, id *string, props *CfnScheduledQueryProps) CfnScheduledQuery

type CfnScheduledQueryProps added in v2.2.0

type CfnScheduledQueryProps struct {
	// Configuration for error reporting.
	//
	// Error reports will be generated when a problem is encountered when writing the query results.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-errorreportconfiguration
	//
	ErrorReportConfiguration interface{} `field:"required" json:"errorReportConfiguration" yaml:"errorReportConfiguration"`
	// Notification configuration for the scheduled query.
	//
	// A notification is sent by Timestream when a query run finishes, when the state is updated or when you delete it.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-notificationconfiguration
	//
	NotificationConfiguration interface{} `field:"required" json:"notificationConfiguration" yaml:"notificationConfiguration"`
	// The query string to run.
	//
	// Parameter names can be specified in the query string `@` character followed by an identifier. The named Parameter `@scheduled_runtime` is reserved and can be used in the query to get the time at which the query is scheduled to run.
	//
	// The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of `@scheduled_runtime` paramater for each query run. For example, consider an instance of a scheduled query executing on 2021-12-01 00:00:00. For this instance, the `@scheduled_runtime` parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-querystring
	//
	QueryString *string `field:"required" json:"queryString" yaml:"queryString"`
	// Schedule configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-scheduleconfiguration
	//
	ScheduleConfiguration interface{} `field:"required" json:"scheduleConfiguration" yaml:"scheduleConfiguration"`
	// The ARN for the IAM role that Timestream will assume when running the scheduled query.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-scheduledqueryexecutionrolearn
	//
	ScheduledQueryExecutionRoleArn *string `field:"required" json:"scheduledQueryExecutionRoleArn" yaml:"scheduledQueryExecutionRoleArn"`
	// Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request repeatedly will produce the same result.
	//
	// Making multiple identical CreateScheduledQuery requests has the same effect as making a single request.
	//
	// - If CreateScheduledQuery is called without a `ClientToken` , the Query SDK generates a `ClientToken` on your behalf.
	// - After 8 hours, any request with the same `ClientToken` is treated as a new request.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-clienttoken
	//
	ClientToken *string `field:"optional" json:"clientToken" yaml:"clientToken"`
	// The Amazon KMS key used to encrypt the scheduled query resource, at-rest.
	//
	// If the Amazon KMS key is not specified, the scheduled query resource will be encrypted with a Timestream owned Amazon KMS key. To specify a KMS key, use the key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix the name with *alias/*
	//
	// If ErrorReportConfiguration uses `SSE_KMS` as encryption type, the same KmsKeyId is used to encrypt the error report at rest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-kmskeyid
	//
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// A name for the query.
	//
	// Scheduled query names must be unique within each Region.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-scheduledqueryname
	//
	ScheduledQueryName *string `field:"optional" json:"scheduledQueryName" yaml:"scheduledQueryName"`
	// A list of key-value pairs to label the scheduled query.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// Scheduled query target store configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html#cfn-timestream-scheduledquery-targetconfiguration
	//
	TargetConfiguration interface{} `field:"optional" json:"targetConfiguration" yaml:"targetConfiguration"`
}

Properties for defining a `CfnScheduledQuery`.

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"

cfnScheduledQueryProps := &CfnScheduledQueryProps{
	ErrorReportConfiguration: &ErrorReportConfigurationProperty{
		S3Configuration: &S3ConfigurationProperty{
			BucketName: jsii.String("bucketName"),

			// the properties below are optional
			EncryptionOption: jsii.String("encryptionOption"),
			ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
		},
	},
	NotificationConfiguration: &NotificationConfigurationProperty{
		SnsConfiguration: &SnsConfigurationProperty{
			TopicArn: jsii.String("topicArn"),
		},
	},
	QueryString: jsii.String("queryString"),
	ScheduleConfiguration: &ScheduleConfigurationProperty{
		ScheduleExpression: jsii.String("scheduleExpression"),
	},
	ScheduledQueryExecutionRoleArn: jsii.String("scheduledQueryExecutionRoleArn"),

	// the properties below are optional
	ClientToken: jsii.String("clientToken"),
	KmsKeyId: jsii.String("kmsKeyId"),
	ScheduledQueryName: jsii.String("scheduledQueryName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TargetConfiguration: &TargetConfigurationProperty{
		TimestreamConfiguration: &TimestreamConfigurationProperty{
			DatabaseName: jsii.String("databaseName"),
			DimensionMappings: []interface{}{
				&DimensionMappingProperty{
					DimensionValueType: jsii.String("dimensionValueType"),
					Name: jsii.String("name"),
				},
			},
			TableName: jsii.String("tableName"),
			TimeColumn: jsii.String("timeColumn"),

			// the properties below are optional
			MeasureNameColumn: jsii.String("measureNameColumn"),
			MixedMeasureMappings: []interface{}{
				&MixedMeasureMappingProperty{
					MeasureValueType: jsii.String("measureValueType"),

					// the properties below are optional
					MeasureName: jsii.String("measureName"),
					MultiMeasureAttributeMappings: []interface{}{
						&MultiMeasureAttributeMappingProperty{
							MeasureValueType: jsii.String("measureValueType"),
							SourceColumn: jsii.String("sourceColumn"),

							// the properties below are optional
							TargetMultiMeasureAttributeName: jsii.String("targetMultiMeasureAttributeName"),
						},
					},
					SourceColumn: jsii.String("sourceColumn"),
					TargetMeasureName: jsii.String("targetMeasureName"),
				},
			},
			MultiMeasureMappings: &MultiMeasureMappingsProperty{
				MultiMeasureAttributeMappings: []interface{}{
					&MultiMeasureAttributeMappingProperty{
						MeasureValueType: jsii.String("measureValueType"),
						SourceColumn: jsii.String("sourceColumn"),

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

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html

type CfnScheduledQuery_DimensionMappingProperty added in v2.2.0

type CfnScheduledQuery_DimensionMappingProperty struct {
	// Type for the dimension: VARCHAR.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-dimensionmapping.html#cfn-timestream-scheduledquery-dimensionmapping-dimensionvaluetype
	//
	DimensionValueType *string `field:"required" json:"dimensionValueType" yaml:"dimensionValueType"`
	// Column name from query result.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-dimensionmapping.html#cfn-timestream-scheduledquery-dimensionmapping-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
}

This type is used to map column(s) from the query result to a dimension in the destination table.

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"

dimensionMappingProperty := &DimensionMappingProperty{
	DimensionValueType: jsii.String("dimensionValueType"),
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-dimensionmapping.html

type CfnScheduledQuery_ErrorReportConfigurationProperty added in v2.2.0

type CfnScheduledQuery_ErrorReportConfigurationProperty struct {
	// The S3 configuration for the error reports.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-errorreportconfiguration.html#cfn-timestream-scheduledquery-errorreportconfiguration-s3configuration
	//
	S3Configuration interface{} `field:"required" json:"s3Configuration" yaml:"s3Configuration"`
}

Configuration required for error reporting.

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"

errorReportConfigurationProperty := &ErrorReportConfigurationProperty{
	S3Configuration: &S3ConfigurationProperty{
		BucketName: jsii.String("bucketName"),

		// the properties below are optional
		EncryptionOption: jsii.String("encryptionOption"),
		ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-errorreportconfiguration.html

type CfnScheduledQuery_MixedMeasureMappingProperty added in v2.2.0

type CfnScheduledQuery_MixedMeasureMappingProperty struct {
	// Type of the value that is to be read from sourceColumn.
	//
	// If the mapping is for MULTI, use MeasureValueType.MULTI.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html#cfn-timestream-scheduledquery-mixedmeasuremapping-measurevaluetype
	//
	MeasureValueType *string `field:"required" json:"measureValueType" yaml:"measureValueType"`
	// Refers to the value of measure_name in a result row.
	//
	// This field is required if MeasureNameColumn is provided.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html#cfn-timestream-scheduledquery-mixedmeasuremapping-measurename
	//
	MeasureName *string `field:"optional" json:"measureName" yaml:"measureName"`
	// Required when measureValueType is MULTI.
	//
	// Attribute mappings for MULTI value measures.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html#cfn-timestream-scheduledquery-mixedmeasuremapping-multimeasureattributemappings
	//
	MultiMeasureAttributeMappings interface{} `field:"optional" json:"multiMeasureAttributeMappings" yaml:"multiMeasureAttributeMappings"`
	// This field refers to the source column from which measure-value is to be read for result materialization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html#cfn-timestream-scheduledquery-mixedmeasuremapping-sourcecolumn
	//
	SourceColumn *string `field:"optional" json:"sourceColumn" yaml:"sourceColumn"`
	// Target measure name to be used.
	//
	// If not provided, the target measure name by default would be measure-name if provided, or sourceColumn otherwise.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html#cfn-timestream-scheduledquery-mixedmeasuremapping-targetmeasurename
	//
	TargetMeasureName *string `field:"optional" json:"targetMeasureName" yaml:"targetMeasureName"`
}

MixedMeasureMappings are mappings that can be used to ingest data into a mixture of narrow and multi measures in the derived table.

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"

mixedMeasureMappingProperty := &MixedMeasureMappingProperty{
	MeasureValueType: jsii.String("measureValueType"),

	// the properties below are optional
	MeasureName: jsii.String("measureName"),
	MultiMeasureAttributeMappings: []interface{}{
		&MultiMeasureAttributeMappingProperty{
			MeasureValueType: jsii.String("measureValueType"),
			SourceColumn: jsii.String("sourceColumn"),

			// the properties below are optional
			TargetMultiMeasureAttributeName: jsii.String("targetMultiMeasureAttributeName"),
		},
	},
	SourceColumn: jsii.String("sourceColumn"),
	TargetMeasureName: jsii.String("targetMeasureName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-mixedmeasuremapping.html

type CfnScheduledQuery_MultiMeasureAttributeMappingProperty added in v2.2.0

type CfnScheduledQuery_MultiMeasureAttributeMappingProperty struct {
	// Type of the attribute to be read from the source column.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasureattributemapping.html#cfn-timestream-scheduledquery-multimeasureattributemapping-measurevaluetype
	//
	MeasureValueType *string `field:"required" json:"measureValueType" yaml:"measureValueType"`
	// Source column from where the attribute value is to be read.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasureattributemapping.html#cfn-timestream-scheduledquery-multimeasureattributemapping-sourcecolumn
	//
	SourceColumn *string `field:"required" json:"sourceColumn" yaml:"sourceColumn"`
	// Custom name to be used for attribute name in derived table.
	//
	// If not provided, source column name would be used.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasureattributemapping.html#cfn-timestream-scheduledquery-multimeasureattributemapping-targetmultimeasureattributename
	//
	TargetMultiMeasureAttributeName *string `field:"optional" json:"targetMultiMeasureAttributeName" yaml:"targetMultiMeasureAttributeName"`
}

Attribute mapping for MULTI value measures.

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"

multiMeasureAttributeMappingProperty := &MultiMeasureAttributeMappingProperty{
	MeasureValueType: jsii.String("measureValueType"),
	SourceColumn: jsii.String("sourceColumn"),

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasureattributemapping.html

type CfnScheduledQuery_MultiMeasureMappingsProperty added in v2.2.0

type CfnScheduledQuery_MultiMeasureMappingsProperty struct {
	// Required.
	//
	// Attribute mappings to be used for mapping query results to ingest data for multi-measure attributes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasuremappings.html#cfn-timestream-scheduledquery-multimeasuremappings-multimeasureattributemappings
	//
	MultiMeasureAttributeMappings interface{} `field:"required" json:"multiMeasureAttributeMappings" yaml:"multiMeasureAttributeMappings"`
	// The name of the target multi-measure name in the derived table.
	//
	// This input is required when measureNameColumn is not provided. If MeasureNameColumn is provided, then value from that column will be used as multi-measure name.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasuremappings.html#cfn-timestream-scheduledquery-multimeasuremappings-targetmultimeasurename
	//
	TargetMultiMeasureName *string `field:"optional" json:"targetMultiMeasureName" yaml:"targetMultiMeasureName"`
}

Only one of MixedMeasureMappings or MultiMeasureMappings is to be provided.

MultiMeasureMappings can be used to ingest data as multi measures in the derived table.

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"

multiMeasureMappingsProperty := &MultiMeasureMappingsProperty{
	MultiMeasureAttributeMappings: []interface{}{
		&MultiMeasureAttributeMappingProperty{
			MeasureValueType: jsii.String("measureValueType"),
			SourceColumn: jsii.String("sourceColumn"),

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

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-multimeasuremappings.html

type CfnScheduledQuery_NotificationConfigurationProperty added in v2.2.0

type CfnScheduledQuery_NotificationConfigurationProperty struct {
	// Details on SNS configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-notificationconfiguration.html#cfn-timestream-scheduledquery-notificationconfiguration-snsconfiguration
	//
	SnsConfiguration interface{} `field:"required" json:"snsConfiguration" yaml:"snsConfiguration"`
}

Notification configuration for a scheduled query.

A notification is sent by Timestream when a scheduled query is created, its state is updated or when it is deleted.

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"

notificationConfigurationProperty := &NotificationConfigurationProperty{
	SnsConfiguration: &SnsConfigurationProperty{
		TopicArn: jsii.String("topicArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-notificationconfiguration.html

type CfnScheduledQuery_S3ConfigurationProperty added in v2.2.0

type CfnScheduledQuery_S3ConfigurationProperty struct {
	// Name of the S3 bucket under which error reports will be created.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-s3configuration.html#cfn-timestream-scheduledquery-s3configuration-bucketname
	//
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// Encryption at rest options for the error reports.
	//
	// If no encryption option is specified, Timestream will choose SSE_S3 as default.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-s3configuration.html#cfn-timestream-scheduledquery-s3configuration-encryptionoption
	//
	EncryptionOption *string `field:"optional" json:"encryptionOption" yaml:"encryptionOption"`
	// Prefix for the error report key.
	//
	// Timestream by default adds the following prefix to the error report path.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-s3configuration.html#cfn-timestream-scheduledquery-s3configuration-objectkeyprefix
	//
	ObjectKeyPrefix *string `field:"optional" json:"objectKeyPrefix" yaml:"objectKeyPrefix"`
}

Details on S3 location for error reports that result from running a 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"

s3ConfigurationProperty := &S3ConfigurationProperty{
	BucketName: jsii.String("bucketName"),

	// the properties below are optional
	EncryptionOption: jsii.String("encryptionOption"),
	ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-s3configuration.html

type CfnScheduledQuery_ScheduleConfigurationProperty added in v2.2.0

type CfnScheduledQuery_ScheduleConfigurationProperty struct {
	// An expression that denotes when to trigger the scheduled query run.
	//
	// This can be a cron expression or a rate expression.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-scheduleconfiguration.html#cfn-timestream-scheduledquery-scheduleconfiguration-scheduleexpression
	//
	ScheduleExpression *string `field:"required" json:"scheduleExpression" yaml:"scheduleExpression"`
}

Configuration of the schedule of the 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"

scheduleConfigurationProperty := &ScheduleConfigurationProperty{
	ScheduleExpression: jsii.String("scheduleExpression"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-scheduleconfiguration.html

type CfnScheduledQuery_SnsConfigurationProperty added in v2.2.0

type CfnScheduledQuery_SnsConfigurationProperty struct {
	// SNS topic ARN that the scheduled query status notifications will be sent to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-snsconfiguration.html#cfn-timestream-scheduledquery-snsconfiguration-topicarn
	//
	TopicArn *string `field:"required" json:"topicArn" yaml:"topicArn"`
}

Details on SNS that are required to send the notification.

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"

snsConfigurationProperty := &SnsConfigurationProperty{
	TopicArn: jsii.String("topicArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-snsconfiguration.html

type CfnScheduledQuery_TargetConfigurationProperty added in v2.2.0

type CfnScheduledQuery_TargetConfigurationProperty struct {
	// Configuration needed to write data into the Timestream database and table.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-targetconfiguration.html#cfn-timestream-scheduledquery-targetconfiguration-timestreamconfiguration
	//
	TimestreamConfiguration interface{} `field:"required" json:"timestreamConfiguration" yaml:"timestreamConfiguration"`
}

Configuration used for writing the output of a 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"

targetConfigurationProperty := &TargetConfigurationProperty{
	TimestreamConfiguration: &TimestreamConfigurationProperty{
		DatabaseName: jsii.String("databaseName"),
		DimensionMappings: []interface{}{
			&DimensionMappingProperty{
				DimensionValueType: jsii.String("dimensionValueType"),
				Name: jsii.String("name"),
			},
		},
		TableName: jsii.String("tableName"),
		TimeColumn: jsii.String("timeColumn"),

		// the properties below are optional
		MeasureNameColumn: jsii.String("measureNameColumn"),
		MixedMeasureMappings: []interface{}{
			&MixedMeasureMappingProperty{
				MeasureValueType: jsii.String("measureValueType"),

				// the properties below are optional
				MeasureName: jsii.String("measureName"),
				MultiMeasureAttributeMappings: []interface{}{
					&MultiMeasureAttributeMappingProperty{
						MeasureValueType: jsii.String("measureValueType"),
						SourceColumn: jsii.String("sourceColumn"),

						// the properties below are optional
						TargetMultiMeasureAttributeName: jsii.String("targetMultiMeasureAttributeName"),
					},
				},
				SourceColumn: jsii.String("sourceColumn"),
				TargetMeasureName: jsii.String("targetMeasureName"),
			},
		},
		MultiMeasureMappings: &MultiMeasureMappingsProperty{
			MultiMeasureAttributeMappings: []interface{}{
				&MultiMeasureAttributeMappingProperty{
					MeasureValueType: jsii.String("measureValueType"),
					SourceColumn: jsii.String("sourceColumn"),

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

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-targetconfiguration.html

type CfnScheduledQuery_TimestreamConfigurationProperty added in v2.2.0

type CfnScheduledQuery_TimestreamConfigurationProperty struct {
	// Name of Timestream database to which the query result will be written.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-databasename
	//
	DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"`
	// This is to allow mapping column(s) from the query result to the dimension in the destination table.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-dimensionmappings
	//
	DimensionMappings interface{} `field:"required" json:"dimensionMappings" yaml:"dimensionMappings"`
	// Name of Timestream table that the query result will be written to.
	//
	// The table should be within the same database that is provided in Timestream configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-tablename
	//
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
	// Column from query result that should be used as the time column in destination table.
	//
	// Column type for this should be TIMESTAMP.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-timecolumn
	//
	TimeColumn *string `field:"required" json:"timeColumn" yaml:"timeColumn"`
	// Name of the measure column.
	//
	// Also see `MultiMeasureMappings` and `MixedMeasureMappings` for how measure name properties on those relate to `MeasureNameColumn` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-measurenamecolumn
	//
	MeasureNameColumn *string `field:"optional" json:"measureNameColumn" yaml:"measureNameColumn"`
	// Specifies how to map measures to multi-measure records.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-mixedmeasuremappings
	//
	MixedMeasureMappings interface{} `field:"optional" json:"mixedMeasureMappings" yaml:"mixedMeasureMappings"`
	// Multi-measure mappings.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html#cfn-timestream-scheduledquery-timestreamconfiguration-multimeasuremappings
	//
	MultiMeasureMappings interface{} `field:"optional" json:"multiMeasureMappings" yaml:"multiMeasureMappings"`
}

Configuration to write data into Timestream database and table.

This configuration allows the user to map the query result select columns into the destination table 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"

timestreamConfigurationProperty := &TimestreamConfigurationProperty{
	DatabaseName: jsii.String("databaseName"),
	DimensionMappings: []interface{}{
		&DimensionMappingProperty{
			DimensionValueType: jsii.String("dimensionValueType"),
			Name: jsii.String("name"),
		},
	},
	TableName: jsii.String("tableName"),
	TimeColumn: jsii.String("timeColumn"),

	// the properties below are optional
	MeasureNameColumn: jsii.String("measureNameColumn"),
	MixedMeasureMappings: []interface{}{
		&MixedMeasureMappingProperty{
			MeasureValueType: jsii.String("measureValueType"),

			// the properties below are optional
			MeasureName: jsii.String("measureName"),
			MultiMeasureAttributeMappings: []interface{}{
				&MultiMeasureAttributeMappingProperty{
					MeasureValueType: jsii.String("measureValueType"),
					SourceColumn: jsii.String("sourceColumn"),

					// the properties below are optional
					TargetMultiMeasureAttributeName: jsii.String("targetMultiMeasureAttributeName"),
				},
			},
			SourceColumn: jsii.String("sourceColumn"),
			TargetMeasureName: jsii.String("targetMeasureName"),
		},
	},
	MultiMeasureMappings: &MultiMeasureMappingsProperty{
		MultiMeasureAttributeMappings: []interface{}{
			&MultiMeasureAttributeMappingProperty{
				MeasureValueType: jsii.String("measureValueType"),
				SourceColumn: jsii.String("sourceColumn"),

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

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-timestreamconfiguration.html

type CfnTable

type CfnTable interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The `arn` of the table.
	AttrArn() *string
	// The name of the table.
	AttrName() *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 name of the Timestream database that contains this table.
	DatabaseName() *string
	SetDatabaseName(val *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
	// Contains properties to set on the table when enabling magnetic store writes.
	MagneticStoreWriteProperties() interface{}
	SetMagneticStoreWriteProperties(val interface{})
	// The tree node.
	Node() constructs.Node
	// 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 retention duration for the memory store and magnetic store.
	//
	// This object has the following attributes:.
	RetentionProperties() interface{}
	SetRetentionProperties(val interface{})
	// The schema of the table.
	Schema() interface{}
	SetSchema(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The name of the Timestream table.
	TableName() *string
	SetTableName(val *string)
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to add to the table.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// 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{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *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.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	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, typeHint awscdk.ResolutionTypeHint) 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)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid
	//
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// 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{})
}

The CreateTable operation adds a new table to an existing database in your account.

In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. [Service quotas apply](https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) . See [code sample](https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-table.html) for details.

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"

var magneticStoreWriteProperties interface{}
var retentionProperties interface{}

cfnTable := awscdk.Aws_timestream.NewCfnTable(this, jsii.String("MyCfnTable"), &CfnTableProps{
	DatabaseName: jsii.String("databaseName"),

	// the properties below are optional
	MagneticStoreWriteProperties: magneticStoreWriteProperties,
	RetentionProperties: retentionProperties,
	Schema: &SchemaProperty{
		CompositePartitionKey: []interface{}{
			&PartitionKeyProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				EnforcementInRecord: jsii.String("enforcementInRecord"),
				Name: jsii.String("name"),
			},
		},
	},
	TableName: jsii.String("tableName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html

func NewCfnTable

func NewCfnTable(scope constructs.Construct, id *string, props *CfnTableProps) CfnTable

type CfnTableProps

type CfnTableProps struct {
	// The name of the Timestream database that contains this table.
	//
	// *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-databasename
	//
	DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"`
	// Contains properties to set on the table when enabling magnetic store writes.
	//
	// This object has the following attributes:
	//
	// - *EnableMagneticStoreWrites* : A `boolean` flag to enable magnetic store writes.
	// - *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only `S3Configuration` objects are allowed. The `S3Configuration` object has the following attributes:
	//
	// - *BucketName* : The name of the S3 bucket.
	// - *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( `SSE_S3` ) or AWS managed key ( `SSE_KMS` ).
	// - *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key.
	// - *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3.
	//
	// Both `BucketName` and `EncryptionOption` are *required* when `S3Configuration` is specified. If you specify `SSE_KMS` as your `EncryptionOption` then `KmsKeyId` is *required* .
	//
	// `EnableMagneticStoreWrites` attribute is *required* when `MagneticStoreWriteProperties` is specified. `MagneticStoreRejectedDataLocation` attribute is *required* when `EnableMagneticStoreWrites` is set to `true` .
	//
	// See the following examples:
	//
	// *JSON*
	//
	// “`json
	// { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } }
	// }
	// “`
	//
	// *YAML*
	//
	// “`
	// Type: AWS::Timestream::Table
	// DependsOn: TestDatabase
	// Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
	// “`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-magneticstorewriteproperties
	//
	MagneticStoreWriteProperties interface{} `field:"optional" json:"magneticStoreWriteProperties" yaml:"magneticStoreWriteProperties"`
	// The retention duration for the memory store and magnetic store. This object has the following attributes:.
	//
	// - *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours.
	// - *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days.
	//
	// Both attributes are of type `string` . Both attributes are *required* when `RetentionProperties` is specified.
	//
	// See the following examples:
	//
	// *JSON*
	//
	// `{ "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }`
	//
	// *YAML*
	//
	// “`
	// Type: AWS::Timestream::Table
	// DependsOn: TestDatabase
	// Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
	// “`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-retentionproperties
	//
	RetentionProperties interface{} `field:"optional" json:"retentionProperties" yaml:"retentionProperties"`
	// The schema of the table.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-schema
	//
	Schema interface{} `field:"optional" json:"schema" yaml:"schema"`
	// The name of the Timestream table.
	//
	// *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-tablename
	//
	TableName *string `field:"optional" json:"tableName" yaml:"tableName"`
	// The tags to add to the table.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnTable`.

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"

var magneticStoreWriteProperties interface{}
var retentionProperties interface{}

cfnTableProps := &CfnTableProps{
	DatabaseName: jsii.String("databaseName"),

	// the properties below are optional
	MagneticStoreWriteProperties: magneticStoreWriteProperties,
	RetentionProperties: retentionProperties,
	Schema: &SchemaProperty{
		CompositePartitionKey: []interface{}{
			&PartitionKeyProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				EnforcementInRecord: jsii.String("enforcementInRecord"),
				Name: jsii.String("name"),
			},
		},
	},
	TableName: jsii.String("tableName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html

type CfnTable_MagneticStoreRejectedDataLocationProperty added in v2.55.0

type CfnTable_MagneticStoreRejectedDataLocationProperty struct {
	// Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-magneticstorerejecteddatalocation.html#cfn-timestream-table-magneticstorerejecteddatalocation-s3configuration
	//
	S3Configuration interface{} `field:"optional" json:"s3Configuration" yaml:"s3Configuration"`
}

The location to write error reports for records rejected, asynchronously, during magnetic store writes.

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"

magneticStoreRejectedDataLocationProperty := &MagneticStoreRejectedDataLocationProperty{
	S3Configuration: &S3ConfigurationProperty{
		BucketName: jsii.String("bucketName"),
		EncryptionOption: jsii.String("encryptionOption"),

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
		ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-magneticstorerejecteddatalocation.html

type CfnTable_MagneticStoreWritePropertiesProperty added in v2.55.0

type CfnTable_MagneticStoreWritePropertiesProperty struct {
	// A flag to enable magnetic store writes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-magneticstorewriteproperties.html#cfn-timestream-table-magneticstorewriteproperties-enablemagneticstorewrites
	//
	EnableMagneticStoreWrites interface{} `field:"required" json:"enableMagneticStoreWrites" yaml:"enableMagneticStoreWrites"`
	// The location to write error reports for records rejected asynchronously during magnetic store writes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-magneticstorewriteproperties.html#cfn-timestream-table-magneticstorewriteproperties-magneticstorerejecteddatalocation
	//
	MagneticStoreRejectedDataLocation interface{} `field:"optional" json:"magneticStoreRejectedDataLocation" yaml:"magneticStoreRejectedDataLocation"`
}

The set of properties on a table for configuring magnetic store writes.

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"

magneticStoreWritePropertiesProperty := &MagneticStoreWritePropertiesProperty{
	EnableMagneticStoreWrites: jsii.Boolean(false),

	// the properties below are optional
	MagneticStoreRejectedDataLocation: &MagneticStoreRejectedDataLocationProperty{
		S3Configuration: &S3ConfigurationProperty{
			BucketName: jsii.String("bucketName"),
			EncryptionOption: jsii.String("encryptionOption"),

			// the properties below are optional
			KmsKeyId: jsii.String("kmsKeyId"),
			ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-magneticstorewriteproperties.html

type CfnTable_PartitionKeyProperty added in v2.91.0

type CfnTable_PartitionKeyProperty struct {
	// The type of the partition key.
	//
	// Options are DIMENSION (dimension key) and MEASURE (measure key).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The level of enforcement for the specification of a dimension key in ingested records.
	//
	// Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-enforcementinrecord
	//
	EnforcementInRecord *string `field:"optional" json:"enforcementInRecord" yaml:"enforcementInRecord"`
	// The name of the attribute used for a dimension key.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

An attribute used in partitioning data in a table.

A dimension key partitions data using the values of the dimension specified by the dimension-name as partition key, while a measure key partitions data using measure names (values of the 'measure_name' 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"

partitionKeyProperty := &PartitionKeyProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	EnforcementInRecord: jsii.String("enforcementInRecord"),
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html

type CfnTable_RetentionPropertiesProperty added in v2.55.0

type CfnTable_RetentionPropertiesProperty struct {
	// The duration for which data must be stored in the magnetic store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-retentionproperties.html#cfn-timestream-table-retentionproperties-magneticstoreretentionperiodindays
	//
	MagneticStoreRetentionPeriodInDays *string `field:"optional" json:"magneticStoreRetentionPeriodInDays" yaml:"magneticStoreRetentionPeriodInDays"`
	// The duration for which data must be stored in the memory store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-retentionproperties.html#cfn-timestream-table-retentionproperties-memorystoreretentionperiodinhours
	//
	MemoryStoreRetentionPeriodInHours *string `field:"optional" json:"memoryStoreRetentionPeriodInHours" yaml:"memoryStoreRetentionPeriodInHours"`
}

Retention properties contain the duration for which your time-series data must be stored in the magnetic store and the memory store.

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"

retentionPropertiesProperty := &RetentionPropertiesProperty{
	MagneticStoreRetentionPeriodInDays: jsii.String("magneticStoreRetentionPeriodInDays"),
	MemoryStoreRetentionPeriodInHours: jsii.String("memoryStoreRetentionPeriodInHours"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-retentionproperties.html

type CfnTable_S3ConfigurationProperty added in v2.55.0

type CfnTable_S3ConfigurationProperty struct {
	// The bucket name of the customer S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-s3configuration.html#cfn-timestream-table-s3configuration-bucketname
	//
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The encryption option for the customer S3 location.
	//
	// Options are S3 server-side encryption with an S3 managed key or AWS managed key.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-s3configuration.html#cfn-timestream-table-s3configuration-encryptionoption
	//
	EncryptionOption *string `field:"required" json:"encryptionOption" yaml:"encryptionOption"`
	// The AWS KMS key ID for the customer S3 location when encrypting with an AWS managed key.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-s3configuration.html#cfn-timestream-table-s3configuration-kmskeyid
	//
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// The object key preview for the customer S3 location.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-s3configuration.html#cfn-timestream-table-s3configuration-objectkeyprefix
	//
	ObjectKeyPrefix *string `field:"optional" json:"objectKeyPrefix" yaml:"objectKeyPrefix"`
}

The configuration that specifies an S3 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"

s3ConfigurationProperty := &S3ConfigurationProperty{
	BucketName: jsii.String("bucketName"),
	EncryptionOption: jsii.String("encryptionOption"),

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
	ObjectKeyPrefix: jsii.String("objectKeyPrefix"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-s3configuration.html

type CfnTable_SchemaProperty added in v2.91.0

type CfnTable_SchemaProperty struct {
	// A non-empty list of partition keys defining the attributes used to partition the table data.
	//
	// The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html#cfn-timestream-table-schema-compositepartitionkey
	//
	CompositePartitionKey interface{} `field:"optional" json:"compositePartitionKey" yaml:"compositePartitionKey"`
}

A Schema specifies the expected data model of the table.

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"

schemaProperty := &SchemaProperty{
	CompositePartitionKey: []interface{}{
		&PartitionKeyProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			EnforcementInRecord: jsii.String("enforcementInRecord"),
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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