/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elastictranscoder.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * The pipeline (queue) that is used to manage jobs. * </p> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Pipeline implements Serializable, Cloneable, StructuredPojo { /** * <p> * 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. * </p> */ private String id; /** * <p> * The Amazon Resource Name (ARN) for the pipeline. * </p> */ private String arn; /** * <p> * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not * enforced. * </p> * <p> * Constraints: Maximum 40 characters * </p> */ private String name; /** * <p> * The current status of the pipeline: * </p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> * </ul> */ private String status; /** * <p> * 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. * </p> */ private String inputBucket; /** * <p> * 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 <code>ContentConfig</code> and <code>ThumbnailConfig</code>. * </p> */ private String outputBucket; /** * <p> * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline. * </p> */ private String role; /** * <p> * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. * </p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 * <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or <code>AES-GCM</code>. * </p> */ private String awsKmsKeyArn; /** * <p> * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. * </p> * <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify * when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a * warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error * condition. * </p> * </li> * </ul> */ private Notifications notifications; /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in <code>Grantee</code>. * Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code> * permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> * </ul> */ private PipelineOutputConfig contentConfig; /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you * specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that * Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, * that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. * </p> * </li> * </ul> */ private PipelineOutputConfig thumbnailConfig; /** * <p> * 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. * </p> * * @param 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. */ public void setId(String id) { this.id = id; } /** * <p> * 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. * </p> * * @return 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. */ public String getId() { return this.id; } /** * <p> * 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. * </p> * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withId(String id) { setId(id); return this; } /** * <p> * The Amazon Resource Name (ARN) for the pipeline. * </p> * * @param arn * The Amazon Resource Name (ARN) for the pipeline. */ public void setArn(String arn) { this.arn = arn; } /** * <p> * The Amazon Resource Name (ARN) for the pipeline. * </p> * * @return The Amazon Resource Name (ARN) for the pipeline. */ public String getArn() { return this.arn; } /** * <p> * The Amazon Resource Name (ARN) for the pipeline. * </p> * * @param arn * The Amazon Resource Name (ARN) for the pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withArn(String arn) { setArn(arn); return this; } /** * <p> * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not * enforced. * </p> * <p> * Constraints: Maximum 40 characters * </p> * * @param name * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is * not enforced.</p> * <p> * Constraints: Maximum 40 characters */ public void setName(String name) { this.name = name; } /** * <p> * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not * enforced. * </p> * <p> * Constraints: Maximum 40 characters * </p> * * @return The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is * not enforced.</p> * <p> * Constraints: Maximum 40 characters */ public String getName() { return this.name; } /** * <p> * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not * enforced. * </p> * <p> * Constraints: Maximum 40 characters * </p> * * @param name * The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is * not enforced.</p> * <p> * Constraints: Maximum 40 characters * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withName(String name) { setName(name); return this; } /** * <p> * The current status of the pipeline: * </p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> * </ul> * * @param status * The current status of the pipeline:</p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> */ public void setStatus(String status) { this.status = status; } /** * <p> * The current status of the pipeline: * </p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> * </ul> * * @return The current status of the pipeline:</p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> */ public String getStatus() { return this.status; } /** * <p> * The current status of the pipeline: * </p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> * </ul> * * @param status * The current status of the pipeline:</p> * <ul> * <li> * <p> * <code>Active</code>: The pipeline is processing jobs. * </p> * </li> * <li> * <p> * <code>Paused</code>: The pipeline is not currently processing jobs. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withStatus(String status) { setStatus(status); return this; } /** * <p> * 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. * </p> * * @param 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. */ public void setInputBucket(String inputBucket) { this.inputBucket = inputBucket; } /** * <p> * 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. * </p> * * @return 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. */ public String getInputBucket() { return this.inputBucket; } /** * <p> * 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. * </p> * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withInputBucket(String inputBucket) { setInputBucket(inputBucket); return this; } /** * <p> * 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 <code>ContentConfig</code> and <code>ThumbnailConfig</code>. * </p> * * @param 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 <code>ContentConfig</code> and * <code>ThumbnailConfig</code>. */ public void setOutputBucket(String outputBucket) { this.outputBucket = outputBucket; } /** * <p> * 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 <code>ContentConfig</code> and <code>ThumbnailConfig</code>. * </p> * * @return 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 <code>ContentConfig</code> and * <code>ThumbnailConfig</code>. */ public String getOutputBucket() { return this.outputBucket; } /** * <p> * 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 <code>ContentConfig</code> and <code>ThumbnailConfig</code>. * </p> * * @param 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 <code>ContentConfig</code> and * <code>ThumbnailConfig</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withOutputBucket(String outputBucket) { setOutputBucket(outputBucket); return this; } /** * <p> * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline. * </p> * * @param role * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this * pipeline. */ public void setRole(String role) { this.role = role; } /** * <p> * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline. * </p> * * @return The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this * pipeline. */ public String getRole() { return this.role; } /** * <p> * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline. * </p> * * @param role * The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this * pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withRole(String role) { setRole(role); return this; } /** * <p> * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. * </p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 * <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or <code>AES-GCM</code>. * </p> * * @param awsKmsKeyArn * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.</p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or * <code>AES-GCM</code>. */ public void setAwsKmsKeyArn(String awsKmsKeyArn) { this.awsKmsKeyArn = awsKmsKeyArn; } /** * <p> * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. * </p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 * <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or <code>AES-GCM</code>. * </p> * * @return The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.</p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or * <code>AES-GCM</code>. */ public String getAwsKmsKeyArn() { return this.awsKmsKeyArn; } /** * <p> * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. * </p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 * <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or <code>AES-GCM</code>. * </p> * * @param awsKmsKeyArn * The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.</p> * <p> * If you use either <code>S3</code> or <code>S3-AWS-KMS</code> as your <code>Encryption:Mode</code>, 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 <code>Encryption:Mode</code> of <code>AES-PKCS7</code>, <code>AES-CTR</code>, or * <code>AES-GCM</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withAwsKmsKeyArn(String awsKmsKeyArn) { setAwsKmsKeyArn(awsKmsKeyArn); return this; } /** * <p> * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. * </p> * <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify * when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a * warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error * condition. * </p> * </li> * </ul> * * @param notifications * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job * status.</p> <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has * finished processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters * a warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters * an error condition. * </p> * </li> */ public void setNotifications(Notifications notifications) { this.notifications = notifications; } /** * <p> * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. * </p> * <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify * when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a * warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error * condition. * </p> * </li> * </ul> * * @return The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job * status.</p> <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has * finished processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder * encounters a warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters * an error condition. * </p> * </li> */ public Notifications getNotifications() { return this.notifications; } /** * <p> * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. * </p> * <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify * when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished * processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a * warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error * condition. * </p> * </li> * </ul> * * @param notifications * The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job * status.</p> <important> * <p> * To receive notifications, you must also subscribe to the new topic in the Amazon SNS console. * </p> * </important> * <ul> * <li> * <p> * <b>Progressing</b> (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to * notify when Elastic Transcoder has started to process the job. * </p> * </li> * <li> * <p> * <b>Completed</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has * finished processing the job. * </p> * </li> * <li> * <p> * <b>Warning</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters * a warning condition. * </p> * </li> * <li> * <p> * <b>Error</b> (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters * an error condition. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withNotifications(Notifications notifications) { setNotifications(notifications); return this; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in <code>Grantee</code>. * Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code> * permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> * </ul> * * @param contentConfig * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you * specify <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and * playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in * <code>Grantee</code>. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and * <code>WRITE_ACP</code> permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> */ public void setContentConfig(PipelineOutputConfig contentConfig) { this.contentConfig = contentConfig; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in <code>Grantee</code>. * Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code> * permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> * </ul> * * @return Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you * specify <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and * playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in * <code>Grantee</code>. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and * <code>WRITE_ACP</code> permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> */ public PipelineOutputConfig getContentConfig() { return this.contentConfig; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in <code>Grantee</code>. * Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon * S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code> * permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> * </ul> * * @param contentConfig * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you * specify <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and * playlists. * </p> * </li> * <li> * <p> * <b>Permissions</b>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the <code>Grantee</code> object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * </li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to transcoded files and * playlists. * </p> * </li> * <li> * <p> * <code>Access</code>: The permission that you want to give to the AWS user that is listed in * <code>Grantee</code>. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the objects and metadata for objects that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the objects that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has <code>READ</code>, <code>READ_ACP</code>, and * <code>WRITE_ACP</code> permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <b>StorageClass</b>: 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. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withContentConfig(PipelineOutputConfig contentConfig) { setContentConfig(contentConfig); return this; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you * specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that * Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, * that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. * </p> * </li> * </ul> * * @param thumbnailConfig * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values * include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails * that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or * <code>ReducedRedundancy</code>, that you want Elastic Transcoder to assign to the thumbnails that it * stores in your Amazon S3 bucket. * </p> * </li> */ public void setThumbnailConfig(PipelineOutputConfig thumbnailConfig) { this.thumbnailConfig = thumbnailConfig; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you * specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that * Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, * that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. * </p> * </li> * </ul> * * @return Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values * include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic * Transcoder adds to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails * that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or * <code>ReducedRedundancy</code>, that you want Elastic Transcoder to assign to the thumbnails that it * stores in your Amazon S3 bucket. * </p> * </li> */ public PipelineOutputConfig getThumbnailConfig() { return this.thumbnailConfig; } /** * <p> * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you * specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>. * </p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for an * Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds * to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the * Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that * Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, * that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. * </p> * </li> * </ul> * * @param thumbnailConfig * Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * Either you specify both <code>ContentConfig</code> and <code>ThumbnailConfig</code>, or you specify * <code>OutputBucket</code>.</p> * <ul> * <li> * <p> * <code>Bucket</code>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. * </p> * </li> * <li> * <p> * <code>Permissions</code>: 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. * </p> * <ul> * <li> * <p> * GranteeType: The type of value that appears in the Grantee object: * </p> * <ul> * <li> * <p> * <code>Canonical</code>: Either the canonical user ID for an AWS account or an origin access identity for * an Amazon CloudFront distribution. * </p> * <important> * <p> * A canonical user ID is not the same as an AWS account number. * </p> * </important></li> * <li> * <p> * <code>Email</code>: The registered email address of an AWS account. * </p> * </li> * <li> * <p> * <code>Group</code>: One of the following predefined Amazon S3 groups: <code>AllUsers</code>, * <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>. * </p> * </li> * </ul> * </li> * <li> * <p> * <code>Grantee</code>: The AWS user or group that you want to have access to thumbnail files. * </p> * </li> * <li> * <p> * Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values * include: * </p> * <ul> * <li> * <p> * <code>READ</code>: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder * adds to the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>READ_ACP</code>: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>WRITE_ACP</code>: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to * the Amazon S3 bucket. * </p> * </li> * <li> * <p> * <code>FULL_CONTROL</code>: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails * that Elastic Transcoder adds to the Amazon S3 bucket. * </p> * </li> * </ul> * </li> * </ul> * </li> * <li> * <p> * <code>StorageClass</code>: The Amazon S3 storage class, <code>Standard</code> or * <code>ReducedRedundancy</code>, that you want Elastic Transcoder to assign to the thumbnails that it * stores in your Amazon S3 bucket. * </p> * </li> * @return Returns a reference to this object so that method calls can be chained together. */ public Pipeline withThumbnailConfig(PipelineOutputConfig thumbnailConfig) { setThumbnailConfig(thumbnailConfig); return this; } /** * Returns a string representation of this object; useful for testing and debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getId() != null) sb.append("Id: ").append(getId()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getInputBucket() != null) sb.append("InputBucket: ").append(getInputBucket()).append(","); if (getOutputBucket() != null) sb.append("OutputBucket: ").append(getOutputBucket()).append(","); if (getRole() != null) sb.append("Role: ").append(getRole()).append(","); if (getAwsKmsKeyArn() != null) sb.append("AwsKmsKeyArn: ").append(getAwsKmsKeyArn()).append(","); if (getNotifications() != null) sb.append("Notifications: ").append(getNotifications()).append(","); if (getContentConfig() != null) sb.append("ContentConfig: ").append(getContentConfig()).append(","); if (getThumbnailConfig() != null) sb.append("ThumbnailConfig: ").append(getThumbnailConfig()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Pipeline == false) return false; Pipeline other = (Pipeline) obj; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false) return false; if (other.getInputBucket() == null ^ this.getInputBucket() == null) return false; if (other.getInputBucket() != null && other.getInputBucket().equals(this.getInputBucket()) == false) return false; if (other.getOutputBucket() == null ^ this.getOutputBucket() == null) return false; if (other.getOutputBucket() != null && other.getOutputBucket().equals(this.getOutputBucket()) == false) return false; if (other.getRole() == null ^ this.getRole() == null) return false; if (other.getRole() != null && other.getRole().equals(this.getRole()) == false) return false; if (other.getAwsKmsKeyArn() == null ^ this.getAwsKmsKeyArn() == null) return false; if (other.getAwsKmsKeyArn() != null && other.getAwsKmsKeyArn().equals(this.getAwsKmsKeyArn()) == false) return false; if (other.getNotifications() == null ^ this.getNotifications() == null) return false; if (other.getNotifications() != null && other.getNotifications().equals(this.getNotifications()) == false) return false; if (other.getContentConfig() == null ^ this.getContentConfig() == null) return false; if (other.getContentConfig() != null && other.getContentConfig().equals(this.getContentConfig()) == false) return false; if (other.getThumbnailConfig() == null ^ this.getThumbnailConfig() == null) return false; if (other.getThumbnailConfig() != null && other.getThumbnailConfig().equals(this.getThumbnailConfig()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getInputBucket() == null) ? 0 : getInputBucket().hashCode()); hashCode = prime * hashCode + ((getOutputBucket() == null) ? 0 : getOutputBucket().hashCode()); hashCode = prime * hashCode + ((getRole() == null) ? 0 : getRole().hashCode()); hashCode = prime * hashCode + ((getAwsKmsKeyArn() == null) ? 0 : getAwsKmsKeyArn().hashCode()); hashCode = prime * hashCode + ((getNotifications() == null) ? 0 : getNotifications().hashCode()); hashCode = prime * hashCode + ((getContentConfig() == null) ? 0 : getContentConfig().hashCode()); hashCode = prime * hashCode + ((getThumbnailConfig() == null) ? 0 : getThumbnailConfig().hashCode()); return hashCode; } @Override public Pipeline clone() { try { return (Pipeline) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.elastictranscoder.model.transform.PipelineMarshaller.getInstance().marshall(this, protocolMarshaller); } }