awsqbusiness

package
v2.142.1 Latest Latest
Warning

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

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

README

AWS::QBusiness Construct Library

---

All classes with the Cfn prefix in this module (CFN Resources) are always stable and safe to use.


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

import qbusiness "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::QBusiness.

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

func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplication_IsCfnElement

func CfnApplication_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 CfnApplication_IsCfnResource

func CfnApplication_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnApplication_IsConstruct

func CfnApplication_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 CfnDataSource_CFN_RESOURCE_TYPE_NAME

func CfnDataSource_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataSource_IsCfnElement

func CfnDataSource_IsCfnElement(x interface{}) *bool

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

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

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

func CfnDataSource_IsCfnResource

func CfnDataSource_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnDataSource_IsConstruct

func CfnDataSource_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 CfnIndex_CFN_RESOURCE_TYPE_NAME

func CfnIndex_CFN_RESOURCE_TYPE_NAME() *string

func CfnIndex_IsCfnElement

func CfnIndex_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 CfnIndex_IsCfnResource

func CfnIndex_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnIndex_IsConstruct

func CfnIndex_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 CfnPlugin_CFN_RESOURCE_TYPE_NAME

func CfnPlugin_CFN_RESOURCE_TYPE_NAME() *string

func CfnPlugin_IsCfnElement

func CfnPlugin_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 CfnPlugin_IsCfnResource

func CfnPlugin_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnPlugin_IsConstruct

func CfnPlugin_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 CfnRetriever_CFN_RESOURCE_TYPE_NAME

func CfnRetriever_CFN_RESOURCE_TYPE_NAME() *string

func CfnRetriever_IsCfnElement

func CfnRetriever_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 CfnRetriever_IsCfnResource

func CfnRetriever_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnRetriever_IsConstruct

func CfnRetriever_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 CfnWebExperience_CFN_RESOURCE_TYPE_NAME

func CfnWebExperience_CFN_RESOURCE_TYPE_NAME() *string

func CfnWebExperience_IsCfnElement

func CfnWebExperience_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 CfnWebExperience_IsCfnResource

func CfnWebExperience_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnWebExperience_IsConstruct

func CfnWebExperience_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 NewCfnApplication_Override

func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, props *CfnApplicationProps)

func NewCfnDataSource_Override

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

func NewCfnIndex_Override

func NewCfnIndex_Override(c CfnIndex, scope constructs.Construct, id *string, props *CfnIndexProps)

func NewCfnPlugin_Override

func NewCfnPlugin_Override(c CfnPlugin, scope constructs.Construct, id *string, props *CfnPluginProps)

func NewCfnRetriever_Override

func NewCfnRetriever_Override(c CfnRetriever, scope constructs.Construct, id *string, props *CfnRetrieverProps)

func NewCfnWebExperience_Override

func NewCfnWebExperience_Override(c CfnWebExperience, scope constructs.Construct, id *string, props *CfnWebExperienceProps)

Types

type CfnApplication

type CfnApplication interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// Configuration information for the file upload during chat feature.
	AttachmentsConfiguration() interface{}
	SetAttachmentsConfiguration(val interface{})
	// The Amazon Resource Name (ARN) of the Amazon Q Business application.
	AttrApplicationArn() *string
	// The identifier for the Amazon Q Business application.
	AttrApplicationId() *string
	// The Unix timestamp when the Amazon Q Business application was created.
	AttrCreatedAt() *string
	// The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.
	AttrIdentityCenterApplicationArn() *string
	// The status of the Amazon Q Business application.
	//
	// The application is ready to use when the status is `ACTIVE` .
	AttrStatus() *string
	// The Unix timestamp when the Amazon Q Business application was last updated.
	AttrUpdatedAt() *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
	// A description for the Amazon Q Business application.
	Description() *string
	SetDescription(val *string)
	// The name of the Amazon Q Business application.
	DisplayName() *string
	SetDisplayName(val *string)
	// Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.
	EncryptionConfiguration() interface{}
	SetEncryptionConfiguration(val interface{})
	// The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
	IdentityCenterInstanceArn() *string
	SetIdentityCenterInstanceArn(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 Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
	RoleArn() *string
	SetRoleArn(val *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 that identify or categorize your Amazon Q Business application.
	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{}
	// 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.
	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 an Amazon Q Business application.

> There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see [Amazon Q Business tiers](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/tiers.html#user-sub-tiers) . You must use the Amazon Q Business console to assign subscription tiers to users.

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"

cfnApplication := awscdk.Aws_qbusiness.NewCfnApplication(this, jsii.String("MyCfnApplication"), &CfnApplicationProps{
	DisplayName: jsii.String("displayName"),

	// the properties below are optional
	AttachmentsConfiguration: &AttachmentsConfigurationProperty{
		AttachmentsControlMode: jsii.String("attachmentsControlMode"),
	},
	Description: jsii.String("description"),
	EncryptionConfiguration: &EncryptionConfigurationProperty{
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	IdentityCenterInstanceArn: jsii.String("identityCenterInstanceArn"),
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html

func NewCfnApplication

func NewCfnApplication(scope constructs.Construct, id *string, props *CfnApplicationProps) CfnApplication

type CfnApplicationProps

type CfnApplicationProps struct {
	// The name of the Amazon Q Business application.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-displayname
	//
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// Configuration information for the file upload during chat feature.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-attachmentsconfiguration
	//
	AttachmentsConfiguration interface{} `field:"optional" json:"attachmentsConfiguration" yaml:"attachmentsConfiguration"`
	// A description for the Amazon Q Business application.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.
	//
	// Amazon Q Business doesn't support asymmetric keys.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-encryptionconfiguration
	//
	EncryptionConfiguration interface{} `field:"optional" json:"encryptionConfiguration" yaml:"encryptionConfiguration"`
	// The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
	//
	// *Required* : `Yes`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-identitycenterinstancearn
	//
	IdentityCenterInstanceArn *string `field:"optional" json:"identityCenterInstanceArn" yaml:"identityCenterInstanceArn"`
	// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-rolearn
	//
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// A list of key-value pairs that identify or categorize your Amazon Q Business application.
	//
	// You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnApplication`.

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"

cfnApplicationProps := &CfnApplicationProps{
	DisplayName: jsii.String("displayName"),

	// the properties below are optional
	AttachmentsConfiguration: &AttachmentsConfigurationProperty{
		AttachmentsControlMode: jsii.String("attachmentsControlMode"),
	},
	Description: jsii.String("description"),
	EncryptionConfiguration: &EncryptionConfigurationProperty{
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	IdentityCenterInstanceArn: jsii.String("identityCenterInstanceArn"),
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html

type CfnApplication_AttachmentsConfigurationProperty

type CfnApplication_AttachmentsConfigurationProperty struct {
	// Status information about whether file upload functionality is activated or deactivated for your end user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-attachmentsconfiguration.html#cfn-qbusiness-application-attachmentsconfiguration-attachmentscontrolmode
	//
	AttachmentsControlMode *string `field:"required" json:"attachmentsControlMode" yaml:"attachmentsControlMode"`
}

Configuration information for the file upload during chat feature.

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"

attachmentsConfigurationProperty := &AttachmentsConfigurationProperty{
	AttachmentsControlMode: jsii.String("attachmentsControlMode"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-attachmentsconfiguration.html

type CfnApplication_EncryptionConfigurationProperty

type CfnApplication_EncryptionConfigurationProperty struct {
	// The identifier of the AWS KMS key.
	//
	// Amazon Q Business doesn't support asymmetric keys.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-encryptionconfiguration.html#cfn-qbusiness-application-encryptionconfiguration-kmskeyid
	//
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business.

Amazon Q Business doesn't support asymmetric keys.

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"

encryptionConfigurationProperty := &EncryptionConfigurationProperty{
	KmsKeyId: jsii.String("kmsKeyId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-encryptionconfiguration.html

type CfnDataSource

type CfnDataSource interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The identifier of the Amazon Q Business application the data source will be attached to.
	ApplicationId() *string
	SetApplicationId(val *string)
	// The Unix timestamp when the Amazon Q Business data source was created.
	AttrCreatedAt() *string
	// The Amazon Resource Name (ARN) of a data source in an Amazon Q Business application.
	AttrDataSourceArn() *string
	// The identifier of the Amazon Q Business data source.
	AttrDataSourceId() *string
	// The status of the Amazon Q Business data source.
	AttrStatus() *string
	// The type of the Amazon Q Business data source.
	AttrType() *string
	// The Unix timestamp when the Amazon Q Business data source was last updated.
	AttrUpdatedAt() *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
	// Configuration information to connect to your data source repository.
	Configuration() interface{}
	SetConfiguration(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description for the data source connector.
	Description() *string
	SetDescription(val *string)
	// The name of the Amazon Q Business data source.
	DisplayName() *string
	SetDisplayName(val *string)
	// Provides the configuration information for altering document metadata and content during the document ingestion process.
	DocumentEnrichmentConfiguration() interface{}
	SetDocumentEnrichmentConfiguration(val interface{})
	// The identifier of the index the data source is attached to.
	IndexId() *string
	SetIndexId(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 Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.
	SyncSchedule() *string
	SetSyncSchedule(val *string)
	// A list of key-value pairs that identify or categorize the data source connector.
	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{}
	// Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.
	VpcConfiguration() interface{}
	SetVpcConfiguration(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	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.
	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 data source connector for an Amazon Q Business application.

`CreateDataSource` is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

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 configuration interface{}

cfnDataSource := awscdk.Aws_qbusiness.NewCfnDataSource(this, jsii.String("MyCfnDataSource"), &CfnDataSourceProps{
	ApplicationId: jsii.String("applicationId"),
	Configuration: configuration,
	DisplayName: jsii.String("displayName"),
	IndexId: jsii.String("indexId"),

	// the properties below are optional
	Description: jsii.String("description"),
	DocumentEnrichmentConfiguration: &DocumentEnrichmentConfigurationProperty{
		InlineConfigurations: []interface{}{
			&InlineDocumentEnrichmentConfigurationProperty{
				Condition: &DocumentAttributeConditionProperty{
					Key: jsii.String("key"),
					Operator: jsii.String("operator"),

					// the properties below are optional
					Value: &DocumentAttributeValueProperty{
						DateValue: jsii.String("dateValue"),
						LongValue: jsii.Number(123),
						StringListValue: []*string{
							jsii.String("stringListValue"),
						},
						StringValue: jsii.String("stringValue"),
					},
				},
				DocumentContentOperator: jsii.String("documentContentOperator"),
				Target: &DocumentAttributeTargetProperty{
					Key: jsii.String("key"),

					// the properties below are optional
					AttributeValueOperator: jsii.String("attributeValueOperator"),
					Value: &DocumentAttributeValueProperty{
						DateValue: jsii.String("dateValue"),
						LongValue: jsii.Number(123),
						StringListValue: []*string{
							jsii.String("stringListValue"),
						},
						StringValue: jsii.String("stringValue"),
					},
				},
			},
		},
		PostExtractionHookConfiguration: &HookConfigurationProperty{
			InvocationCondition: &DocumentAttributeConditionProperty{
				Key: jsii.String("key"),
				Operator: jsii.String("operator"),

				// the properties below are optional
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
			LambdaArn: jsii.String("lambdaArn"),
			RoleArn: jsii.String("roleArn"),
			S3BucketName: jsii.String("s3BucketName"),
		},
		PreExtractionHookConfiguration: &HookConfigurationProperty{
			InvocationCondition: &DocumentAttributeConditionProperty{
				Key: jsii.String("key"),
				Operator: jsii.String("operator"),

				// the properties below are optional
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
			LambdaArn: jsii.String("lambdaArn"),
			RoleArn: jsii.String("roleArn"),
			S3BucketName: jsii.String("s3BucketName"),
		},
	},
	RoleArn: jsii.String("roleArn"),
	SyncSchedule: jsii.String("syncSchedule"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VpcConfiguration: &DataSourceVpcConfigurationProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		SubnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html

func NewCfnDataSource

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

type CfnDataSourceProps

type CfnDataSourceProps struct {
	// The identifier of the Amazon Q Business application the data source will be attached to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-applicationid
	//
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// Configuration information to connect to your data source repository.
	//
	// For configuration templates for your specific data source, see [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-configuration
	//
	Configuration interface{} `field:"required" json:"configuration" yaml:"configuration"`
	// The name of the Amazon Q Business data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-displayname
	//
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// The identifier of the index the data source is attached to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-indexid
	//
	IndexId *string `field:"required" json:"indexId" yaml:"indexId"`
	// A description for the data source connector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Provides the configuration information for altering document metadata and content during the document ingestion process.
	//
	// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-documentenrichmentconfiguration
	//
	DocumentEnrichmentConfiguration interface{} `field:"optional" json:"documentEnrichmentConfiguration" yaml:"documentEnrichmentConfiguration"`
	// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-rolearn
	//
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index.
	//
	// If you don't set a schedule, Amazon Q Business won't periodically update the index.
	//
	// Specify a `cron-` format schedule string or an empty string to indicate that the index is updated on demand. You can't specify the `Schedule` parameter when the `Type` parameter is set to `CUSTOM` . If you do, you receive a `ValidationException` exception.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-syncschedule
	//
	SyncSchedule *string `field:"optional" json:"syncSchedule" yaml:"syncSchedule"`
	// A list of key-value pairs that identify or categorize the data source connector.
	//
	// You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source.
	//
	// For more information, see [Using Amazon VPC with Amazon Q Business connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connector-vpc.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html#cfn-qbusiness-datasource-vpcconfiguration
	//
	VpcConfiguration interface{} `field:"optional" json:"vpcConfiguration" yaml:"vpcConfiguration"`
}

Properties for defining a `CfnDataSource`.

Example:

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

var configuration interface{}

cfnDataSourceProps := &CfnDataSourceProps{
	ApplicationId: jsii.String("applicationId"),
	Configuration: configuration,
	DisplayName: jsii.String("displayName"),
	IndexId: jsii.String("indexId"),

	// the properties below are optional
	Description: jsii.String("description"),
	DocumentEnrichmentConfiguration: &DocumentEnrichmentConfigurationProperty{
		InlineConfigurations: []interface{}{
			&InlineDocumentEnrichmentConfigurationProperty{
				Condition: &DocumentAttributeConditionProperty{
					Key: jsii.String("key"),
					Operator: jsii.String("operator"),

					// the properties below are optional
					Value: &DocumentAttributeValueProperty{
						DateValue: jsii.String("dateValue"),
						LongValue: jsii.Number(123),
						StringListValue: []*string{
							jsii.String("stringListValue"),
						},
						StringValue: jsii.String("stringValue"),
					},
				},
				DocumentContentOperator: jsii.String("documentContentOperator"),
				Target: &DocumentAttributeTargetProperty{
					Key: jsii.String("key"),

					// the properties below are optional
					AttributeValueOperator: jsii.String("attributeValueOperator"),
					Value: &DocumentAttributeValueProperty{
						DateValue: jsii.String("dateValue"),
						LongValue: jsii.Number(123),
						StringListValue: []*string{
							jsii.String("stringListValue"),
						},
						StringValue: jsii.String("stringValue"),
					},
				},
			},
		},
		PostExtractionHookConfiguration: &HookConfigurationProperty{
			InvocationCondition: &DocumentAttributeConditionProperty{
				Key: jsii.String("key"),
				Operator: jsii.String("operator"),

				// the properties below are optional
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
			LambdaArn: jsii.String("lambdaArn"),
			RoleArn: jsii.String("roleArn"),
			S3BucketName: jsii.String("s3BucketName"),
		},
		PreExtractionHookConfiguration: &HookConfigurationProperty{
			InvocationCondition: &DocumentAttributeConditionProperty{
				Key: jsii.String("key"),
				Operator: jsii.String("operator"),

				// the properties below are optional
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
			LambdaArn: jsii.String("lambdaArn"),
			RoleArn: jsii.String("roleArn"),
			S3BucketName: jsii.String("s3BucketName"),
		},
	},
	RoleArn: jsii.String("roleArn"),
	SyncSchedule: jsii.String("syncSchedule"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VpcConfiguration: &DataSourceVpcConfigurationProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		SubnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html

type CfnDataSource_DataSourceVpcConfigurationProperty

type CfnDataSource_DataSourceVpcConfigurationProperty struct {
	// A list of identifiers of security groups within your Amazon VPC.
	//
	// The security groups should enable Amazon Q Business to connect to the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html#cfn-qbusiness-datasource-datasourcevpcconfiguration-securitygroupids
	//
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// A list of identifiers for subnets within your Amazon VPC.
	//
	// The subnets should be able to connect to each other in the VPC, and they should have outgoing access to the Internet through a NAT device.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html#cfn-qbusiness-datasource-datasourcevpcconfiguration-subnetids
	//
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
}

Provides configuration information needed to connect to an Amazon VPC (Virtual Private Cloud).

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"

dataSourceVpcConfigurationProperty := &DataSourceVpcConfigurationProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	SubnetIds: []*string{
		jsii.String("subnetIds"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-datasourcevpcconfiguration.html

type CfnDataSource_DocumentAttributeConditionProperty

type CfnDataSource_DocumentAttributeConditionProperty struct {
	// The identifier of the document attribute used for the condition.
	//
	// For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.
	//
	// Amazon Q Business currently doesn't support `_document_body` as an attribute key used for the condition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// The identifier of the document attribute used for the condition.
	//
	// For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.
	//
	// Amazon Q Business currently does not support `_document_body` as an attribute key used for the condition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-operator
	//
	Operator *string `field:"required" json:"operator" yaml:"operator"`
	// The value of a document attribute.
	//
	// You can only provide one value for a document attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html#cfn-qbusiness-datasource-documentattributecondition-value
	//
	Value interface{} `field:"optional" json:"value" yaml:"value"`
}

The condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business.

You use this with [`DocumentAttributeTarget`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeTarget.html) to apply the condition.

For example, you can create the 'Department' target field and have it prefill department names associated with the documents based on information in the 'Source_URI' field. Set the condition that if the 'Source_URI' field contains 'financial' in its URI value, then prefill the target field 'Department' with the target value 'Finance' for the document.

Amazon Q Business can't create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using `DocumentAttributeTarget` . Amazon Q Business then will map your newly created metadata field to your index field.

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"

documentAttributeConditionProperty := &DocumentAttributeConditionProperty{
	Key: jsii.String("key"),
	Operator: jsii.String("operator"),

	// the properties below are optional
	Value: &DocumentAttributeValueProperty{
		DateValue: jsii.String("dateValue"),
		LongValue: jsii.Number(123),
		StringListValue: []*string{
			jsii.String("stringListValue"),
		},
		StringValue: jsii.String("stringValue"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributecondition.html

type CfnDataSource_DocumentAttributeTargetProperty

type CfnDataSource_DocumentAttributeTargetProperty struct {
	// The identifier of the target document attribute or metadata field.
	//
	// For example, 'Department' could be an identifier for the target attribute or metadata field that includes the department names associated with the documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// `TRUE` to delete the existing target value for your specified target attribute key.
	//
	// You cannot create a target value and set this to `TRUE` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-attributevalueoperator
	//
	AttributeValueOperator *string `field:"optional" json:"attributeValueOperator" yaml:"attributeValueOperator"`
	// The value of a document attribute.
	//
	// You can only provide one value for a document attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html#cfn-qbusiness-datasource-documentattributetarget-value
	//
	Value interface{} `field:"optional" json:"value" yaml:"value"`
}

The target document attribute or metadata field you want to alter when ingesting documents into Amazon Q Business.

For example, you can delete all customer identification numbers associated with the documents, stored in the document metadata field called 'Customer_ID' by setting the target key as 'Customer_ID' and the deletion flag to `TRUE` . This removes all customer ID values in the field 'Customer_ID'. This would scrub personally identifiable information from each document's metadata.

Amazon Q Business can't create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using [`DocumentAttributeTarget`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeTarget.html) . Amazon Q Business will then map your newly created document attribute to your index field.

You can also use this with [`DocumentAttributeCondition`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeCondition.html) .

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"

documentAttributeTargetProperty := &DocumentAttributeTargetProperty{
	Key: jsii.String("key"),

	// the properties below are optional
	AttributeValueOperator: jsii.String("attributeValueOperator"),
	Value: &DocumentAttributeValueProperty{
		DateValue: jsii.String("dateValue"),
		LongValue: jsii.Number(123),
		StringListValue: []*string{
			jsii.String("stringListValue"),
		},
		StringValue: jsii.String("stringValue"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributetarget.html

type CfnDataSource_DocumentAttributeValueProperty

type CfnDataSource_DocumentAttributeValueProperty struct {
	// A date expressed as an ISO 8601 string.
	//
	// It's important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-datevalue
	//
	DateValue *string `field:"optional" json:"dateValue" yaml:"dateValue"`
	// A long integer value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-longvalue
	//
	LongValue *float64 `field:"optional" json:"longValue" yaml:"longValue"`
	// A list of strings.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-stringlistvalue
	//
	StringListValue *[]*string `field:"optional" json:"stringListValue" yaml:"stringListValue"`
	// A string.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html#cfn-qbusiness-datasource-documentattributevalue-stringvalue
	//
	StringValue *string `field:"optional" json:"stringValue" yaml:"stringValue"`
}

The value of a document attribute.

You can only provide one value for a document attribute.

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"

documentAttributeValueProperty := &DocumentAttributeValueProperty{
	DateValue: jsii.String("dateValue"),
	LongValue: jsii.Number(123),
	StringListValue: []*string{
		jsii.String("stringListValue"),
	},
	StringValue: jsii.String("stringValue"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentattributevalue.html

type CfnDataSource_DocumentEnrichmentConfigurationProperty

type CfnDataSource_DocumentEnrichmentConfigurationProperty struct {
	// Configuration information to alter document attributes or metadata fields and content when ingesting documents into Amazon Q Business.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-inlineconfigurations
	//
	InlineConfigurations interface{} `field:"optional" json:"inlineConfigurations" yaml:"inlineConfigurations"`
	// Configuration information for invoking a Lambda function in AWS Lambda on the structured documents with their metadata and text extracted.
	//
	// You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see [Using Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-postextractionhookconfiguration
	//
	PostExtractionHookConfiguration interface{} `field:"optional" json:"postExtractionHookConfiguration" yaml:"postExtractionHookConfiguration"`
	// Configuration information for invoking a Lambda function in AWS Lambda on the original or raw documents before extracting their metadata and text.
	//
	// You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see [Using Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html#cfn-qbusiness-datasource-documentenrichmentconfiguration-preextractionhookconfiguration
	//
	PreExtractionHookConfiguration interface{} `field:"optional" json:"preExtractionHookConfiguration" yaml:"preExtractionHookConfiguration"`
}

Provides the configuration information for altering document metadata and content during the document ingestion process.

For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .

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"

documentEnrichmentConfigurationProperty := &DocumentEnrichmentConfigurationProperty{
	InlineConfigurations: []interface{}{
		&InlineDocumentEnrichmentConfigurationProperty{
			Condition: &DocumentAttributeConditionProperty{
				Key: jsii.String("key"),
				Operator: jsii.String("operator"),

				// the properties below are optional
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
			DocumentContentOperator: jsii.String("documentContentOperator"),
			Target: &DocumentAttributeTargetProperty{
				Key: jsii.String("key"),

				// the properties below are optional
				AttributeValueOperator: jsii.String("attributeValueOperator"),
				Value: &DocumentAttributeValueProperty{
					DateValue: jsii.String("dateValue"),
					LongValue: jsii.Number(123),
					StringListValue: []*string{
						jsii.String("stringListValue"),
					},
					StringValue: jsii.String("stringValue"),
				},
			},
		},
	},
	PostExtractionHookConfiguration: &HookConfigurationProperty{
		InvocationCondition: &DocumentAttributeConditionProperty{
			Key: jsii.String("key"),
			Operator: jsii.String("operator"),

			// the properties below are optional
			Value: &DocumentAttributeValueProperty{
				DateValue: jsii.String("dateValue"),
				LongValue: jsii.Number(123),
				StringListValue: []*string{
					jsii.String("stringListValue"),
				},
				StringValue: jsii.String("stringValue"),
			},
		},
		LambdaArn: jsii.String("lambdaArn"),
		RoleArn: jsii.String("roleArn"),
		S3BucketName: jsii.String("s3BucketName"),
	},
	PreExtractionHookConfiguration: &HookConfigurationProperty{
		InvocationCondition: &DocumentAttributeConditionProperty{
			Key: jsii.String("key"),
			Operator: jsii.String("operator"),

			// the properties below are optional
			Value: &DocumentAttributeValueProperty{
				DateValue: jsii.String("dateValue"),
				LongValue: jsii.Number(123),
				StringListValue: []*string{
					jsii.String("stringListValue"),
				},
				StringValue: jsii.String("stringValue"),
			},
		},
		LambdaArn: jsii.String("lambdaArn"),
		RoleArn: jsii.String("roleArn"),
		S3BucketName: jsii.String("s3BucketName"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-documentenrichmentconfiguration.html

type CfnDataSource_HookConfigurationProperty

type CfnDataSource_HookConfigurationProperty struct {
	// The condition used for when a Lambda function should be invoked.
	//
	// For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-invocationcondition
	//
	InvocationCondition interface{} `field:"optional" json:"invocationCondition" yaml:"invocationCondition"`
	// The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion.
	//
	// For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-lambdaarn
	//
	LambdaArn *string `field:"optional" json:"lambdaArn" yaml:"lambdaArn"`
	// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-rolearn
	//
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// Stores the original, raw documents or the structured, parsed documents before and after altering them.
	//
	// For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html#cfn-qbusiness-datasource-hookconfiguration-s3bucketname
	//
	S3BucketName *string `field:"optional" json:"s3BucketName" yaml:"s3BucketName"`
}

Provides the configuration information for invoking a Lambda function in AWS Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.

You can configure your Lambda function using the `PreExtractionHookConfiguration` parameter if you want to apply advanced alterations on the original or raw documents.

If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using `PostExtractionHookConfiguration` .

You can only invoke one Lambda function. However, this function can invoke other functions it requires.

For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .

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"

hookConfigurationProperty := &HookConfigurationProperty{
	InvocationCondition: &DocumentAttributeConditionProperty{
		Key: jsii.String("key"),
		Operator: jsii.String("operator"),

		// the properties below are optional
		Value: &DocumentAttributeValueProperty{
			DateValue: jsii.String("dateValue"),
			LongValue: jsii.Number(123),
			StringListValue: []*string{
				jsii.String("stringListValue"),
			},
			StringValue: jsii.String("stringValue"),
		},
	},
	LambdaArn: jsii.String("lambdaArn"),
	RoleArn: jsii.String("roleArn"),
	S3BucketName: jsii.String("s3BucketName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-hookconfiguration.html

type CfnDataSource_InlineDocumentEnrichmentConfigurationProperty

type CfnDataSource_InlineDocumentEnrichmentConfigurationProperty struct {
	// Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-condition
	//
	Condition interface{} `field:"optional" json:"condition" yaml:"condition"`
	// `TRUE` to delete content if the condition used for the target attribute is met.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-documentcontentoperator
	//
	DocumentContentOperator *string `field:"optional" json:"documentContentOperator" yaml:"documentContentOperator"`
	// Configuration of the target document attribute or metadata field when ingesting documents into Amazon Q Business .
	//
	// You can also include a value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html#cfn-qbusiness-datasource-inlinedocumentenrichmentconfiguration-target
	//
	Target interface{} `field:"optional" json:"target" yaml:"target"`
}

Provides the configuration information for applying basic logic to alter document metadata and content when ingesting documents into Amazon Q Business.

To apply advanced logic, to go beyond what you can do with basic logic, see [`HookConfiguration`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_HookConfiguration.html) .

For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .

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"

inlineDocumentEnrichmentConfigurationProperty := &InlineDocumentEnrichmentConfigurationProperty{
	Condition: &DocumentAttributeConditionProperty{
		Key: jsii.String("key"),
		Operator: jsii.String("operator"),

		// the properties below are optional
		Value: &DocumentAttributeValueProperty{
			DateValue: jsii.String("dateValue"),
			LongValue: jsii.Number(123),
			StringListValue: []*string{
				jsii.String("stringListValue"),
			},
			StringValue: jsii.String("stringValue"),
		},
	},
	DocumentContentOperator: jsii.String("documentContentOperator"),
	Target: &DocumentAttributeTargetProperty{
		Key: jsii.String("key"),

		// the properties below are optional
		AttributeValueOperator: jsii.String("attributeValueOperator"),
		Value: &DocumentAttributeValueProperty{
			DateValue: jsii.String("dateValue"),
			LongValue: jsii.Number(123),
			StringListValue: []*string{
				jsii.String("stringListValue"),
			},
			StringValue: jsii.String("stringValue"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-inlinedocumentenrichmentconfiguration.html

type CfnIndex

type CfnIndex interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The identifier of the Amazon Q Business application using the index.
	ApplicationId() *string
	SetApplicationId(val *string)
	// The Unix timestamp when the index was created.
	AttrCreatedAt() *string
	// The Amazon Resource Name (ARN) of an Amazon Q Business index.
	AttrIndexArn() *string
	// The identifier for the index.
	AttrIndexId() *string
	AttrIndexStatistics() awscdk.IResolvable
	// The current status of the index.
	//
	// When the status is `ACTIVE` , the index is ready.
	AttrStatus() *string
	// The Unix timestamp when the index was last updated.
	AttrUpdatedAt() *string
	// The capacity units you want to provision for your index.
	CapacityConfiguration() interface{}
	SetCapacityConfiguration(val interface{})
	// 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
	// A description for the Amazon Q Business index.
	Description() *string
	SetDescription(val *string)
	// The name of the index.
	DisplayName() *string
	SetDisplayName(val *string)
	// Configuration information for document attributes.
	DocumentAttributeConfigurations() interface{}
	SetDocumentAttributeConfigurations(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 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
	// A list of key-value pairs that identify or categorize the index.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// The index type that's suitable for your needs.
	Type() *string
	SetType(val *string)
	// 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.
	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 an Amazon Q Business index.

To determine if index creation has completed, check the `Status` field returned from a call to `DescribeIndex` . The `Status` field is set to `ACTIVE` when the index is ready to use.

Once the index is active, you can index your documents using the [`BatchPutDocument`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_BatchPutDocument.html) API or the [`CreateDataSource`](https://docs.aws.amazon.com/amazonq/latest/api-reference/API_CreateDataSource.html) API.

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"

cfnIndex := awscdk.Aws_qbusiness.NewCfnIndex(this, jsii.String("MyCfnIndex"), &CfnIndexProps{
	ApplicationId: jsii.String("applicationId"),
	DisplayName: jsii.String("displayName"),

	// the properties below are optional
	CapacityConfiguration: &IndexCapacityConfigurationProperty{
		Units: jsii.Number(123),
	},
	Description: jsii.String("description"),
	DocumentAttributeConfigurations: []interface{}{
		&DocumentAttributeConfigurationProperty{
			Name: jsii.String("name"),
			Search: jsii.String("search"),
			Type: jsii.String("type"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Type: jsii.String("type"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html

func NewCfnIndex

func NewCfnIndex(scope constructs.Construct, id *string, props *CfnIndexProps) CfnIndex

type CfnIndexProps

type CfnIndexProps struct {
	// The identifier of the Amazon Q Business application using the index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-applicationid
	//
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// The name of the index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-displayname
	//
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// The capacity units you want to provision for your index.
	//
	// You can add and remove capacity to fit your usage needs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-capacityconfiguration
	//
	CapacityConfiguration interface{} `field:"optional" json:"capacityConfiguration" yaml:"capacityConfiguration"`
	// A description for the Amazon Q Business index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Configuration information for document attributes.
	//
	// Document attributes are metadata or fields associated with your documents. For example, the company department name associated with each document.
	//
	// For more information, see [Understanding document attributes](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/doc-attributes.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-documentattributeconfigurations
	//
	DocumentAttributeConfigurations interface{} `field:"optional" json:"documentAttributeConfigurations" yaml:"documentAttributeConfigurations"`
	// A list of key-value pairs that identify or categorize the index.
	//
	// You can also use tags to help control access to the index. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The index type that's suitable for your needs.
	//
	// For more information on what's included in each type of index, see [Amazon Q Business tiers](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/tiers.html#index-tiers) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html#cfn-qbusiness-index-type
	//
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Properties for defining a `CfnIndex`.

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"

cfnIndexProps := &CfnIndexProps{
	ApplicationId: jsii.String("applicationId"),
	DisplayName: jsii.String("displayName"),

	// the properties below are optional
	CapacityConfiguration: &IndexCapacityConfigurationProperty{
		Units: jsii.Number(123),
	},
	Description: jsii.String("description"),
	DocumentAttributeConfigurations: []interface{}{
		&DocumentAttributeConfigurationProperty{
			Name: jsii.String("name"),
			Search: jsii.String("search"),
			Type: jsii.String("type"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html

type CfnIndex_DocumentAttributeConfigurationProperty

type CfnIndex_DocumentAttributeConfigurationProperty struct {
	// The name of the document attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Information about whether the document attribute can be used by an end user to search for information on their web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-search
	//
	Search *string `field:"optional" json:"search" yaml:"search"`
	// The type of document attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html#cfn-qbusiness-index-documentattributeconfiguration-type
	//
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Configuration information for document attributes.

Document attributes are metadata or fields associated with your documents. For example, the company department name associated with each document.

For more information, see [Understanding document attributes](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/doc-attributes.html) .

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"

documentAttributeConfigurationProperty := &DocumentAttributeConfigurationProperty{
	Name: jsii.String("name"),
	Search: jsii.String("search"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-documentattributeconfiguration.html

type CfnIndex_IndexCapacityConfigurationProperty

type CfnIndex_IndexCapacityConfigurationProperty struct {
	// The number of storage units configured for an Amazon Q Business index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexcapacityconfiguration.html#cfn-qbusiness-index-indexcapacityconfiguration-units
	//
	Units *float64 `field:"optional" json:"units" yaml:"units"`
}

Provides information about index capacity configuration.

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"

indexCapacityConfigurationProperty := &IndexCapacityConfigurationProperty{
	Units: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexcapacityconfiguration.html

type CfnIndex_IndexStatisticsProperty

type CfnIndex_IndexStatisticsProperty struct {
	// The number of documents indexed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexstatistics.html#cfn-qbusiness-index-indexstatistics-textdocumentstatistics
	//
	TextDocumentStatistics interface{} `field:"optional" json:"textDocumentStatistics" yaml:"textDocumentStatistics"`
}

Provides information about the number of documents in an index.

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"

indexStatisticsProperty := &IndexStatisticsProperty{
	TextDocumentStatistics: &TextDocumentStatisticsProperty{
		IndexedTextBytes: jsii.Number(123),
		IndexedTextDocumentCount: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-indexstatistics.html

type CfnIndex_TextDocumentStatisticsProperty

type CfnIndex_TextDocumentStatisticsProperty struct {
	// The total size, in bytes, of the indexed documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-textdocumentstatistics.html#cfn-qbusiness-index-textdocumentstatistics-indexedtextbytes
	//
	IndexedTextBytes *float64 `field:"optional" json:"indexedTextBytes" yaml:"indexedTextBytes"`
	// The number of text documents indexed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-textdocumentstatistics.html#cfn-qbusiness-index-textdocumentstatistics-indexedtextdocumentcount
	//
	IndexedTextDocumentCount *float64 `field:"optional" json:"indexedTextDocumentCount" yaml:"indexedTextDocumentCount"`
}

Provides information about text documents in an index.

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"

textDocumentStatisticsProperty := &TextDocumentStatisticsProperty{
	IndexedTextBytes: jsii.Number(123),
	IndexedTextDocumentCount: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-textdocumentstatistics.html

type CfnPlugin

type CfnPlugin interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The identifier of the application that will contain the plugin.
	ApplicationId() *string
	SetApplicationId(val *string)
	// The current status of a plugin.
	//
	// A plugin is modified asynchronously.
	AttrBuildStatus() *string
	// The timestamp for when the plugin was created.
	AttrCreatedAt() *string
	// The Amazon Resource Name (ARN) of a plugin.
	AttrPluginArn() *string
	// The identifier of the plugin.
	AttrPluginId() *string
	// The timestamp for when the plugin was last updated.
	AttrUpdatedAt() *string
	// Authentication configuration information for an Amazon Q Business plugin.
	AuthConfiguration() interface{}
	SetAuthConfiguration(val interface{})
	// 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
	// Configuration information required to create a custom plugin.
	CustomPluginConfiguration() interface{}
	SetCustomPluginConfiguration(val interface{})
	// The name of the plugin.
	DisplayName() *string
	SetDisplayName(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 plugin server URL used for configuration.
	ServerUrl() *string
	SetServerUrl(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The current status of the plugin.
	State() *string
	SetState(val *string)
	// A list of key-value pairs that identify or categorize the data source connector.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// The type of the plugin.
	Type() *string
	SetType(val *string)
	// 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.
	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{})
}

Information about an Amazon Q Business plugin and its configuration.

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 noAuthConfiguration interface{}

cfnPlugin := awscdk.Aws_qbusiness.NewCfnPlugin(this, jsii.String("MyCfnPlugin"), &CfnPluginProps{
	ApplicationId: jsii.String("applicationId"),
	AuthConfiguration: &PluginAuthConfigurationProperty{
		BasicAuthConfiguration: &BasicAuthConfigurationProperty{
			RoleArn: jsii.String("roleArn"),
			SecretArn: jsii.String("secretArn"),
		},
		NoAuthConfiguration: noAuthConfiguration,
		OAuth2ClientCredentialConfiguration: &OAuth2ClientCredentialConfigurationProperty{
			RoleArn: jsii.String("roleArn"),
			SecretArn: jsii.String("secretArn"),
		},
	},
	DisplayName: jsii.String("displayName"),
	Type: jsii.String("type"),

	// the properties below are optional
	CustomPluginConfiguration: &CustomPluginConfigurationProperty{
		ApiSchema: &APISchemaProperty{
			Payload: jsii.String("payload"),
			S3: &S3Property{
				Bucket: jsii.String("bucket"),
				Key: jsii.String("key"),
			},
		},
		ApiSchemaType: jsii.String("apiSchemaType"),
		Description: jsii.String("description"),
	},
	ServerUrl: jsii.String("serverUrl"),
	State: jsii.String("state"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html

func NewCfnPlugin

func NewCfnPlugin(scope constructs.Construct, id *string, props *CfnPluginProps) CfnPlugin

type CfnPluginProps

type CfnPluginProps struct {
	// The identifier of the application that will contain the plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-applicationid
	//
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// Authentication configuration information for an Amazon Q Business plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-authconfiguration
	//
	AuthConfiguration interface{} `field:"required" json:"authConfiguration" yaml:"authConfiguration"`
	// The name of the plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-displayname
	//
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// The type of the plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Configuration information required to create a custom plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-custompluginconfiguration
	//
	CustomPluginConfiguration interface{} `field:"optional" json:"customPluginConfiguration" yaml:"customPluginConfiguration"`
	// The plugin server URL used for configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-serverurl
	//
	ServerUrl *string `field:"optional" json:"serverUrl" yaml:"serverUrl"`
	// The current status of the plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-state
	//
	State *string `field:"optional" json:"state" yaml:"state"`
	// A list of key-value pairs that identify or categorize the data source connector.
	//
	// You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html#cfn-qbusiness-plugin-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnPlugin`.

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 noAuthConfiguration interface{}

cfnPluginProps := &CfnPluginProps{
	ApplicationId: jsii.String("applicationId"),
	AuthConfiguration: &PluginAuthConfigurationProperty{
		BasicAuthConfiguration: &BasicAuthConfigurationProperty{
			RoleArn: jsii.String("roleArn"),
			SecretArn: jsii.String("secretArn"),
		},
		NoAuthConfiguration: noAuthConfiguration,
		OAuth2ClientCredentialConfiguration: &OAuth2ClientCredentialConfigurationProperty{
			RoleArn: jsii.String("roleArn"),
			SecretArn: jsii.String("secretArn"),
		},
	},
	DisplayName: jsii.String("displayName"),
	Type: jsii.String("type"),

	// the properties below are optional
	CustomPluginConfiguration: &CustomPluginConfigurationProperty{
		ApiSchema: &APISchemaProperty{
			Payload: jsii.String("payload"),
			S3: &S3Property{
				Bucket: jsii.String("bucket"),
				Key: jsii.String("key"),
			},
		},
		ApiSchemaType: jsii.String("apiSchemaType"),
		Description: jsii.String("description"),
	},
	ServerUrl: jsii.String("serverUrl"),
	State: jsii.String("state"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html

type CfnPlugin_APISchemaProperty

type CfnPlugin_APISchemaProperty struct {
	// The JSON or YAML-formatted payload defining the OpenAPI schema for a custom plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-apischema.html#cfn-qbusiness-plugin-apischema-payload
	//
	Payload *string `field:"optional" json:"payload" yaml:"payload"`
	// Contains details about the S3 object containing the OpenAPI schema for a custom plugin.
	//
	// The schema could be in either JSON or YAML format.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-apischema.html#cfn-qbusiness-plugin-apischema-s3
	//
	S3 interface{} `field:"optional" json:"s3" yaml:"s3"`
}

Contains details about the OpenAPI schema for a custom plugin.

For more information, see [custom plugin OpenAPI schemas](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/custom-plugin.html#plugins-api-schema) . You can either include the schema directly in the payload field or you can upload it to an S3 bucket and specify the S3 bucket location in the `s3` field.

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"

aPISchemaProperty := &APISchemaProperty{
	Payload: jsii.String("payload"),
	S3: &S3Property{
		Bucket: jsii.String("bucket"),
		Key: jsii.String("key"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-apischema.html

type CfnPlugin_BasicAuthConfigurationProperty

type CfnPlugin_BasicAuthConfigurationProperty struct {
	// The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-basicauthconfiguration.html#cfn-qbusiness-plugin-basicauthconfiguration-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// The ARN of the Secrets Manager secret that stores the basic authentication credentials used for plugin configuration..
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-basicauthconfiguration.html#cfn-qbusiness-plugin-basicauthconfiguration-secretarn
	//
	SecretArn *string `field:"required" json:"secretArn" yaml:"secretArn"`
}

Information about the basic authentication credentials used to configure a plugin.

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"

basicAuthConfigurationProperty := &BasicAuthConfigurationProperty{
	RoleArn: jsii.String("roleArn"),
	SecretArn: jsii.String("secretArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-basicauthconfiguration.html

type CfnPlugin_CustomPluginConfigurationProperty

type CfnPlugin_CustomPluginConfigurationProperty struct {
	// Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-apischema
	//
	ApiSchema interface{} `field:"required" json:"apiSchema" yaml:"apiSchema"`
	// The type of OpenAPI schema to use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-apischematype
	//
	ApiSchemaType *string `field:"required" json:"apiSchemaType" yaml:"apiSchemaType"`
	// A description for your custom plugin configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-description
	//
	Description *string `field:"required" json:"description" yaml:"description"`
}

Configuration information required to create a custom plugin.

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"

customPluginConfigurationProperty := &CustomPluginConfigurationProperty{
	ApiSchema: &APISchemaProperty{
		Payload: jsii.String("payload"),
		S3: &S3Property{
			Bucket: jsii.String("bucket"),
			Key: jsii.String("key"),
		},
	},
	ApiSchemaType: jsii.String("apiSchemaType"),
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html

type CfnPlugin_OAuth2ClientCredentialConfigurationProperty

type CfnPlugin_OAuth2ClientCredentialConfigurationProperty struct {
	// The ARN of an IAM role used by Amazon Q Business to access the OAuth 2.0 authentication credentials stored in a Secrets Manager secret.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-oauth2clientcredentialconfiguration.html#cfn-qbusiness-plugin-oauth2clientcredentialconfiguration-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// The ARN of the Secrets Manager secret that stores the OAuth 2.0 credentials/token used for plugin configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-oauth2clientcredentialconfiguration.html#cfn-qbusiness-plugin-oauth2clientcredentialconfiguration-secretarn
	//
	SecretArn *string `field:"required" json:"secretArn" yaml:"secretArn"`
}

Information about the OAuth 2.0 authentication credential/token used to configure a plugin.

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"

oAuth2ClientCredentialConfigurationProperty := &OAuth2ClientCredentialConfigurationProperty{
	RoleArn: jsii.String("roleArn"),
	SecretArn: jsii.String("secretArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-oauth2clientcredentialconfiguration.html

type CfnPlugin_PluginAuthConfigurationProperty

type CfnPlugin_PluginAuthConfigurationProperty struct {
	// Information about the basic authentication credentials used to configure a plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-pluginauthconfiguration.html#cfn-qbusiness-plugin-pluginauthconfiguration-basicauthconfiguration
	//
	BasicAuthConfiguration interface{} `field:"optional" json:"basicAuthConfiguration" yaml:"basicAuthConfiguration"`
	// Information about invoking a custom plugin without any authentication.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-pluginauthconfiguration.html#cfn-qbusiness-plugin-pluginauthconfiguration-noauthconfiguration
	//
	NoAuthConfiguration interface{} `field:"optional" json:"noAuthConfiguration" yaml:"noAuthConfiguration"`
	// Information about the OAuth 2.0 authentication credential/token used to configure a plugin.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-pluginauthconfiguration.html#cfn-qbusiness-plugin-pluginauthconfiguration-oauth2clientcredentialconfiguration
	//
	OAuth2ClientCredentialConfiguration interface{} `field:"optional" json:"oAuth2ClientCredentialConfiguration" yaml:"oAuth2ClientCredentialConfiguration"`
}

Authentication configuration information for an Amazon Q Business plugin.

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 noAuthConfiguration interface{}

pluginAuthConfigurationProperty := &PluginAuthConfigurationProperty{
	BasicAuthConfiguration: &BasicAuthConfigurationProperty{
		RoleArn: jsii.String("roleArn"),
		SecretArn: jsii.String("secretArn"),
	},
	NoAuthConfiguration: noAuthConfiguration,
	OAuth2ClientCredentialConfiguration: &OAuth2ClientCredentialConfigurationProperty{
		RoleArn: jsii.String("roleArn"),
		SecretArn: jsii.String("secretArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-pluginauthconfiguration.html

type CfnPlugin_S3Property

type CfnPlugin_S3Property struct {
	// The name of the S3 bucket that contains the file.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-s3.html#cfn-qbusiness-plugin-s3-bucket
	//
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// The name of the file.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-s3.html#cfn-qbusiness-plugin-s3-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
}

Information required for Amazon Q Business to find a specific file in an Amazon 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"

s3Property := &S3Property{
	Bucket: jsii.String("bucket"),
	Key: jsii.String("key"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-s3.html

type CfnRetriever

type CfnRetriever interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The identifier of the Amazon Q Business application using the retriever.
	ApplicationId() *string
	SetApplicationId(val *string)
	// The Unix timestamp when the retriever was created.
	AttrCreatedAt() *string
	// The Amazon Resource Name (ARN) of the IAM role associated with the retriever.
	AttrRetrieverArn() *string
	// The identifier of the retriever used by your Amazon Q Business application.
	AttrRetrieverId() *string
	// The status of your retriever.
	AttrStatus() *string
	// The Unix timestamp when the retriever was last updated.
	AttrUpdatedAt() *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
	// Provides information on how the retriever used for your Amazon Q Business application is configured.
	Configuration() interface{}
	SetConfiguration(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The name of your retriever.
	DisplayName() *string
	SetDisplayName(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 ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
	RoleArn() *string
	SetRoleArn(val *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 that identify or categorize the retriever.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// The type of your retriever.
	Type() *string
	SetType(val *string)
	// 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.
	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{})
}

Adds a retriever to your Amazon Q Business application.

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"

cfnRetriever := awscdk.Aws_qbusiness.NewCfnRetriever(this, jsii.String("MyCfnRetriever"), &CfnRetrieverProps{
	ApplicationId: jsii.String("applicationId"),
	Configuration: &RetrieverConfigurationProperty{
		KendraIndexConfiguration: &KendraIndexConfigurationProperty{
			IndexId: jsii.String("indexId"),
		},
		NativeIndexConfiguration: &NativeIndexConfigurationProperty{
			IndexId: jsii.String("indexId"),
		},
	},
	DisplayName: jsii.String("displayName"),
	Type: jsii.String("type"),

	// the properties below are optional
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html

func NewCfnRetriever

func NewCfnRetriever(scope constructs.Construct, id *string, props *CfnRetrieverProps) CfnRetriever

type CfnRetrieverProps

type CfnRetrieverProps struct {
	// The identifier of the Amazon Q Business application using the retriever.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-applicationid
	//
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// Provides information on how the retriever used for your Amazon Q Business application is configured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-configuration
	//
	Configuration interface{} `field:"required" json:"configuration" yaml:"configuration"`
	// The name of your retriever.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-displayname
	//
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// The type of your retriever.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-rolearn
	//
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// A list of key-value pairs that identify or categorize the retriever.
	//
	// You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html#cfn-qbusiness-retriever-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnRetriever`.

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"

cfnRetrieverProps := &CfnRetrieverProps{
	ApplicationId: jsii.String("applicationId"),
	Configuration: &RetrieverConfigurationProperty{
		KendraIndexConfiguration: &KendraIndexConfigurationProperty{
			IndexId: jsii.String("indexId"),
		},
		NativeIndexConfiguration: &NativeIndexConfigurationProperty{
			IndexId: jsii.String("indexId"),
		},
	},
	DisplayName: jsii.String("displayName"),
	Type: jsii.String("type"),

	// the properties below are optional
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html

type CfnRetriever_KendraIndexConfigurationProperty

type CfnRetriever_KendraIndexConfigurationProperty struct {
	// The identifier of the Amazon Kendra index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-kendraindexconfiguration.html#cfn-qbusiness-retriever-kendraindexconfiguration-indexid
	//
	IndexId *string `field:"required" json:"indexId" yaml:"indexId"`
}

Stores an Amazon Kendra index as a retriever.

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"

kendraIndexConfigurationProperty := &KendraIndexConfigurationProperty{
	IndexId: jsii.String("indexId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-kendraindexconfiguration.html

type CfnRetriever_NativeIndexConfigurationProperty

type CfnRetriever_NativeIndexConfigurationProperty struct {
	// The identifier for the Amazon Q Business index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-nativeindexconfiguration.html#cfn-qbusiness-retriever-nativeindexconfiguration-indexid
	//
	IndexId *string `field:"required" json:"indexId" yaml:"indexId"`
}

Configuration information for an Amazon Q Business index.

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"

nativeIndexConfigurationProperty := &NativeIndexConfigurationProperty{
	IndexId: jsii.String("indexId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-nativeindexconfiguration.html

type CfnRetriever_RetrieverConfigurationProperty

type CfnRetriever_RetrieverConfigurationProperty struct {
	// Provides information on how the Amazon Kendra index used as a retriever for your Amazon Q Business application is configured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-retrieverconfiguration.html#cfn-qbusiness-retriever-retrieverconfiguration-kendraindexconfiguration
	//
	KendraIndexConfiguration interface{} `field:"optional" json:"kendraIndexConfiguration" yaml:"kendraIndexConfiguration"`
	// Provides information on how a Amazon Q Business index used as a retriever for your Amazon Q Business application is configured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-retrieverconfiguration.html#cfn-qbusiness-retriever-retrieverconfiguration-nativeindexconfiguration
	//
	NativeIndexConfiguration interface{} `field:"optional" json:"nativeIndexConfiguration" yaml:"nativeIndexConfiguration"`
}

Provides information on how the retriever used for your Amazon Q Business application is configured.

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"

retrieverConfigurationProperty := &RetrieverConfigurationProperty{
	KendraIndexConfiguration: &KendraIndexConfigurationProperty{
		IndexId: jsii.String("indexId"),
	},
	NativeIndexConfiguration: &NativeIndexConfigurationProperty{
		IndexId: jsii.String("indexId"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-retriever-retrieverconfiguration.html

type CfnWebExperience

type CfnWebExperience interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The identifier of the Amazon Q Business web experience.
	ApplicationId() *string
	SetApplicationId(val *string)
	// The Unix timestamp when the Amazon Q Business application was last updated.
	AttrCreatedAt() *string
	// The endpoint URLs for your Amazon Q Business web experience.
	//
	// The URLs are unique and fully hosted by AWS .
	AttrDefaultEndpoint() *string
	// The status of your Amazon Q Business web experience.
	AttrStatus() *string
	// The Unix timestamp when your Amazon Q Business web experience was updated.
	AttrUpdatedAt() *string
	// The Amazon Resource Name (ARN) of an Amazon Q Business web experience.
	AttrWebExperienceArn() *string
	// The identifier of your Amazon Q Business web experience.
	AttrWebExperienceId() *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 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 Amazon Resource Name (ARN) of the service role attached to your web experience.
	RoleArn() *string
	SetRoleArn(val *string)
	// Determines whether sample prompts are enabled in the web experience for an end user.
	SamplePromptsControlMode() *string
	SetSamplePromptsControlMode(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A subtitle to personalize your Amazon Q Business web experience.
	Subtitle() *string
	SetSubtitle(val *string)
	// A list of key-value pairs that identify or categorize your Amazon Q Business web experience.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// The title for your Amazon Q Business web experience.
	Title() *string
	SetTitle(val *string)
	// 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{}
	// A message in an Amazon Q Business web experience.
	WelcomeMessage() *string
	SetWelcomeMessage(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.
	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 an Amazon Q Business web experience.

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"

cfnWebExperience := awscdk.Aws_qbusiness.NewCfnWebExperience(this, jsii.String("MyCfnWebExperience"), &CfnWebExperienceProps{
	ApplicationId: jsii.String("applicationId"),

	// the properties below are optional
	RoleArn: jsii.String("roleArn"),
	SamplePromptsControlMode: jsii.String("samplePromptsControlMode"),
	Subtitle: jsii.String("subtitle"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Title: jsii.String("title"),
	WelcomeMessage: jsii.String("welcomeMessage"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html

func NewCfnWebExperience

func NewCfnWebExperience(scope constructs.Construct, id *string, props *CfnWebExperienceProps) CfnWebExperience

type CfnWebExperienceProps

type CfnWebExperienceProps struct {
	// The identifier of the Amazon Q Business web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-applicationid
	//
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// The Amazon Resource Name (ARN) of the service role attached to your web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-rolearn
	//
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// Determines whether sample prompts are enabled in the web experience for an end user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-samplepromptscontrolmode
	//
	SamplePromptsControlMode *string `field:"optional" json:"samplePromptsControlMode" yaml:"samplePromptsControlMode"`
	// A subtitle to personalize your Amazon Q Business web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-subtitle
	//
	Subtitle *string `field:"optional" json:"subtitle" yaml:"subtitle"`
	// A list of key-value pairs that identify or categorize your Amazon Q Business web experience.
	//
	// You can also use tags to help control access to the web experience. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The title for your Amazon Q Business web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-title
	//
	Title *string `field:"optional" json:"title" yaml:"title"`
	// A message in an Amazon Q Business web experience.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-welcomemessage
	//
	WelcomeMessage *string `field:"optional" json:"welcomeMessage" yaml:"welcomeMessage"`
}

Properties for defining a `CfnWebExperience`.

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"

cfnWebExperienceProps := &CfnWebExperienceProps{
	ApplicationId: jsii.String("applicationId"),

	// the properties below are optional
	RoleArn: jsii.String("roleArn"),
	SamplePromptsControlMode: jsii.String("samplePromptsControlMode"),
	Subtitle: jsii.String("subtitle"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Title: jsii.String("title"),
	WelcomeMessage: jsii.String("welcomeMessage"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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