/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a path.

See Also:

AWS * API Reference

*/ class AccessScopePathRequest { public: AWS_EC2_API AccessScopePathRequest(); AWS_EC2_API AccessScopePathRequest(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API AccessScopePathRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The source.

*/ inline const PathStatementRequest& GetSource() const{ return m_source; } /** *

The source.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The source.

*/ inline void SetSource(const PathStatementRequest& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The source.

*/ inline void SetSource(PathStatementRequest&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The source.

*/ inline AccessScopePathRequest& WithSource(const PathStatementRequest& value) { SetSource(value); return *this;} /** *

The source.

*/ inline AccessScopePathRequest& WithSource(PathStatementRequest&& value) { SetSource(std::move(value)); return *this;} /** *

The destination.

*/ inline const PathStatementRequest& GetDestination() const{ return m_destination; } /** *

The destination.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The destination.

*/ inline void SetDestination(const PathStatementRequest& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The destination.

*/ inline void SetDestination(PathStatementRequest&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The destination.

*/ inline AccessScopePathRequest& WithDestination(const PathStatementRequest& value) { SetDestination(value); return *this;} /** *

The destination.

*/ inline AccessScopePathRequest& WithDestination(PathStatementRequest&& value) { SetDestination(std::move(value)); return *this;} /** *

The through resources.

*/ inline const Aws::Vector& GetThroughResources() const{ return m_throughResources; } /** *

The through resources.

*/ inline bool ThroughResourcesHasBeenSet() const { return m_throughResourcesHasBeenSet; } /** *

The through resources.

*/ inline void SetThroughResources(const Aws::Vector& value) { m_throughResourcesHasBeenSet = true; m_throughResources = value; } /** *

The through resources.

*/ inline void SetThroughResources(Aws::Vector&& value) { m_throughResourcesHasBeenSet = true; m_throughResources = std::move(value); } /** *

The through resources.

*/ inline AccessScopePathRequest& WithThroughResources(const Aws::Vector& value) { SetThroughResources(value); return *this;} /** *

The through resources.

*/ inline AccessScopePathRequest& WithThroughResources(Aws::Vector&& value) { SetThroughResources(std::move(value)); return *this;} /** *

The through resources.

*/ inline AccessScopePathRequest& AddThroughResources(const ThroughResourcesStatementRequest& value) { m_throughResourcesHasBeenSet = true; m_throughResources.push_back(value); return *this; } /** *

The through resources.

*/ inline AccessScopePathRequest& AddThroughResources(ThroughResourcesStatementRequest&& value) { m_throughResourcesHasBeenSet = true; m_throughResources.push_back(std::move(value)); return *this; } private: PathStatementRequest m_source; bool m_sourceHasBeenSet = false; PathStatementRequest m_destination; bool m_destinationHasBeenSet = false; Aws::Vector m_throughResources; bool m_throughResourcesHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws