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

The Permission structure.

See Also:

AWS * API Reference

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

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline const Aws::String& GetGranteeType() const{ return m_granteeType; } /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline bool GranteeTypeHasBeenSet() const { return m_granteeTypeHasBeenSet; } /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline void SetGranteeType(const Aws::String& value) { m_granteeTypeHasBeenSet = true; m_granteeType = value; } /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline void SetGranteeType(Aws::String&& value) { m_granteeTypeHasBeenSet = true; m_granteeType = std::move(value); } /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline void SetGranteeType(const char* value) { m_granteeTypeHasBeenSet = true; m_granteeType.assign(value); } /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline Permission& WithGranteeType(const Aws::String& value) { SetGranteeType(value); return *this;} /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline Permission& WithGranteeType(Aws::String&& value) { SetGranteeType(std::move(value)); return *this;} /** *

The type of value that appears in the Grantee object:

  • * Canonical: Either the canonical user ID for an AWS account or an * origin access identity for an Amazon CloudFront distribution.

    *

    A canonical user ID is not the same as an AWS account number.

    *
  • Email: The registered email address of * an AWS account.

  • Group: One of the following * predefined Amazon S3 groups: AllUsers, * AuthenticatedUsers, or LogDelivery.

*/ inline Permission& WithGranteeType(const char* value) { SetGranteeType(value); return *this;} /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline const Aws::String& GetGrantee() const{ return m_grantee; } /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; } /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline void SetGrantee(const Aws::String& value) { m_granteeHasBeenSet = true; m_grantee = value; } /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline void SetGrantee(Aws::String&& value) { m_granteeHasBeenSet = true; m_grantee = std::move(value); } /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline void SetGrantee(const char* value) { m_granteeHasBeenSet = true; m_grantee.assign(value); } /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline Permission& WithGrantee(const Aws::String& value) { SetGrantee(value); return *this;} /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline Permission& WithGrantee(Aws::String&& value) { SetGrantee(std::move(value)); return *this;} /** *

The AWS user or group that you want to have access to transcoded files and * playlists. To identify the user or group, you can specify the canonical user ID * for an AWS account, an origin access identity for a CloudFront distribution, the * registered email address of an AWS account, or a predefined Amazon S3 group.

*/ inline Permission& WithGrantee(const char* value) { SetGrantee(value); return *this;} /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline const Aws::Vector& GetAccess() const{ return m_access; } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline bool AccessHasBeenSet() const { return m_accessHasBeenSet; } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline void SetAccess(const Aws::Vector& value) { m_accessHasBeenSet = true; m_access = value; } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline void SetAccess(Aws::Vector&& value) { m_accessHasBeenSet = true; m_access = std::move(value); } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline Permission& WithAccess(const Aws::Vector& value) { SetAccess(value); return *this;} /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline Permission& WithAccess(Aws::Vector&& value) { SetAccess(std::move(value)); return *this;} /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline Permission& AddAccess(const Aws::String& value) { m_accessHasBeenSet = true; m_access.push_back(value); return *this; } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline Permission& AddAccess(Aws::String&& value) { m_accessHasBeenSet = true; m_access.push_back(std::move(value)); return *this; } /** *

The permission that you want to give to the AWS user that is listed in * Grantee. Valid values include:

  • READ: The grantee * can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket.

  • READ_ACP: The grantee * can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket.

  • WRITE_ACP: The grantee can * write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 * bucket.

  • FULL_CONTROL: The grantee has READ, * READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket.

*/ inline Permission& AddAccess(const char* value) { m_accessHasBeenSet = true; m_access.push_back(value); return *this; } private: Aws::String m_granteeType; bool m_granteeTypeHasBeenSet = false; Aws::String m_grantee; bool m_granteeHasBeenSet = false; Aws::Vector m_access; bool m_accessHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws