Class: AWSCDK::Kendra::CfnIndexProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Kendra::CfnIndexProps
- Defined in:
- kendra/cfn_index_props.rb
Overview
Properties for defining a CfnIndex.
Instance Attribute Summary collapse
-
#capacity_units ⇒ AWSCDK::IResolvable, ...
readonly
Specifies additional capacity units configured for your Enterprise Edition index.
-
#description ⇒ String?
readonly
A description for the index.
-
#document_metadata_configurations ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the properties of an index field.
-
#edition ⇒ String
readonly
Indicates whether the index is a Enterprise Edition index, a Developer Edition index, or a GenAI Enterprise Edition index.
-
#name ⇒ String
readonly
The name of the index.
-
#role_arn ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef
readonly
An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics.
-
#server_side_encryption_configuration ⇒ AWSCDK::IResolvable, ...
readonly
The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of key-value pairs to apply to this resource.
-
#user_context_policy ⇒ String?
readonly
The user context policy.
-
#user_token_configurations ⇒ AWSCDK::IResolvable, ...
readonly
Defines the type of user token used for the index.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(edition:, name:, role_arn:, capacity_units: nil, description: nil, document_metadata_configurations: nil, server_side_encryption_configuration: nil, tags: nil, user_context_policy: nil, user_token_configurations: nil) ⇒ CfnIndexProps
constructor
A new instance of CfnIndexProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(edition:, name:, role_arn:, capacity_units: nil, description: nil, document_metadata_configurations: nil, server_side_encryption_configuration: nil, tags: nil, user_context_policy: nil, user_token_configurations: nil) ⇒ CfnIndexProps
Returns a new instance of CfnIndexProps.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'kendra/cfn_index_props.rb', line 19 def initialize(edition:, name:, role_arn:, capacity_units: nil, description: nil, document_metadata_configurations: nil, server_side_encryption_configuration: nil, tags: nil, user_context_policy: nil, user_token_configurations: nil) @edition = edition Jsii::Type.check_type(@edition, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "edition") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn") @capacity_units = capacity_units.is_a?(Hash) ? ::AWSCDK::Kendra::CfnIndex::CapacityUnitsConfigurationProperty.new(**capacity_units.transform_keys(&:to_sym)) : capacity_units Jsii::Type.check_type(@capacity_units, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rZW5kcmEuQ2ZuSW5kZXguQ2FwYWNpdHlVbml0c0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "capacityUnits") unless @capacity_units.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @document_metadata_configurations = Jsii::Type.check_type(@document_metadata_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2VuZHJhLkNmbkluZGV4LkRvY3VtZW50TWV0YWRhdGFDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "documentMetadataConfigurations") unless @document_metadata_configurations.nil? @server_side_encryption_configuration = server_side_encryption_configuration.is_a?(Hash) ? ::AWSCDK::Kendra::CfnIndex::ServerSideEncryptionConfigurationProperty.new(**server_side_encryption_configuration.transform_keys(&:to_sym)) : server_side_encryption_configuration Jsii::Type.check_type(@server_side_encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rZW5kcmEuQ2ZuSW5kZXguU2VydmVyU2lkZUVuY3J5cHRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "serverSideEncryptionConfiguration") unless @server_side_encryption_configuration.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @user_context_policy = user_context_policy Jsii::Type.check_type(@user_context_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userContextPolicy") unless @user_context_policy.nil? @user_token_configurations = user_token_configurations Jsii::Type.check_type(@user_token_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2VuZHJhLkNmbkluZGV4LlVzZXJUb2tlbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "userTokenConfigurations") unless @user_token_configurations.nil? end |
Instance Attribute Details
#capacity_units ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies additional capacity units configured for your Enterprise Edition index.
You can add and remove capacity units to fit your usage requirements.
65 66 67 |
# File 'kendra/cfn_index_props.rb', line 65 def capacity_units @capacity_units end |
#description ⇒ String? (readonly)
A description for the index.
70 71 72 |
# File 'kendra/cfn_index_props.rb', line 70 def description @description end |
#document_metadata_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the properties of an index field.
You can add either a custom or a built-in field. You can add and remove built-in fields at any time. When a built-in field is removed it's configuration reverts to the default for the field. Custom fields can't be removed from an index after they are added.
77 78 79 |
# File 'kendra/cfn_index_props.rb', line 77 def @document_metadata_configurations end |
#edition ⇒ String (readonly)
Indicates whether the index is a Enterprise Edition index, a Developer Edition index, or a GenAI Enterprise Edition index.
46 47 48 |
# File 'kendra/cfn_index_props.rb', line 46 def edition @edition end |
#name ⇒ String (readonly)
The name of the index.
51 52 53 |
# File 'kendra/cfn_index_props.rb', line 51 def name @name end |
#role_arn ⇒ String, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)
An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics.
This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
58 59 60 |
# File 'kendra/cfn_index_props.rb', line 58 def role_arn @role_arn end |
#server_side_encryption_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra.
Amazon Kendra doesn't support asymmetric CMKs.
84 85 86 |
# File 'kendra/cfn_index_props.rb', line 84 def server_side_encryption_configuration @server_side_encryption_configuration end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of key-value pairs to apply to this resource.
For more information, see Tag .
91 92 93 |
# File 'kendra/cfn_index_props.rb', line 91 def @tags end |
#user_context_policy ⇒ String? (readonly)
The user context policy.
ATTRIBUTE_FILTER
- All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of
_user_idand_group_idsor you can provide user and group information inUserContext.
USER_TOKEN
- Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
104 105 106 |
# File 'kendra/cfn_index_props.rb', line 104 def user_context_policy @user_context_policy end |
#user_token_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
Defines the type of user token used for the index.
109 110 111 |
# File 'kendra/cfn_index_props.rb', line 109 def user_token_configurations @user_token_configurations end |
Class Method Details
.jsii_properties ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'kendra/cfn_index_props.rb', line 111 def self.jsii_properties { :edition => "edition", :name => "name", :role_arn => "roleArn", :capacity_units => "capacityUnits", :description => "description", :document_metadata_configurations => "documentMetadataConfigurations", :server_side_encryption_configuration => "serverSideEncryptionConfiguration", :tags => "tags", :user_context_policy => "userContextPolicy", :user_token_configurations => "userTokenConfigurations", } end |
Instance Method Details
#to_jsii ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'kendra/cfn_index_props.rb', line 126 def to_jsii result = {} result.merge!({ "edition" => @edition, "name" => @name, "roleArn" => @role_arn, "capacityUnits" => @capacity_units, "description" => @description, "documentMetadataConfigurations" => @document_metadata_configurations, "serverSideEncryptionConfiguration" => @server_side_encryption_configuration, "tags" => @tags, "userContextPolicy" => @user_context_policy, "userTokenConfigurations" => @user_token_configurations, }) result.compact end |