/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

The PipelineOutputConfig structure.

See Also:

* AWS * API Reference

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

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline const Aws::String& GetBucket() const{ return m_bucket; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline PipelineOutputConfig& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline PipelineOutputConfig& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save the * transcoded files. Specify this value when all of the following are true:

*
  • You want to save transcoded files, thumbnails (if any), and * playlists (if any) together in one bucket.

  • You do not want to * specify the users or groups who have access to the transcoded files, thumbnails, * and playlists.

  • You do not want to specify the permissions that * Elastic Transcoder grants to the files.

  • You want to associate * the transcoded files and thumbnails with the Amazon S3 Standard storage * class.

If you want to save transcoded files and playlists in * one bucket and thumbnails in another bucket, specify which users can access the * transcoded files or the permissions the users have, or change the Amazon S3 * storage class, omit OutputBucket and specify values for * ContentConfig and ThumbnailConfig instead.

*/ inline PipelineOutputConfig& WithBucket(const char* value) { SetBucket(value); return *this;} /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline const Aws::String& GetStorageClass() const{ return m_storageClass; } /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; } /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline void SetStorageClass(const Aws::String& value) { m_storageClassHasBeenSet = true; m_storageClass = value; } /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline void SetStorageClass(Aws::String&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); } /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline void SetStorageClass(const char* value) { m_storageClassHasBeenSet = true; m_storageClass.assign(value); } /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline PipelineOutputConfig& WithStorageClass(const Aws::String& value) { SetStorageClass(value); return *this;} /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline PipelineOutputConfig& WithStorageClass(Aws::String&& value) { SetStorageClass(std::move(value)); return *this;} /** *

The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the video files and playlists that it stores in your Amazon S3 bucket.

*/ inline PipelineOutputConfig& WithStorageClass(const char* value) { SetStorageClass(value); return *this;} /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline const Aws::Vector& GetPermissions() const{ return m_permissions; } /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline void SetPermissions(const Aws::Vector& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline void SetPermissions(Aws::Vector&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline PipelineOutputConfig& WithPermissions(const Aws::Vector& value) { SetPermissions(value); return *this;} /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline PipelineOutputConfig& WithPermissions(Aws::Vector&& value) { SetPermissions(std::move(value)); return *this;} /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline PipelineOutputConfig& AddPermissions(const Permission& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; } /** *

Optional. The Permissions object specifies which users and/or * predefined Amazon S3 groups you want to have access to transcoded files and * playlists, and the type of access you want them to have. You can grant * permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

*

If you include Permissions, Elastic Transcoder grants only the * permissions that you specify. It does not grant full permissions to the owner of * the role specified by Role. If you want that user to have full * control, you must explicitly grant full control to the user.

If you omit * Permissions, Elastic Transcoder grants full control over the * transcoded files and playlists to the owner of the role specified by * Role, and grants no other permissions to any other user or * group.

*/ inline PipelineOutputConfig& AddPermissions(Permission&& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(std::move(value)); return *this; } private: Aws::String m_bucket; bool m_bucketHasBeenSet = false; Aws::String m_storageClass; bool m_storageClassHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws