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

See Also:

AWS * API Reference

*/ class S3AccessControlList { public: AWS_S3CONTROL_API S3AccessControlList(); AWS_S3CONTROL_API S3AccessControlList(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API S3AccessControlList& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

*/ inline const S3ObjectOwner& GetOwner() const{ return m_owner; } /** *

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

*/ inline void SetOwner(const S3ObjectOwner& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

*/ inline void SetOwner(S3ObjectOwner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

*/ inline S3AccessControlList& WithOwner(const S3ObjectOwner& value) { SetOwner(value); return *this;} /** *

*/ inline S3AccessControlList& WithOwner(S3ObjectOwner&& value) { SetOwner(std::move(value)); return *this;} /** *

*/ inline const Aws::Vector& GetGrants() const{ return m_grants; } /** *

*/ inline bool GrantsHasBeenSet() const { return m_grantsHasBeenSet; } /** *

*/ inline void SetGrants(const Aws::Vector& value) { m_grantsHasBeenSet = true; m_grants = value; } /** *

*/ inline void SetGrants(Aws::Vector&& value) { m_grantsHasBeenSet = true; m_grants = std::move(value); } /** *

*/ inline S3AccessControlList& WithGrants(const Aws::Vector& value) { SetGrants(value); return *this;} /** *

*/ inline S3AccessControlList& WithGrants(Aws::Vector&& value) { SetGrants(std::move(value)); return *this;} /** *

*/ inline S3AccessControlList& AddGrants(const S3Grant& value) { m_grantsHasBeenSet = true; m_grants.push_back(value); return *this; } /** *

*/ inline S3AccessControlList& AddGrants(S3Grant&& value) { m_grantsHasBeenSet = true; m_grants.push_back(std::move(value)); return *this; } private: S3ObjectOwner m_owner; bool m_ownerHasBeenSet = false; Aws::Vector m_grants; bool m_grantsHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws