// /*******************************************************************************
// * 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;
}
}