/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace StorageGateway { namespace Model { /** *

Describes a virtual tape.

See Also:

AWS * API Reference

*/ class TapeInfo { public: AWS_STORAGEGATEWAY_API TapeInfo(); AWS_STORAGEGATEWAY_API TapeInfo(Aws::Utils::Json::JsonView jsonValue); AWS_STORAGEGATEWAY_API TapeInfo& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline const Aws::String& GetTapeARN() const{ return m_tapeARN; } /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline bool TapeARNHasBeenSet() const { return m_tapeARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline void SetTapeARN(const Aws::String& value) { m_tapeARNHasBeenSet = true; m_tapeARN = value; } /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline void SetTapeARN(Aws::String&& value) { m_tapeARNHasBeenSet = true; m_tapeARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline void SetTapeARN(const char* value) { m_tapeARNHasBeenSet = true; m_tapeARN.assign(value); } /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline TapeInfo& WithTapeARN(const Aws::String& value) { SetTapeARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline TapeInfo& WithTapeARN(Aws::String&& value) { SetTapeARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a virtual tape.

*/ inline TapeInfo& WithTapeARN(const char* value) { SetTapeARN(value); return *this;} /** *

The barcode that identifies a specific virtual tape.

*/ inline const Aws::String& GetTapeBarcode() const{ return m_tapeBarcode; } /** *

The barcode that identifies a specific virtual tape.

*/ inline bool TapeBarcodeHasBeenSet() const { return m_tapeBarcodeHasBeenSet; } /** *

The barcode that identifies a specific virtual tape.

*/ inline void SetTapeBarcode(const Aws::String& value) { m_tapeBarcodeHasBeenSet = true; m_tapeBarcode = value; } /** *

The barcode that identifies a specific virtual tape.

*/ inline void SetTapeBarcode(Aws::String&& value) { m_tapeBarcodeHasBeenSet = true; m_tapeBarcode = std::move(value); } /** *

The barcode that identifies a specific virtual tape.

*/ inline void SetTapeBarcode(const char* value) { m_tapeBarcodeHasBeenSet = true; m_tapeBarcode.assign(value); } /** *

The barcode that identifies a specific virtual tape.

*/ inline TapeInfo& WithTapeBarcode(const Aws::String& value) { SetTapeBarcode(value); return *this;} /** *

The barcode that identifies a specific virtual tape.

*/ inline TapeInfo& WithTapeBarcode(Aws::String&& value) { SetTapeBarcode(std::move(value)); return *this;} /** *

The barcode that identifies a specific virtual tape.

*/ inline TapeInfo& WithTapeBarcode(const char* value) { SetTapeBarcode(value); return *this;} /** *

The size, in bytes, of a virtual tape.

*/ inline long long GetTapeSizeInBytes() const{ return m_tapeSizeInBytes; } /** *

The size, in bytes, of a virtual tape.

*/ inline bool TapeSizeInBytesHasBeenSet() const { return m_tapeSizeInBytesHasBeenSet; } /** *

The size, in bytes, of a virtual tape.

*/ inline void SetTapeSizeInBytes(long long value) { m_tapeSizeInBytesHasBeenSet = true; m_tapeSizeInBytes = value; } /** *

The size, in bytes, of a virtual tape.

*/ inline TapeInfo& WithTapeSizeInBytes(long long value) { SetTapeSizeInBytes(value); return *this;} /** *

The status of the tape.

*/ inline const Aws::String& GetTapeStatus() const{ return m_tapeStatus; } /** *

The status of the tape.

*/ inline bool TapeStatusHasBeenSet() const { return m_tapeStatusHasBeenSet; } /** *

The status of the tape.

*/ inline void SetTapeStatus(const Aws::String& value) { m_tapeStatusHasBeenSet = true; m_tapeStatus = value; } /** *

The status of the tape.

*/ inline void SetTapeStatus(Aws::String&& value) { m_tapeStatusHasBeenSet = true; m_tapeStatus = std::move(value); } /** *

The status of the tape.

*/ inline void SetTapeStatus(const char* value) { m_tapeStatusHasBeenSet = true; m_tapeStatus.assign(value); } /** *

The status of the tape.

*/ inline TapeInfo& WithTapeStatus(const Aws::String& value) { SetTapeStatus(value); return *this;} /** *

The status of the tape.

*/ inline TapeInfo& WithTapeStatus(Aws::String&& value) { SetTapeStatus(std::move(value)); return *this;} /** *

The status of the tape.

*/ inline TapeInfo& WithTapeStatus(const char* value) { SetTapeStatus(value); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline bool GatewayARNHasBeenSet() const { return m_gatewayARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(const Aws::String& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = value; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(Aws::String&& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(const char* value) { m_gatewayARNHasBeenSet = true; m_gatewayARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline TapeInfo& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline TapeInfo& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline TapeInfo& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline const Aws::String& GetPoolId() const{ return m_poolId; } /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; } /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline void SetPoolId(const Aws::String& value) { m_poolIdHasBeenSet = true; m_poolId = value; } /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline void SetPoolId(Aws::String&& value) { m_poolIdHasBeenSet = true; m_poolId = std::move(value); } /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline void SetPoolId(const char* value) { m_poolIdHasBeenSet = true; m_poolId.assign(value); } /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline TapeInfo& WithPoolId(const Aws::String& value) { SetPoolId(value); return *this;} /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline TapeInfo& WithPoolId(Aws::String&& value) { SetPoolId(std::move(value)); return *this;} /** *

The ID of the pool that you want to add your tape to for archiving. The tape * in this pool is archived in the S3 storage class that is associated with the * pool. When you use your backup application to eject the tape, the tape is * archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) * that corresponds to the pool.

*/ inline TapeInfo& WithPoolId(const char* value) { SetPoolId(value); return *this;} /** *

The date that the tape became subject to tape retention lock.

*/ inline const Aws::Utils::DateTime& GetRetentionStartDate() const{ return m_retentionStartDate; } /** *

The date that the tape became subject to tape retention lock.

*/ inline bool RetentionStartDateHasBeenSet() const { return m_retentionStartDateHasBeenSet; } /** *

The date that the tape became subject to tape retention lock.

*/ inline void SetRetentionStartDate(const Aws::Utils::DateTime& value) { m_retentionStartDateHasBeenSet = true; m_retentionStartDate = value; } /** *

The date that the tape became subject to tape retention lock.

*/ inline void SetRetentionStartDate(Aws::Utils::DateTime&& value) { m_retentionStartDateHasBeenSet = true; m_retentionStartDate = std::move(value); } /** *

The date that the tape became subject to tape retention lock.

*/ inline TapeInfo& WithRetentionStartDate(const Aws::Utils::DateTime& value) { SetRetentionStartDate(value); return *this;} /** *

The date that the tape became subject to tape retention lock.

*/ inline TapeInfo& WithRetentionStartDate(Aws::Utils::DateTime&& value) { SetRetentionStartDate(std::move(value)); return *this;} /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline const Aws::Utils::DateTime& GetPoolEntryDate() const{ return m_poolEntryDate; } /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline bool PoolEntryDateHasBeenSet() const { return m_poolEntryDateHasBeenSet; } /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline void SetPoolEntryDate(const Aws::Utils::DateTime& value) { m_poolEntryDateHasBeenSet = true; m_poolEntryDate = value; } /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline void SetPoolEntryDate(Aws::Utils::DateTime&& value) { m_poolEntryDateHasBeenSet = true; m_poolEntryDate = std::move(value); } /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline TapeInfo& WithPoolEntryDate(const Aws::Utils::DateTime& value) { SetPoolEntryDate(value); return *this;} /** *

The date that the tape entered the custom tape pool with tape retention lock * enabled.

*/ inline TapeInfo& WithPoolEntryDate(Aws::Utils::DateTime&& value) { SetPoolEntryDate(std::move(value)); return *this;} private: Aws::String m_tapeARN; bool m_tapeARNHasBeenSet = false; Aws::String m_tapeBarcode; bool m_tapeBarcodeHasBeenSet = false; long long m_tapeSizeInBytes; bool m_tapeSizeInBytesHasBeenSet = false; Aws::String m_tapeStatus; bool m_tapeStatusHasBeenSet = false; Aws::String m_gatewayARN; bool m_gatewayARNHasBeenSet = false; Aws::String m_poolId; bool m_poolIdHasBeenSet = false; Aws::Utils::DateTime m_retentionStartDate; bool m_retentionStartDateHasBeenSet = false; Aws::Utils::DateTime m_poolEntryDate; bool m_poolEntryDateHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws