/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the kendra-2019-02-03.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Kendra.Model
{
///
/// Container for the parameters to the UpdateIndex operation.
/// Updates an existing Amazon Kendra index.
///
public partial class UpdateIndexRequest : AmazonKendraRequest
{
private CapacityUnitsConfiguration _capacityUnits;
private string _description;
private List _documentMetadataConfigurationUpdates = new List();
private string _id;
private string _name;
private string _roleArn;
private UserContextPolicy _userContextPolicy;
private UserGroupResolutionConfiguration _userGroupResolutionConfiguration;
private List _userTokenConfigurations = new List();
///
/// Gets and sets the property CapacityUnits.
///
/// Sets the number of additional document storage and query capacity units that should
/// be used by the index. You can change the capacity of the index up to 5 times per day,
/// or make 5 API calls.
///
///
///
/// If you are using extra storage units, you can't reduce the storage capacity below
/// what is required to meet the storage needs for your index.
///
///
public CapacityUnitsConfiguration CapacityUnits
{
get { return this._capacityUnits; }
set { this._capacityUnits = value; }
}
// Check to see if CapacityUnits property is set
internal bool IsSetCapacityUnits()
{
return this._capacityUnits != null;
}
///
/// Gets and sets the property Description.
///
/// A new description for the index.
///
///
[AWSProperty(Min=0, Max=1000)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DocumentMetadataConfigurationUpdates.
///
/// The document metadata configuration you want to update for the index. Document metadata
/// are fields or attributes associated with your documents. For example, the company
/// department name associated with each document.
///
///
[AWSProperty(Min=0, Max=500)]
public List DocumentMetadataConfigurationUpdates
{
get { return this._documentMetadataConfigurationUpdates; }
set { this._documentMetadataConfigurationUpdates = value; }
}
// Check to see if DocumentMetadataConfigurationUpdates property is set
internal bool IsSetDocumentMetadataConfigurationUpdates()
{
return this._documentMetadataConfigurationUpdates != null && this._documentMetadataConfigurationUpdates.Count > 0;
}
///
/// Gets and sets the property Id.
///
/// The identifier of the index you want to update.
///
///
[AWSProperty(Required=true, Min=36, Max=36)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the index you want to update.
///
///
[AWSProperty(Min=1, Max=1000)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RoleArn.
///
/// An Identity and Access Management (IAM) role that gives Amazon Kendra permission to
/// access Amazon CloudWatch logs and metrics.
///
///
[AWSProperty(Min=0, Max=1284)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property UserContextPolicy.
///
/// The user context policy.
///
///
public UserContextPolicy UserContextPolicy
{
get { return this._userContextPolicy; }
set { this._userContextPolicy = value; }
}
// Check to see if UserContextPolicy property is set
internal bool IsSetUserContextPolicy()
{
return this._userContextPolicy != null;
}
///
/// Gets and sets the property UserGroupResolutionConfiguration.
///
/// Enables fetching access levels of groups and users from an IAM Identity Center (successor
/// to Single Sign-On) identity source. To configure this, see UserGroupResolutionConfiguration.
///
///
public UserGroupResolutionConfiguration UserGroupResolutionConfiguration
{
get { return this._userGroupResolutionConfiguration; }
set { this._userGroupResolutionConfiguration = value; }
}
// Check to see if UserGroupResolutionConfiguration property is set
internal bool IsSetUserGroupResolutionConfiguration()
{
return this._userGroupResolutionConfiguration != null;
}
///
/// Gets and sets the property UserTokenConfigurations.
///
/// The user token configuration.
///
///
[AWSProperty(Max=1)]
public List UserTokenConfigurations
{
get { return this._userTokenConfigurations; }
set { this._userTokenConfigurations = value; }
}
// Check to see if UserTokenConfigurations property is set
internal bool IsSetUserTokenConfigurations()
{
return this._userTokenConfigurations != null && this._userTokenConfigurations.Count > 0;
}
}
}