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

Indicates that an Amazon S3 canned ACL should be set to control ownership of * stored query results. When Athena stores query results in Amazon S3, the canned * ACL is set with the x-amz-acl request header. For more information * about S3 Object Ownership, see Object * Ownership settings in the Amazon S3 User Guide.

See * Also:

AWS * API Reference

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

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline const S3AclOption& GetS3AclOption() const{ return m_s3AclOption; } /** *

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline bool S3AclOptionHasBeenSet() const { return m_s3AclOptionHasBeenSet; } /** *

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline void SetS3AclOption(const S3AclOption& value) { m_s3AclOptionHasBeenSet = true; m_s3AclOption = value; } /** *

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline void SetS3AclOption(S3AclOption&& value) { m_s3AclOptionHasBeenSet = true; m_s3AclOption = std::move(value); } /** *

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline AclConfiguration& WithS3AclOption(const S3AclOption& value) { SetS3AclOption(value); return *this;} /** *

The Amazon S3 canned ACL that Athena should specify when storing query * results. Currently the only supported canned ACL is * BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the * workgroup overrides client-side settings, then the Amazon S3 canned ACL * specified in the workgroup's settings is used for all queries that run in the * workgroup. For more information about Amazon S3 canned ACLs, see Canned * ACL in the Amazon S3 User Guide.

*/ inline AclConfiguration& WithS3AclOption(S3AclOption&& value) { SetS3AclOption(std::move(value)); return *this;} private: S3AclOption m_s3AclOption; bool m_s3AclOptionHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws