This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-ebs/include/aws/ebs/model/StartSnapshotResult.h

399 lines
13 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ebs/EBS_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ebs/model/Status.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ebs/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace EBS
{
namespace Model
{
class AWS_EBS_API StartSnapshotResult
{
public:
StartSnapshotResult();
StartSnapshotResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
StartSnapshotResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of the snapshot.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The description of the snapshot.</p>
*/
inline void SetDescription(const Aws::String& value) { m_description = value; }
/**
* <p>The description of the snapshot.</p>
*/
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
/**
* <p>The description of the snapshot.</p>
*/
inline void SetDescription(const char* value) { m_description.assign(value); }
/**
* <p>The description of the snapshot.</p>
*/
inline StartSnapshotResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The description of the snapshot.</p>
*/
inline StartSnapshotResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The description of the snapshot.</p>
*/
inline StartSnapshotResult& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The ID of the snapshot.</p>
*/
inline const Aws::String& GetSnapshotId() const{ return m_snapshotId; }
/**
* <p>The ID of the snapshot.</p>
*/
inline void SetSnapshotId(const Aws::String& value) { m_snapshotId = value; }
/**
* <p>The ID of the snapshot.</p>
*/
inline void SetSnapshotId(Aws::String&& value) { m_snapshotId = std::move(value); }
/**
* <p>The ID of the snapshot.</p>
*/
inline void SetSnapshotId(const char* value) { m_snapshotId.assign(value); }
/**
* <p>The ID of the snapshot.</p>
*/
inline StartSnapshotResult& WithSnapshotId(const Aws::String& value) { SetSnapshotId(value); return *this;}
/**
* <p>The ID of the snapshot.</p>
*/
inline StartSnapshotResult& WithSnapshotId(Aws::String&& value) { SetSnapshotId(std::move(value)); return *this;}
/**
* <p>The ID of the snapshot.</p>
*/
inline StartSnapshotResult& WithSnapshotId(const char* value) { SetSnapshotId(value); return *this;}
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline const Aws::String& GetOwnerId() const{ return m_ownerId; }
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline void SetOwnerId(const Aws::String& value) { m_ownerId = value; }
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline void SetOwnerId(Aws::String&& value) { m_ownerId = std::move(value); }
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline void SetOwnerId(const char* value) { m_ownerId.assign(value); }
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline StartSnapshotResult& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;}
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline StartSnapshotResult& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;}
/**
* <p>The AWS account ID of the snapshot owner.</p>
*/
inline StartSnapshotResult& WithOwnerId(const char* value) { SetOwnerId(value); return *this;}
/**
* <p>The status of the snapshot.</p>
*/
inline const Status& GetStatus() const{ return m_status; }
/**
* <p>The status of the snapshot.</p>
*/
inline void SetStatus(const Status& value) { m_status = value; }
/**
* <p>The status of the snapshot.</p>
*/
inline void SetStatus(Status&& value) { m_status = std::move(value); }
/**
* <p>The status of the snapshot.</p>
*/
inline StartSnapshotResult& WithStatus(const Status& value) { SetStatus(value); return *this;}
/**
* <p>The status of the snapshot.</p>
*/
inline StartSnapshotResult& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The timestamp when the snapshot was created.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The timestamp when the snapshot was created.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; }
/**
* <p>The timestamp when the snapshot was created.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); }
/**
* <p>The timestamp when the snapshot was created.</p>
*/
inline StartSnapshotResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The timestamp when the snapshot was created.</p>
*/
inline StartSnapshotResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The size of the volume, in GiB.</p>
*/
inline long long GetVolumeSize() const{ return m_volumeSize; }
/**
* <p>The size of the volume, in GiB.</p>
*/
inline void SetVolumeSize(long long value) { m_volumeSize = value; }
/**
* <p>The size of the volume, in GiB.</p>
*/
inline StartSnapshotResult& WithVolumeSize(long long value) { SetVolumeSize(value); return *this;}
/**
* <p>The size of the blocks in the snapshot, in bytes.</p>
*/
inline int GetBlockSize() const{ return m_blockSize; }
/**
* <p>The size of the blocks in the snapshot, in bytes.</p>
*/
inline void SetBlockSize(int value) { m_blockSize = value; }
/**
* <p>The size of the blocks in the snapshot, in bytes.</p>
*/
inline StartSnapshotResult& WithBlockSize(int value) { SetBlockSize(value); return *this;}
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline StartSnapshotResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline StartSnapshotResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline StartSnapshotResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
* For more information, see <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html">
* Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud
* User Guide</i>.</p>
*/
inline StartSnapshotResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The ID of the parent snapshot.</p>
*/
inline const Aws::String& GetParentSnapshotId() const{ return m_parentSnapshotId; }
/**
* <p>The ID of the parent snapshot.</p>
*/
inline void SetParentSnapshotId(const Aws::String& value) { m_parentSnapshotId = value; }
/**
* <p>The ID of the parent snapshot.</p>
*/
inline void SetParentSnapshotId(Aws::String&& value) { m_parentSnapshotId = std::move(value); }
/**
* <p>The ID of the parent snapshot.</p>
*/
inline void SetParentSnapshotId(const char* value) { m_parentSnapshotId.assign(value); }
/**
* <p>The ID of the parent snapshot.</p>
*/
inline StartSnapshotResult& WithParentSnapshotId(const Aws::String& value) { SetParentSnapshotId(value); return *this;}
/**
* <p>The ID of the parent snapshot.</p>
*/
inline StartSnapshotResult& WithParentSnapshotId(Aws::String&& value) { SetParentSnapshotId(std::move(value)); return *this;}
/**
* <p>The ID of the parent snapshot.</p>
*/
inline StartSnapshotResult& WithParentSnapshotId(const char* value) { SetParentSnapshotId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; }
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline void SetKmsKeyArn(const char* value) { m_kmsKeyArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline StartSnapshotResult& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline StartSnapshotResult& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
* customer master key (CMK) used to encrypt the snapshot.</p>
*/
inline StartSnapshotResult& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;}
private:
Aws::String m_description;
Aws::String m_snapshotId;
Aws::String m_ownerId;
Status m_status;
Aws::Utils::DateTime m_startTime;
long long m_volumeSize;
int m_blockSize;
Aws::Vector<Tag> m_tags;
Aws::String m_parentSnapshotId;
Aws::String m_kmsKeyArn;
};
} // namespace Model
} // namespace EBS
} // namespace Aws