/*
* 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 ebs-2019-11-02.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.EBS.Model
{
///
/// Container for the parameters to the CompleteSnapshot operation.
/// Seals and completes the snapshot after all of the required blocks of data have been
/// written to it. Completing the snapshot changes the status to completed
.
/// You cannot write new blocks to a snapshot after it has been completed.
///
///
///
/// You should always retry requests that receive server (5xx
) error responses,
/// and ThrottlingException
and RequestThrottledException
client
/// error responses. For more information see Error
/// retries in the Amazon Elastic Compute Cloud User Guide.
///
///
///
public partial class CompleteSnapshotRequest : AmazonEBSRequest
{
private int? _changedBlocksCount;
private string _checksum;
private ChecksumAggregationMethod _checksumAggregationMethod;
private ChecksumAlgorithm _checksumAlgorithm;
private string _snapshotId;
///
/// Gets and sets the property ChangedBlocksCount.
///
/// The number of blocks that were written to the snapshot.
///
///
[AWSProperty(Required=true, Min=0)]
public int ChangedBlocksCount
{
get { return this._changedBlocksCount.GetValueOrDefault(); }
set { this._changedBlocksCount = value; }
}
// Check to see if ChangedBlocksCount property is set
internal bool IsSetChangedBlocksCount()
{
return this._changedBlocksCount.HasValue;
}
///
/// Gets and sets the property Checksum.
///
/// An aggregated Base-64 SHA256 checksum based on the checksums of each written block.
///
///
///
/// To generate the aggregated checksum using the linear aggregation method, arrange the
/// checksums for each written block in ascending order of their block index, concatenate
/// them to form a single string, and then generate the checksum on the entire string
/// using the SHA256 algorithm.
///
///
[AWSProperty(Max=64)]
public string Checksum
{
get { return this._checksum; }
set { this._checksum = value; }
}
// Check to see if Checksum property is set
internal bool IsSetChecksum()
{
return this._checksum != null;
}
///
/// Gets and sets the property ChecksumAggregationMethod.
///
/// The aggregation method used to generate the checksum. Currently, the only supported
/// aggregation method is LINEAR
.
///
///
[AWSProperty(Max=32)]
public ChecksumAggregationMethod ChecksumAggregationMethod
{
get { return this._checksumAggregationMethod; }
set { this._checksumAggregationMethod = value; }
}
// Check to see if ChecksumAggregationMethod property is set
internal bool IsSetChecksumAggregationMethod()
{
return this._checksumAggregationMethod != null;
}
///
/// Gets and sets the property ChecksumAlgorithm.
///
/// The algorithm used to generate the checksum. Currently, the only supported algorithm
/// is SHA256
.
///
///
[AWSProperty(Max=32)]
public ChecksumAlgorithm ChecksumAlgorithm
{
get { return this._checksumAlgorithm; }
set { this._checksumAlgorithm = value; }
}
// Check to see if ChecksumAlgorithm property is set
internal bool IsSetChecksumAlgorithm()
{
return this._checksumAlgorithm != null;
}
///
/// Gets and sets the property SnapshotId.
///
/// The ID of the snapshot.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string SnapshotId
{
get { return this._snapshotId; }
set { this._snapshotId = value; }
}
// Check to see if SnapshotId property is set
internal bool IsSetSnapshotId()
{
return this._snapshotId != null;
}
}
}