// /******************************************************************************* // * Copyright 2008-2018 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. // * ***************************************************************************** // * __ _ _ ___ // * ( )( \/\/ )/ __) // * /__\ \ / \__ \ // * (_)(_) \/\/ (___/ // * // * AWS SDK for .NET // * // */ using Amazon.Runtime; namespace Amazon.S3.Model { /// /// Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. /// /// In the request, along with the SQL expression, you must also specify a data serialization format (JSON or CSV) of the object. /// Amazon S3 uses this to parse object data into records, and returns only records /// that match the specified SQL expression. You must also specify the data serialization format for the response. /// /// /// /// S3Select API Documentation /// public class SelectObjectContentRequest : AmazonWebServiceRequest { /// /// The S3 Bucket. /// public string Bucket { get; set; } internal bool IsSetBucket() => Bucket != null; /// /// The Object Key. /// public string Key { get; set; } internal bool IsSetKey() => Key != null; /// /// The SSE Algorithm used to encrypt the object. /// /// /// Server-Side Encryption (Using Customer-Provided Encryption Keys. /// public ServerSideEncryptionCustomerMethod ServerSideCustomerEncryptionMethod { get; set; } internal bool IsSetServerSideCustomerEncryptionMethod() => ServerSideCustomerEncryptionMethod != null; /// /// The SSE Customer Key. /// /// /// Server-Side Encryption (Using Customer-Provided Encryption Keys. /// public string ServerSideEncryptionCustomerProvidedKey { get; set; } internal bool IsSetServerSideEncryptionCustomerProvidedKey() => ServerSideEncryptionCustomerProvidedKey != null; /// /// The SSE Customer Key MD5. /// /// /// Server-Side Encryption (Using Customer-Provided Encryption Keys. /// public string ServerSideEncryptionCustomerProvidedKeyMD5 { get; set; } internal bool IsSetServerSideEncryptionCustomerProvidedKeyMD5() => ServerSideEncryptionCustomerProvidedKeyMD5 != null; /// /// The expression that is used to query the object. /// public string Expression { get; set; } internal bool IsSetExpression() => Expression != null; /// /// The type of the provided expression (e.g., SQL). /// public ExpressionType ExpressionType { get; set; } internal bool IsSetExpressionType() => ExpressionType != null; /// /// Specifies if periodic request progress information should be enabled. /// public bool? RequestProgress { get; set; } internal bool IsSetRequestProgress() => RequestProgress != null; /// /// Describes the format of the data in the object that is being queried. /// public InputSerialization InputSerialization { get; set; } internal bool IsSetInputSerialization() => InputSerialization != null; /// /// Describes the format of the data that you want Amazon S3 to return in response. /// public OutputSerialization OutputSerialization { get; set; } internal bool IsSetOutputSerialization() => OutputSerialization != null; /// /// The byte range of the object to get the records from. /// public ScanRange ScanRange { get; set; } internal bool IsSetScanRange() => ScanRange != null; } }