class Aws::Kendra::Types::CreateIndexRequest

@note When making an API call, you may pass CreateIndexRequest

data as a hash:

    {
      name: "IndexName", # required
      edition: "DEVELOPER_EDITION", # accepts DEVELOPER_EDITION, ENTERPRISE_EDITION
      role_arn: "RoleArn", # required
      server_side_encryption_configuration: {
        kms_key_id: "KmsKeyId",
      },
      description: "Description",
      client_token: "ClientTokenName",
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      user_token_configurations: [
        {
          jwt_token_type_configuration: {
            key_location: "URL", # required, accepts URL, SECRET_MANAGER
            url: "Url",
            secret_manager_arn: "RoleArn",
            user_name_attribute_field: "UserNameAttributeField",
            group_attribute_field: "GroupAttributeField",
            issuer: "Issuer",
            claim_regex: "ClaimRegex",
          },
          json_token_type_configuration: {
            user_name_attribute_field: "String", # required
            group_attribute_field: "String", # required
          },
        },
      ],
      user_context_policy: "ATTRIBUTE_FILTER", # accepts ATTRIBUTE_FILTER, USER_TOKEN
    }

@!attribute [rw] name

The name for the new index.
@return [String]

@!attribute [rw] edition

The Amazon Kendra edition to use for the index. Choose
`DEVELOPER_EDITION` for indexes intended for development, testing,
or proof of concept. Use `ENTERPRISE_EDITION` for your production
databases. Once you set the edition for an index, it can't be
changed.

The `Edition` parameter is optional. If you don't supply a value,
the default is `ENTERPRISE_EDITION`.

For more information on quota limits for enterprise and developer
editions, see [Quotas][1].

[1]: https://docs.aws.amazon.com/kendra/latest/dg/quotas.html
@return [String]

@!attribute [rw] role_arn

An Identity and Access Management(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.
@return [String]

@!attribute [rw] server_side_encryption_configuration

The identifier of the KMScustomer managed key (CMK) to use to
encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't
support asymmetric CMKs.
@return [Types::ServerSideEncryptionConfiguration]

@!attribute [rw] description

A description for the index.
@return [String]

@!attribute [rw] client_token

A token that you provide to identify the request to create an index.
Multiple calls to the `CreateIndex` operation with the same client
token will create only one index.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@!attribute [rw] tags

A list of key-value pairs that identify the index. You can use the
tags to identify and organize your resources and to control access
to resources.
@return [Array<Types::Tag>]

@!attribute [rw] user_token_configurations

The user token configuration.
@return [Array<Types::UserTokenConfiguration>]

@!attribute [rw] user_context_policy

The user context policy.

ATTRIBUTE\_FILTER

: All indexed content is searchable and displayable for all users.
  If there is an access control list, it is ignored. You can filter
  on user and group attributes.

USER\_TOKEN

: Enables SSO and token-based user access control. All documents
  with no access control and all documents accessible to the user
  will be searchable and displayable.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateIndexRequest AWS API Documentation

Constants

SENSITIVE