Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.kendra.inputs.IndexState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.kendra.inputs;
import com.pulumi.aws.kendra.inputs.IndexCapacityUnitsArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;
import com.pulumi.aws.kendra.inputs.IndexIndexStatisticArgs;
import com.pulumi.aws.kendra.inputs.IndexServerSideEncryptionConfigurationArgs;
import com.pulumi.aws.kendra.inputs.IndexUserGroupResolutionConfigurationArgs;
import com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class IndexState extends com.pulumi.resources.ResourceArgs {
public static final IndexState Empty = new IndexState();
/**
* The Amazon Resource Name (ARN) of the Index.
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return The Amazon Resource Name (ARN) of the Index.
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.
*
*/
@Import(name="capacityUnits")
private @Nullable Output capacityUnits;
/**
* @return A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.
*
*/
public Optional> capacityUnits() {
return Optional.ofNullable(this.capacityUnits);
}
/**
* The Unix datetime that the index was created.
*
*/
@Import(name="createdAt")
private @Nullable Output createdAt;
/**
* @return The Unix datetime that the index was created.
*
*/
public Optional> createdAt() {
return Optional.ofNullable(this.createdAt);
}
/**
* The description of the Index.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description of the Index.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at [Amazon Kendra Index documentation](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html). For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.
*
*/
@Import(name="documentMetadataConfigurationUpdates")
private @Nullable Output> documentMetadataConfigurationUpdates;
/**
* @return One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at [Amazon Kendra Index documentation](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html). For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.
*
*/
public Optional>> documentMetadataConfigurationUpdates() {
return Optional.ofNullable(this.documentMetadataConfigurationUpdates);
}
/**
* 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. Defaults to `ENTERPRISE_EDITION`
*
*/
@Import(name="edition")
private @Nullable Output edition;
/**
* @return 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. Defaults to `ENTERPRISE_EDITION`
*
*/
public Optional> edition() {
return Optional.ofNullable(this.edition);
}
/**
* When the Status field value is `FAILED`, this contains a message that explains why.
*
*/
@Import(name="errorMessage")
private @Nullable Output errorMessage;
/**
* @return When the Status field value is `FAILED`, this contains a message that explains why.
*
*/
public Optional> errorMessage() {
return Optional.ofNullable(this.errorMessage);
}
/**
* A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.
*
*/
@Import(name="indexStatistics")
private @Nullable Output> indexStatistics;
/**
* @return A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.
*
*/
public Optional>> indexStatistics() {
return Optional.ofNullable(this.indexStatistics);
}
/**
* Specifies the name of the Index.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the Index.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* 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 you use when you call the `BatchPutDocument` API to index documents from an Amazon S3 bucket.
*
*/
@Import(name="roleArn")
private @Nullable Output roleArn;
/**
* @return 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 you use when you call the `BatchPutDocument` API to index documents from an Amazon S3 bucket.
*
*/
public Optional> roleArn() {
return Optional.ofNullable(this.roleArn);
}
/**
* A block that specifies the identifier of the AWS KMS customer managed key (CMK) that's used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. Detailed below.
*
*/
@Import(name="serverSideEncryptionConfiguration")
private @Nullable Output serverSideEncryptionConfiguration;
/**
* @return A block that specifies the identifier of the AWS KMS customer managed key (CMK) that's used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. Detailed below.
*
*/
public Optional> serverSideEncryptionConfiguration() {
return Optional.ofNullable(this.serverSideEncryptionConfiguration);
}
/**
* The current status of the index. When the value is `ACTIVE`, the index is ready for use. If the Status field value is `FAILED`, the `error_message` field contains a message that explains why.
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return The current status of the index. When the value is `ACTIVE`, the index is ready for use. If the Status field value is `FAILED`, the `error_message` field contains a message that explains why.
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* Tags to apply to the Index. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Tags to apply to the Index. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
/**
* The Unix datetime that the index was last updated.
*
*/
@Import(name="updatedAt")
private @Nullable Output updatedAt;
/**
* @return The Unix datetime that the index was last updated.
*
*/
public Optional> updatedAt() {
return Optional.ofNullable(this.updatedAt);
}
/**
* The user context policy. Valid values are `ATTRIBUTE_FILTER` or `USER_TOKEN`. For more information, refer to [UserContextPolicy](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html#kendra-CreateIndex-request-UserContextPolicy). Defaults to `ATTRIBUTE_FILTER`.
*
*/
@Import(name="userContextPolicy")
private @Nullable Output userContextPolicy;
/**
* @return The user context policy. Valid values are `ATTRIBUTE_FILTER` or `USER_TOKEN`. For more information, refer to [UserContextPolicy](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html#kendra-CreateIndex-request-UserContextPolicy). Defaults to `ATTRIBUTE_FILTER`.
*
*/
public Optional> userContextPolicy() {
return Optional.ofNullable(this.userContextPolicy);
}
/**
* A block that enables fetching access levels of groups and users from an AWS Single Sign-On identity source. To configure this, see [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html). Detailed below.
*
*/
@Import(name="userGroupResolutionConfiguration")
private @Nullable Output userGroupResolutionConfiguration;
/**
* @return A block that enables fetching access levels of groups and users from an AWS Single Sign-On identity source. To configure this, see [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html). Detailed below.
*
*/
public Optional> userGroupResolutionConfiguration() {
return Optional.ofNullable(this.userGroupResolutionConfiguration);
}
/**
* A block that specifies the user token configuration. Detailed below.
*
*/
@Import(name="userTokenConfigurations")
private @Nullable Output userTokenConfigurations;
/**
* @return A block that specifies the user token configuration. Detailed below.
*
*/
public Optional> userTokenConfigurations() {
return Optional.ofNullable(this.userTokenConfigurations);
}
private IndexState() {}
private IndexState(IndexState $) {
this.arn = $.arn;
this.capacityUnits = $.capacityUnits;
this.createdAt = $.createdAt;
this.description = $.description;
this.documentMetadataConfigurationUpdates = $.documentMetadataConfigurationUpdates;
this.edition = $.edition;
this.errorMessage = $.errorMessage;
this.indexStatistics = $.indexStatistics;
this.name = $.name;
this.roleArn = $.roleArn;
this.serverSideEncryptionConfiguration = $.serverSideEncryptionConfiguration;
this.status = $.status;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
this.updatedAt = $.updatedAt;
this.userContextPolicy = $.userContextPolicy;
this.userGroupResolutionConfiguration = $.userGroupResolutionConfiguration;
this.userTokenConfigurations = $.userTokenConfigurations;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(IndexState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private IndexState $;
public Builder() {
$ = new IndexState();
}
public Builder(IndexState defaults) {
$ = new IndexState(Objects.requireNonNull(defaults));
}
/**
* @param arn The Amazon Resource Name (ARN) of the Index.
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn The Amazon Resource Name (ARN) of the Index.
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param capacityUnits A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.
*
* @return builder
*
*/
public Builder capacityUnits(@Nullable Output capacityUnits) {
$.capacityUnits = capacityUnits;
return this;
}
/**
* @param capacityUnits A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.
*
* @return builder
*
*/
public Builder capacityUnits(IndexCapacityUnitsArgs capacityUnits) {
return capacityUnits(Output.of(capacityUnits));
}
/**
* @param createdAt The Unix datetime that the index was created.
*
* @return builder
*
*/
public Builder createdAt(@Nullable Output createdAt) {
$.createdAt = createdAt;
return this;
}
/**
* @param createdAt The Unix datetime that the index was created.
*
* @return builder
*
*/
public Builder createdAt(String createdAt) {
return createdAt(Output.of(createdAt));
}
/**
* @param description The description of the Index.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description of the Index.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param documentMetadataConfigurationUpdates One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at [Amazon Kendra Index documentation](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html). For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.
*
* @return builder
*
*/
public Builder documentMetadataConfigurationUpdates(@Nullable Output> documentMetadataConfigurationUpdates) {
$.documentMetadataConfigurationUpdates = documentMetadataConfigurationUpdates;
return this;
}
/**
* @param documentMetadataConfigurationUpdates One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at [Amazon Kendra Index documentation](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html). For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.
*
* @return builder
*
*/
public Builder documentMetadataConfigurationUpdates(List documentMetadataConfigurationUpdates) {
return documentMetadataConfigurationUpdates(Output.of(documentMetadataConfigurationUpdates));
}
/**
* @param documentMetadataConfigurationUpdates One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at [Amazon Kendra Index documentation](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html). For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.
*
* @return builder
*
*/
public Builder documentMetadataConfigurationUpdates(IndexDocumentMetadataConfigurationUpdateArgs... documentMetadataConfigurationUpdates) {
return documentMetadataConfigurationUpdates(List.of(documentMetadataConfigurationUpdates));
}
/**
* @param 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. Defaults to `ENTERPRISE_EDITION`
*
* @return builder
*
*/
public Builder edition(@Nullable Output edition) {
$.edition = edition;
return this;
}
/**
* @param 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. Defaults to `ENTERPRISE_EDITION`
*
* @return builder
*
*/
public Builder edition(String edition) {
return edition(Output.of(edition));
}
/**
* @param errorMessage When the Status field value is `FAILED`, this contains a message that explains why.
*
* @return builder
*
*/
public Builder errorMessage(@Nullable Output errorMessage) {
$.errorMessage = errorMessage;
return this;
}
/**
* @param errorMessage When the Status field value is `FAILED`, this contains a message that explains why.
*
* @return builder
*
*/
public Builder errorMessage(String errorMessage) {
return errorMessage(Output.of(errorMessage));
}
/**
* @param indexStatistics A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.
*
* @return builder
*
*/
public Builder indexStatistics(@Nullable Output> indexStatistics) {
$.indexStatistics = indexStatistics;
return this;
}
/**
* @param indexStatistics A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.
*
* @return builder
*
*/
public Builder indexStatistics(List indexStatistics) {
return indexStatistics(Output.of(indexStatistics));
}
/**
* @param indexStatistics A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.
*
* @return builder
*
*/
public Builder indexStatistics(IndexIndexStatisticArgs... indexStatistics) {
return indexStatistics(List.of(indexStatistics));
}
/**
* @param name Specifies the name of the Index.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the Index.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param roleArn 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 you use when you call the `BatchPutDocument` API to index documents from an Amazon S3 bucket.
*
* @return builder
*
*/
public Builder roleArn(@Nullable Output roleArn) {
$.roleArn = roleArn;
return this;
}
/**
* @param roleArn 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 you use when you call the `BatchPutDocument` API to index documents from an Amazon S3 bucket.
*
* @return builder
*
*/
public Builder roleArn(String roleArn) {
return roleArn(Output.of(roleArn));
}
/**
* @param serverSideEncryptionConfiguration A block that specifies the identifier of the AWS KMS customer managed key (CMK) that's used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. Detailed below.
*
* @return builder
*
*/
public Builder serverSideEncryptionConfiguration(@Nullable Output serverSideEncryptionConfiguration) {
$.serverSideEncryptionConfiguration = serverSideEncryptionConfiguration;
return this;
}
/**
* @param serverSideEncryptionConfiguration A block that specifies the identifier of the AWS KMS customer managed key (CMK) that's used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. Detailed below.
*
* @return builder
*
*/
public Builder serverSideEncryptionConfiguration(IndexServerSideEncryptionConfigurationArgs serverSideEncryptionConfiguration) {
return serverSideEncryptionConfiguration(Output.of(serverSideEncryptionConfiguration));
}
/**
* @param status The current status of the index. When the value is `ACTIVE`, the index is ready for use. If the Status field value is `FAILED`, the `error_message` field contains a message that explains why.
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status The current status of the index. When the value is `ACTIVE`, the index is ready for use. If the Status field value is `FAILED`, the `error_message` field contains a message that explains why.
*
* @return builder
*
*/
public Builder status(String status) {
return status(Output.of(status));
}
/**
* @param tags Tags to apply to the Index. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Tags to apply to the Index. If configured with a provider
* `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
/**
* @param updatedAt The Unix datetime that the index was last updated.
*
* @return builder
*
*/
public Builder updatedAt(@Nullable Output updatedAt) {
$.updatedAt = updatedAt;
return this;
}
/**
* @param updatedAt The Unix datetime that the index was last updated.
*
* @return builder
*
*/
public Builder updatedAt(String updatedAt) {
return updatedAt(Output.of(updatedAt));
}
/**
* @param userContextPolicy The user context policy. Valid values are `ATTRIBUTE_FILTER` or `USER_TOKEN`. For more information, refer to [UserContextPolicy](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html#kendra-CreateIndex-request-UserContextPolicy). Defaults to `ATTRIBUTE_FILTER`.
*
* @return builder
*
*/
public Builder userContextPolicy(@Nullable Output userContextPolicy) {
$.userContextPolicy = userContextPolicy;
return this;
}
/**
* @param userContextPolicy The user context policy. Valid values are `ATTRIBUTE_FILTER` or `USER_TOKEN`. For more information, refer to [UserContextPolicy](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html#kendra-CreateIndex-request-UserContextPolicy). Defaults to `ATTRIBUTE_FILTER`.
*
* @return builder
*
*/
public Builder userContextPolicy(String userContextPolicy) {
return userContextPolicy(Output.of(userContextPolicy));
}
/**
* @param userGroupResolutionConfiguration A block that enables fetching access levels of groups and users from an AWS Single Sign-On identity source. To configure this, see [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html). Detailed below.
*
* @return builder
*
*/
public Builder userGroupResolutionConfiguration(@Nullable Output userGroupResolutionConfiguration) {
$.userGroupResolutionConfiguration = userGroupResolutionConfiguration;
return this;
}
/**
* @param userGroupResolutionConfiguration A block that enables fetching access levels of groups and users from an AWS Single Sign-On identity source. To configure this, see [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_UserGroupResolutionConfiguration.html). Detailed below.
*
* @return builder
*
*/
public Builder userGroupResolutionConfiguration(IndexUserGroupResolutionConfigurationArgs userGroupResolutionConfiguration) {
return userGroupResolutionConfiguration(Output.of(userGroupResolutionConfiguration));
}
/**
* @param userTokenConfigurations A block that specifies the user token configuration. Detailed below.
*
* @return builder
*
*/
public Builder userTokenConfigurations(@Nullable Output userTokenConfigurations) {
$.userTokenConfigurations = userTokenConfigurations;
return this;
}
/**
* @param userTokenConfigurations A block that specifies the user token configuration. Detailed below.
*
* @return builder
*
*/
public Builder userTokenConfigurations(IndexUserTokenConfigurationsArgs userTokenConfigurations) {
return userTokenConfigurations(Output.of(userTokenConfigurations));
}
public IndexState build() {
return $;
}
}
}