/* * 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 UpdateAccessControlConfiguration operation. /// Updates an access control configuration for your documents in an index. This includes /// user and group access information for your documents. This is useful for user context /// filtering, where search results are filtered based on the user or their group access /// to documents. /// /// /// /// You can update an access control configuration you created without indexing all of /// your documents again. For example, your index contains top-secret company documents /// that only certain employees or users should access. You created an 'allow' access /// control configuration for one user who recently joined the 'top-secret' team, switching /// from a team with 'deny' access to top-secret documents. However, the user suddenly /// returns to their previous team and should no longer have access to top secret documents. /// You can update the access control configuration to re-configure access control for /// your documents as circumstances change. /// /// /// /// You call the BatchPutDocument /// API to apply the updated access control configuration, with the AccessControlConfigurationId /// included in the Document /// object. If you use an S3 bucket as a data source, you synchronize your data source /// to apply the AccessControlConfigurationId in the .metadata.json /// file. Amazon Kendra currently only supports access control configuration for S3 data /// sources and documents indexed using the BatchPutDocument API. /// /// public partial class UpdateAccessControlConfigurationRequest : AmazonKendraRequest { private List _accessControlList = new List(); private string _description; private List _hierarchicalAccessControlList = new List(); private string _id; private string _indexId; private string _name; /// /// Gets and sets the property AccessControlList. /// /// Information you want to update on principals (users and/or groups) and which documents /// they should have access to. This is useful for user context filtering, where search /// results are filtered based on the user or their group access to documents. /// /// public List AccessControlList { get { return this._accessControlList; } set { this._accessControlList = value; } } // Check to see if AccessControlList property is set internal bool IsSetAccessControlList() { return this._accessControlList != null && this._accessControlList.Count > 0; } /// /// Gets and sets the property Description. /// /// A new description for the access control configuration. /// /// [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 HierarchicalAccessControlList. /// /// The updated list of principal /// lists that define the hierarchy for which documents users should have access to. /// /// [AWSProperty(Min=1, Max=30)] public List HierarchicalAccessControlList { get { return this._hierarchicalAccessControlList; } set { this._hierarchicalAccessControlList = value; } } // Check to see if HierarchicalAccessControlList property is set internal bool IsSetHierarchicalAccessControlList() { return this._hierarchicalAccessControlList != null && this._hierarchicalAccessControlList.Count > 0; } /// /// Gets and sets the property Id. /// /// The identifier of the access control configuration you want to update. /// /// [AWSProperty(Required=true, Min=1, 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 IndexId. /// /// The identifier of the index for an access control configuration. /// /// [AWSProperty(Required=true, Min=36, Max=36)] public string IndexId { get { return this._indexId; } set { this._indexId = value; } } // Check to see if IndexId property is set internal bool IsSetIndexId() { return this._indexId != null; } /// /// Gets and sets the property Name. /// /// A new name for the access control configuration. /// /// [AWSProperty(Min=1, Max=200)] 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; } } }