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

Describes a connector that enables persistent storage for * users.

See Also:

AWS * API Reference

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

The type of storage connector.

*/ inline const StorageConnectorType& GetConnectorType() const{ return m_connectorType; } /** *

The type of storage connector.

*/ inline bool ConnectorTypeHasBeenSet() const { return m_connectorTypeHasBeenSet; } /** *

The type of storage connector.

*/ inline void SetConnectorType(const StorageConnectorType& value) { m_connectorTypeHasBeenSet = true; m_connectorType = value; } /** *

The type of storage connector.

*/ inline void SetConnectorType(StorageConnectorType&& value) { m_connectorTypeHasBeenSet = true; m_connectorType = std::move(value); } /** *

The type of storage connector.

*/ inline StorageConnector& WithConnectorType(const StorageConnectorType& value) { SetConnectorType(value); return *this;} /** *

The type of storage connector.

*/ inline StorageConnector& WithConnectorType(StorageConnectorType&& value) { SetConnectorType(std::move(value)); return *this;} /** *

The ARN of the storage connector.

*/ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } /** *

The ARN of the storage connector.

*/ inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } /** *

The ARN of the storage connector.

*/ inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; } /** *

The ARN of the storage connector.

*/ inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); } /** *

The ARN of the storage connector.

*/ inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); } /** *

The ARN of the storage connector.

*/ inline StorageConnector& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;} /** *

The ARN of the storage connector.

*/ inline StorageConnector& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;} /** *

The ARN of the storage connector.

*/ inline StorageConnector& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} /** *

The names of the domains for the account.

*/ inline const Aws::Vector& GetDomains() const{ return m_domains; } /** *

The names of the domains for the account.

*/ inline bool DomainsHasBeenSet() const { return m_domainsHasBeenSet; } /** *

The names of the domains for the account.

*/ inline void SetDomains(const Aws::Vector& value) { m_domainsHasBeenSet = true; m_domains = value; } /** *

The names of the domains for the account.

*/ inline void SetDomains(Aws::Vector&& value) { m_domainsHasBeenSet = true; m_domains = std::move(value); } /** *

The names of the domains for the account.

*/ inline StorageConnector& WithDomains(const Aws::Vector& value) { SetDomains(value); return *this;} /** *

The names of the domains for the account.

*/ inline StorageConnector& WithDomains(Aws::Vector&& value) { SetDomains(std::move(value)); return *this;} /** *

The names of the domains for the account.

*/ inline StorageConnector& AddDomains(const Aws::String& value) { m_domainsHasBeenSet = true; m_domains.push_back(value); return *this; } /** *

The names of the domains for the account.

*/ inline StorageConnector& AddDomains(Aws::String&& value) { m_domainsHasBeenSet = true; m_domains.push_back(std::move(value)); return *this; } /** *

The names of the domains for the account.

*/ inline StorageConnector& AddDomains(const char* value) { m_domainsHasBeenSet = true; m_domains.push_back(value); return *this; } private: StorageConnectorType m_connectorType; bool m_connectorTypeHasBeenSet = false; Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; Aws::Vector m_domains; bool m_domainsHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws