/** * 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 pipeline (queue) that is used to manage jobs.

See Also:

* AWS * API Reference

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

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline Pipeline& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline Pipeline& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier for the pipeline. You use this value to identify the pipeline * in which you want to perform a variety of operations, such as creating a job or * a preset.

*/ inline Pipeline& WithId(const char* value) { SetId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline Pipeline& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline Pipeline& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the pipeline.

*/ inline Pipeline& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline Pipeline& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline Pipeline& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the pipeline. We recommend that the name be unique within the AWS * account, but uniqueness is not enforced.

Constraints: Maximum 40 * characters

*/ inline Pipeline& WithName(const char* value) { SetName(value); return *this;} /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline Pipeline& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline Pipeline& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The current status of the pipeline:

  • Active: * The pipeline is processing jobs.

  • Paused: The * pipeline is not currently processing jobs.

*/ inline Pipeline& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline const Aws::String& GetInputBucket() const{ return m_inputBucket; } /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline bool InputBucketHasBeenSet() const { return m_inputBucketHasBeenSet; } /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline void SetInputBucket(const Aws::String& value) { m_inputBucketHasBeenSet = true; m_inputBucket = value; } /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline void SetInputBucket(Aws::String&& value) { m_inputBucketHasBeenSet = true; m_inputBucket = std::move(value); } /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline void SetInputBucket(const char* value) { m_inputBucketHasBeenSet = true; m_inputBucket.assign(value); } /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline Pipeline& WithInputBucket(const Aws::String& value) { SetInputBucket(value); return *this;} /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline Pipeline& WithInputBucket(Aws::String&& value) { SetInputBucket(std::move(value)); return *this;} /** *

The Amazon S3 bucket from which Elastic Transcoder gets media files for * transcoding and the graphics files, if any, that you want to use for * watermarks.

*/ inline Pipeline& WithInputBucket(const char* value) { SetInputBucket(value); return *this;} /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline const Aws::String& GetOutputBucket() const{ return m_outputBucket; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline bool OutputBucketHasBeenSet() const { return m_outputBucketHasBeenSet; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline void SetOutputBucket(const Aws::String& value) { m_outputBucketHasBeenSet = true; m_outputBucket = value; } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline void SetOutputBucket(Aws::String&& value) { m_outputBucketHasBeenSet = true; m_outputBucket = std::move(value); } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline void SetOutputBucket(const char* value) { m_outputBucketHasBeenSet = true; m_outputBucket.assign(value); } /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline Pipeline& WithOutputBucket(const Aws::String& value) { SetOutputBucket(value); return *this;} /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline Pipeline& WithOutputBucket(Aws::String&& value) { SetOutputBucket(std::move(value)); return *this;} /** *

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded * files, thumbnails, and playlists. Either you specify this value, or you specify * both ContentConfig and ThumbnailConfig.

*/ inline Pipeline& WithOutputBucket(const char* value) { SetOutputBucket(value); return *this;} /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline const Aws::String& GetRole() const{ return m_role; } /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline Pipeline& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline Pipeline& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses * to transcode jobs for this pipeline.

*/ inline Pipeline& WithRole(const char* value) { SetRole(value); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline const Aws::String& GetAwsKmsKeyArn() const{ return m_awsKmsKeyArn; } /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline bool AwsKmsKeyArnHasBeenSet() const { return m_awsKmsKeyArnHasBeenSet; } /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline void SetAwsKmsKeyArn(const Aws::String& value) { m_awsKmsKeyArnHasBeenSet = true; m_awsKmsKeyArn = value; } /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline void SetAwsKmsKeyArn(Aws::String&& value) { m_awsKmsKeyArnHasBeenSet = true; m_awsKmsKeyArn = std::move(value); } /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline void SetAwsKmsKeyArn(const char* value) { m_awsKmsKeyArnHasBeenSet = true; m_awsKmsKeyArn.assign(value); } /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline Pipeline& WithAwsKmsKeyArn(const Aws::String& value) { SetAwsKmsKeyArn(value); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline Pipeline& WithAwsKmsKeyArn(Aws::String&& value) { SetAwsKmsKeyArn(std::move(value)); return *this;} /** *

The AWS Key Management Service (AWS KMS) key that you want to use with this * pipeline.

If you use either s3 or s3-aws-kms as * your Encryption:Mode, you don't need to provide a key with your job * because a default key, known as an AWS-KMS key, is created for you * automatically. You need to provide an AWS-KMS key only if you want to use a * non-default AWS-KMS key, or if you are using an Encryption:Mode of * aes-cbc-pkcs7, aes-ctr, or aes-gcm.

*/ inline Pipeline& WithAwsKmsKeyArn(const char* value) { SetAwsKmsKeyArn(value); return *this;} /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline const Notifications& GetNotifications() const{ return m_notifications; } /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline bool NotificationsHasBeenSet() const { return m_notificationsHasBeenSet; } /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline void SetNotifications(const Notifications& value) { m_notificationsHasBeenSet = true; m_notifications = value; } /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline void SetNotifications(Notifications&& value) { m_notificationsHasBeenSet = true; m_notifications = std::move(value); } /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline Pipeline& WithNotifications(const Notifications& value) { SetNotifications(value); return *this;} /** *

The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify to report job status.

To receive notifications, you * must also subscribe to the new topic in the Amazon SNS console.

*
  • Progressing (optional): The Amazon Simple Notification * Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has * started to process the job.

  • Complete (optional): The * Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job.

  • Warning (optional): The Amazon SNS * topic that you want to notify when Elastic Transcoder encounters a warning * condition.

  • Error (optional): The Amazon SNS topic that * you want to notify when Elastic Transcoder encounters an error condition.

    *
*/ inline Pipeline& WithNotifications(Notifications&& value) { SetNotifications(std::move(value)); return *this;} /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 const PipelineOutputConfig& GetContentConfig() const{ return m_contentConfig; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 ContentConfigHasBeenSet() const { return m_contentConfigHasBeenSet; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 void SetContentConfig(const PipelineOutputConfig& value) { m_contentConfigHasBeenSet = true; m_contentConfig = value; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 void SetContentConfig(PipelineOutputConfig&& value) { m_contentConfigHasBeenSet = true; m_contentConfig = std::move(value); } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 Pipeline& WithContentConfig(const PipelineOutputConfig& value) { SetContentConfig(value); return *this;} /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save transcoded files and playlists. Either you specify both * ContentConfig and ThumbnailConfig, or you specify * OutputBucket.

  • Bucket: The Amazon S3 bucket * in which you want Elastic Transcoder to save transcoded files and playlists.

    *
  • Permissions: A list of the users and/or predefined Amazon * S3 groups you want to have access to transcoded files and playlists, and the * type of access that you want them to have.

    • 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.

      • *

        Email: The registered email address of an AWS account.

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

    • Grantee: * The AWS user or group that you want to have access to transcoded files and * playlists.

    • 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 objects * and metadata for objects that Elastic Transcoder adds to the Amazon S3 * bucket.

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

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

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

    • *
  • 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 Pipeline& WithContentConfig(PipelineOutputConfig&& value) { SetContentConfig(std::move(value)); return *this;} /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline const PipelineOutputConfig& GetThumbnailConfig() const{ return m_thumbnailConfig; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline bool ThumbnailConfigHasBeenSet() const { return m_thumbnailConfigHasBeenSet; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline void SetThumbnailConfig(const PipelineOutputConfig& value) { m_thumbnailConfigHasBeenSet = true; m_thumbnailConfig = value; } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline void SetThumbnailConfig(PipelineOutputConfig&& value) { m_thumbnailConfigHasBeenSet = true; m_thumbnailConfig = std::move(value); } /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline Pipeline& WithThumbnailConfig(const PipelineOutputConfig& value) { SetThumbnailConfig(value); return *this;} /** *

Information about the Amazon S3 bucket in which you want Elastic Transcoder * to save thumbnail files. Either you specify both ContentConfig and * ThumbnailConfig, or you specify OutputBucket.

    *
  • Bucket: The Amazon S3 bucket in which you want Elastic * Transcoder to save thumbnail files.

  • * Permissions: A list of the users and/or predefined Amazon S3 groups * you want to have access to thumbnail files, and the type of access that you want * them to have.

    • 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.

    • Grantee: * The AWS user or group that you want to have access to thumbnail files.

    • *
    • 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.

  • StorageClass: * The Amazon S3 storage class, Standard or * ReducedRedundancy, that you want Elastic Transcoder to assign to * the thumbnails that it stores in your Amazon S3 bucket.

*/ inline Pipeline& WithThumbnailConfig(PipelineOutputConfig&& value) { SetThumbnailConfig(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_inputBucket; bool m_inputBucketHasBeenSet = false; Aws::String m_outputBucket; bool m_outputBucketHasBeenSet = false; Aws::String m_role; bool m_roleHasBeenSet = false; Aws::String m_awsKmsKeyArn; bool m_awsKmsKeyArnHasBeenSet = false; Notifications m_notifications; bool m_notificationsHasBeenSet = false; PipelineOutputConfig m_contentConfig; bool m_contentConfigHasBeenSet = false; PipelineOutputConfig m_thumbnailConfig; bool m_thumbnailConfigHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws