/** * 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 { /** *

Specifies network configuration information for the gateway associated with * the Amazon FSx file system.

See Also:

AWS * API Reference

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

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline const Aws::Vector& GetIpAddresses() const{ return m_ipAddresses; } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline bool IpAddressesHasBeenSet() const { return m_ipAddressesHasBeenSet; } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline void SetIpAddresses(const Aws::Vector& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = value; } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline void SetIpAddresses(Aws::Vector&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = std::move(value); } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline EndpointNetworkConfiguration& WithIpAddresses(const Aws::Vector& value) { SetIpAddresses(value); return *this;} /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline EndpointNetworkConfiguration& WithIpAddresses(Aws::Vector&& value) { SetIpAddresses(std::move(value)); return *this;} /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline EndpointNetworkConfiguration& AddIpAddresses(const Aws::String& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline EndpointNetworkConfiguration& AddIpAddresses(Aws::String&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(std::move(value)); return *this; } /** *

A list of gateway IP addresses on which the associated Amazon FSx file system * is available.

If multiple file systems are associated with this * gateway, this field is required.

*/ inline EndpointNetworkConfiguration& AddIpAddresses(const char* value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; } private: Aws::Vector m_ipAddresses; bool m_ipAddressesHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws