/** * 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 AccessAnalyzer { namespace Model { /** *

The proposed InternetConfiguration or * VpcConfiguration to apply to the Amazon S3 access point. * VpcConfiguration does not apply to multi-region access points. You * can make the access point accessible from the internet, or you can specify that * all requests made through that access point must originate from a specific * virtual private cloud (VPC). You can specify only one type of network * configuration. For more information, see Creating * access points.

See Also:

AWS * API Reference

*/ class NetworkOriginConfiguration { public: AWS_ACCESSANALYZER_API NetworkOriginConfiguration(); AWS_ACCESSANALYZER_API NetworkOriginConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_ACCESSANALYZER_API NetworkOriginConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const; inline const VpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } inline void SetVpcConfiguration(const VpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } inline void SetVpcConfiguration(VpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } inline NetworkOriginConfiguration& WithVpcConfiguration(const VpcConfiguration& value) { SetVpcConfiguration(value); return *this;} inline NetworkOriginConfiguration& WithVpcConfiguration(VpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline const InternetConfiguration& GetInternetConfiguration() const{ return m_internetConfiguration; } /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline bool InternetConfigurationHasBeenSet() const { return m_internetConfigurationHasBeenSet; } /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline void SetInternetConfiguration(const InternetConfiguration& value) { m_internetConfigurationHasBeenSet = true; m_internetConfiguration = value; } /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline void SetInternetConfiguration(InternetConfiguration&& value) { m_internetConfigurationHasBeenSet = true; m_internetConfiguration = std::move(value); } /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline NetworkOriginConfiguration& WithInternetConfiguration(const InternetConfiguration& value) { SetInternetConfiguration(value); return *this;} /** *

The configuration for the Amazon S3 access point or multi-region access point * with an Internet origin.

*/ inline NetworkOriginConfiguration& WithInternetConfiguration(InternetConfiguration&& value) { SetInternetConfiguration(std::move(value)); return *this;} private: VpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; InternetConfiguration m_internetConfiguration; bool m_internetConfigurationHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws