The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::Kendra::CreateIndex - Arguments for method CreateIndex on Paws::Kendra

DESCRIPTION

This class represents the parameters used for calling the method CreateIndex on the AWSKendraFrontendService service. Use the attributes of this class as arguments to method CreateIndex.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateIndex.

SYNOPSIS

my $kendra = Paws->service('Kendra');
my $CreateIndexResponse = $kendra->CreateIndex(
  Name                              => 'MyIndexName',
  RoleArn                           => 'MyRoleArn',
  ClientToken                       => 'MyClientTokenName',    # OPTIONAL
  Description                       => 'MyDescription',        # OPTIONAL
  Edition                           => 'DEVELOPER_EDITION',    # OPTIONAL
  ServerSideEncryptionConfiguration => {
    KmsKeyId => 'MyKmsKeyId',    # min: 1, max: 2048; OPTIONAL
  },    # OPTIONAL
  Tags => [
    {
      Key   => 'MyTagKey',      # min: 1, max: 128
      Value => 'MyTagValue',    # max: 256

    },
    ...
  ],    # OPTIONAL
  UserContextPolicy       => 'ATTRIBUTE_FILTER',    # OPTIONAL
  UserTokenConfigurations => [
    {
      JsonTokenTypeConfiguration => {
        GroupAttributeField    => 'MyString',    # min: 1, max: 2048
        UserNameAttributeField => 'MyString',    # min: 1, max: 2048

      },    # OPTIONAL
      JwtTokenTypeConfiguration => {
        KeyLocation         => 'URL',          # values: URL, SECRET_MANAGER
        ClaimRegex          => 'MyClaimRegex', # min: 1, max: 100; OPTIONAL
        GroupAttributeField =>
          'MyGroupAttributeField',             # min: 1, max: 100; OPTIONAL
        Issuer                 => 'MyIssuer',  # min: 1, max: 65; OPTIONAL
        SecretManagerArn       => 'MyRoleArn', # min: 1, max: 1284
        URL                    => 'MyUrl',     # min: 1, max: 2048; OPTIONAL
        UserNameAttributeField =>
          'MyUserNameAttributeField',          # min: 1, max: 100; OPTIONAL
      },    # OPTIONAL
    },
    ...
  ],    # OPTIONAL
);

# Results:
my $Id = $CreateIndexResponse->Id;

# Returns a L<Paws::Kendra::CreateIndexResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/kendra/CreateIndex

ATTRIBUTES

ClientToken => Str

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.

Description => Str

A description for the index.

Edition => Str

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 (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html).

Valid values are: "DEVELOPER_EDITION", "ENTERPRISE_EDITION"

REQUIRED Name => Str

The name for the new index.

REQUIRED RoleArn => Str

An AWS 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.

ServerSideEncryptionConfiguration => Paws::Kendra::ServerSideEncryptionConfiguration

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.

Tags => ArrayRef[Paws::Kendra::Tag]

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.

UserContextPolicy => Str

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.

Valid values are: "ATTRIBUTE_FILTER", "USER_TOKEN"

UserTokenConfigurations => ArrayRef[Paws::Kendra::UserTokenConfiguration]

The user token configuration.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateIndex in Paws::Kendra

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues