/*
* 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.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
namespace Amazon.S3.Model
{
///
/// ServerSideEncryptionRule class
///
public class ServerSideEncryptionRule
{
private ServerSideEncryptionByDefault serverSideEncryptionByDefault;
private bool? bucketKeyEnabled;
///
/// Describes the default server-side encryption to apply to
/// new objects in the bucket. If Put Object request
/// does not specify any server-side encryption,
/// this default encryption will be applied.
///
public ServerSideEncryptionByDefault ServerSideEncryptionByDefault
{
get { return this.serverSideEncryptionByDefault; }
set { this.serverSideEncryptionByDefault = value; }
}
// Check to see if ServerSideEncryptionByDefault property is set
internal bool IsSetServerSideEncryptionByDefault()
{
return this.serverSideEncryptionByDefault != null;
}
///
/// Specifies whether Amazon S3 should use bucket key with
/// server-side encryption using KMS (SSE-KMS) for new objects in the bucket.
/// Existing objects are not affected. Setting the BucketKeyEnabled
/// element to true
causes Amazon S3 to use bucket key. By default,
/// bucket key is not enabled. For more information,
/// see Bucket key in
/// the Amazon Simple Storage Service Developer Guide.",
///
public bool BucketKeyEnabled
{
get { return this.bucketKeyEnabled.GetValueOrDefault(); }
set { this.bucketKeyEnabled = value; }
}
internal bool IsSetBucketKeyEnabled()
{
return bucketKeyEnabled.HasValue;
}
}
}