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

An object that represents the metadata and configuration settings for * services on an Amazon Web Services Snow Family device.

See Also:

* AWS * API Reference

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

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline const NFSOnDeviceServiceConfiguration& GetNFSOnDeviceService() const{ return m_nFSOnDeviceService; } /** *

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline bool NFSOnDeviceServiceHasBeenSet() const { return m_nFSOnDeviceServiceHasBeenSet; } /** *

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline void SetNFSOnDeviceService(const NFSOnDeviceServiceConfiguration& value) { m_nFSOnDeviceServiceHasBeenSet = true; m_nFSOnDeviceService = value; } /** *

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline void SetNFSOnDeviceService(NFSOnDeviceServiceConfiguration&& value) { m_nFSOnDeviceServiceHasBeenSet = true; m_nFSOnDeviceService = std::move(value); } /** *

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline OnDeviceServiceConfiguration& WithNFSOnDeviceService(const NFSOnDeviceServiceConfiguration& value) { SetNFSOnDeviceService(value); return *this;} /** *

Represents the NFS (Network File System) service on a Snow Family device.

*/ inline OnDeviceServiceConfiguration& WithNFSOnDeviceService(NFSOnDeviceServiceConfiguration&& value) { SetNFSOnDeviceService(std::move(value)); return *this;} /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline const TGWOnDeviceServiceConfiguration& GetTGWOnDeviceService() const{ return m_tGWOnDeviceService; } /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline bool TGWOnDeviceServiceHasBeenSet() const { return m_tGWOnDeviceServiceHasBeenSet; } /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline void SetTGWOnDeviceService(const TGWOnDeviceServiceConfiguration& value) { m_tGWOnDeviceServiceHasBeenSet = true; m_tGWOnDeviceService = value; } /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline void SetTGWOnDeviceService(TGWOnDeviceServiceConfiguration&& value) { m_tGWOnDeviceServiceHasBeenSet = true; m_tGWOnDeviceService = std::move(value); } /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline OnDeviceServiceConfiguration& WithTGWOnDeviceService(const TGWOnDeviceServiceConfiguration& value) { SetTGWOnDeviceService(value); return *this;} /** *

Represents the Storage Gateway service Tape Gateway type on a Snow Family * device.

*/ inline OnDeviceServiceConfiguration& WithTGWOnDeviceService(TGWOnDeviceServiceConfiguration&& value) { SetTGWOnDeviceService(std::move(value)); return *this;} /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline const EKSOnDeviceServiceConfiguration& GetEKSOnDeviceService() const{ return m_eKSOnDeviceService; } /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline bool EKSOnDeviceServiceHasBeenSet() const { return m_eKSOnDeviceServiceHasBeenSet; } /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline void SetEKSOnDeviceService(const EKSOnDeviceServiceConfiguration& value) { m_eKSOnDeviceServiceHasBeenSet = true; m_eKSOnDeviceService = value; } /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline void SetEKSOnDeviceService(EKSOnDeviceServiceConfiguration&& value) { m_eKSOnDeviceServiceHasBeenSet = true; m_eKSOnDeviceService = std::move(value); } /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline OnDeviceServiceConfiguration& WithEKSOnDeviceService(const EKSOnDeviceServiceConfiguration& value) { SetEKSOnDeviceService(value); return *this;} /** *

The configuration of EKS Anywhere on the Snow Family device.

*/ inline OnDeviceServiceConfiguration& WithEKSOnDeviceService(EKSOnDeviceServiceConfiguration&& value) { SetEKSOnDeviceService(std::move(value)); return *this;} /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline const S3OnDeviceServiceConfiguration& GetS3OnDeviceService() const{ return m_s3OnDeviceService; } /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline bool S3OnDeviceServiceHasBeenSet() const { return m_s3OnDeviceServiceHasBeenSet; } /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline void SetS3OnDeviceService(const S3OnDeviceServiceConfiguration& value) { m_s3OnDeviceServiceHasBeenSet = true; m_s3OnDeviceService = value; } /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline void SetS3OnDeviceService(S3OnDeviceServiceConfiguration&& value) { m_s3OnDeviceServiceHasBeenSet = true; m_s3OnDeviceService = std::move(value); } /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline OnDeviceServiceConfiguration& WithS3OnDeviceService(const S3OnDeviceServiceConfiguration& value) { SetS3OnDeviceService(value); return *this;} /** *

Configuration for Amazon S3 compatible storage on Snow family devices.

*/ inline OnDeviceServiceConfiguration& WithS3OnDeviceService(S3OnDeviceServiceConfiguration&& value) { SetS3OnDeviceService(std::move(value)); return *this;} private: NFSOnDeviceServiceConfiguration m_nFSOnDeviceService; bool m_nFSOnDeviceServiceHasBeenSet = false; TGWOnDeviceServiceConfiguration m_tGWOnDeviceService; bool m_tGWOnDeviceServiceHasBeenSet = false; EKSOnDeviceServiceConfiguration m_eKSOnDeviceService; bool m_eKSOnDeviceServiceHasBeenSet = false; S3OnDeviceServiceConfiguration m_s3OnDeviceService; bool m_s3OnDeviceServiceHasBeenSet = false; }; } // namespace Model } // namespace Snowball } // namespace Aws