/*
* 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.AmazonWebServiceRequest;
/**
* <p>
* The <code>CreatePipelineRequest</code> structure.
* </p>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreatePipelineRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
* <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 Amazon S3 bucket in which you saved the media files that you want to transcode.
* </p>
*/
private String inputBucket;
/**
* <p>
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)
* </p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files only to
* the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which
* users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class,
* omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>
* instead.
* </p>
*/
private String outputBucket;
/**
* <p>
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the 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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to
* notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification
* Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has
* finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </p>
* </li>
* </ul>
*/
private Notifications notifications;
/**
* <p>
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which you want
* Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have
* access to the files, the type of access you want users to have, and the storage class that you want to assign to
* the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to transcoded
* files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or
* predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS account
* or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user
* IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more
* information about using CloudFront origin access identities to require that users use CloudFront URLs instead of
* Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To identify
* the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video
* files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, 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>
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which you
* want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of
* access you want users to have, and the storage class that you want to assign to the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined Amazon
* S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant
* permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the user or
* group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront
* distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code>
* permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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 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 CreatePipelineRequest withName(String name) {
setName(name);
return this;
}
/**
* <p>
* The Amazon S3 bucket in which you saved the media files that you want to transcode.
* </p>
*
* @param inputBucket
* The Amazon S3 bucket in which you saved the media files that you want to transcode.
*/
public void setInputBucket(String inputBucket) {
this.inputBucket = inputBucket;
}
/**
* <p>
* The Amazon S3 bucket in which you saved the media files that you want to transcode.
* </p>
*
* @return The Amazon S3 bucket in which you saved the media files that you want to transcode.
*/
public String getInputBucket() {
return this.inputBucket;
}
/**
* <p>
* The Amazon S3 bucket in which you saved the media files that you want to transcode.
* </p>
*
* @param inputBucket
* The Amazon S3 bucket in which you saved the media files that you want to transcode.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreatePipelineRequest withInputBucket(String inputBucket) {
setInputBucket(inputBucket);
return this;
}
/**
* <p>
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)
* </p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files only to
* the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which
* users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class,
* omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>
* instead.
* </p>
*
* @param outputBucket
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)</p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files
* only to the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify
* which users can access the transcoded files or the permissions the users have, or change the Amazon S3
* storage class, omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and
* <code>ThumbnailConfig</code> instead.
*/
public void setOutputBucket(String outputBucket) {
this.outputBucket = outputBucket;
}
/**
* <p>
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)
* </p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files only to
* the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which
* users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class,
* omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>
* instead.
* </p>
*
* @return The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)</p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files
* only to the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket,
* specify which users can access the transcoded files or the permissions the users have, or change the
* Amazon S3 storage class, omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code>
* and <code>ThumbnailConfig</code> instead.
*/
public String getOutputBucket() {
return this.outputBucket;
}
/**
* <p>
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)
* </p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files only to
* the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which
* users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class,
* omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>
* instead.
* </p>
*
* @param outputBucket
* The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use
* ContentConfig:Bucket plus ThumbnailConfig:Bucket.)</p>
* <p>
* Specify this value when all of the following are true:
* </p>
* <ul>
* <li>
* <p>
* You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and
* playlists.
* </p>
* </li>
* <li>
* <p>
* You do not want to specify the permissions that Elastic Transcoder grants to the files.
* </p>
* <important>
* <p>
* When Elastic Transcoder saves files in <code>OutputBucket</code>, it grants full control over the files
* only to the AWS account that owns the role that is specified by <code>Role</code>.
* </p>
* </important></li>
* <li>
* <p>
* You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
* </p>
* </li>
* </ul>
* <p>
* If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify
* which users can access the transcoded files or the permissions the users have, or change the Amazon S3
* storage class, omit <code>OutputBucket</code> and specify values for <code>ContentConfig</code> and
* <code>ThumbnailConfig</code> instead.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreatePipelineRequest withOutputBucket(String outputBucket) {
setOutputBucket(outputBucket);
return this;
}
/**
* <p>
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.
* </p>
*
* @param role
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the
* pipeline.
*/
public void setRole(String role) {
this.role = role;
}
/**
* <p>
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.
* </p>
*
* @return The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the
* pipeline.
*/
public String getRole() {
return this.role;
}
/**
* <p>
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.
* </p>
*
* @param role
* The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the
* pipeline.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreatePipelineRequest 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 CreatePipelineRequest 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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to
* notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification
* Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has
* finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you
* want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that
* Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon
* Simple Notification Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created
* the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to
* notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification
* Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has
* finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you
* want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN
* that Amazon SNS returned when you created the topic. For more information, see Create a Topic in the
* Amazon Simple Notification Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created
* the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to
* notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification
* Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has
* finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters
* an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you
* created the topic.
* </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>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you
* want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that
* Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon
* Simple Notification Service Developer Guide.
* </p>
* </li>
* <li>
* <p>
* <b>Completed</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created
* the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </p>
* </li>
* <li>
* <p>
* <b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
* encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS
* returned when you created the topic.
* </p>
* </li>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreatePipelineRequest withNotifications(Notifications notifications) {
setNotifications(notifications);
return this;
}
/**
* <p>
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which you want
* Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have
* access to the files, the type of access you want users to have, and the storage class that you want to assign to
* the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to transcoded
* files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or
* predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS account
* or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user
* IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more
* information about using CloudFront origin access identities to require that users use CloudFront URLs instead of
* Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To identify
* the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video
* files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, 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
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which
* you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you
* want to have access to the files, the type of access you want users to have, and the storage class that
* you want to assign to the files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to
* transcoded files and the type of access you want them to have. You can grant permissions to a maximum of
* 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS
* account or an origin access identity for an Amazon CloudFront distribution. For more information about
* canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer
* Guide. For more information about using CloudFront origin access identities to require that users use
* CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your
* Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To
* identify the user or group, you can specify the canonical user ID for an AWS account, an origin access
* identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined
* Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the files that Elastic Transcoder adds to the bucket,
* including playlists and video files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>,
* 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>
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which you want
* Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have
* access to the files, the type of access you want users to have, and the storage class that you want to assign to
* the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to transcoded
* files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or
* predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS account
* or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user
* IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more
* information about using CloudFront origin access identities to require that users use CloudFront URLs instead of
* Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To identify
* the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video
* files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, 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 The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which
* you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you
* want to have access to the files, the type of access you want users to have, and the storage class that
* you want to assign to the files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to
* transcoded files and the type of access you want them to have. You can grant permissions to a maximum of
* 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS
* account or an origin access identity for an Amazon CloudFront distribution. For more information about
* canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer
* Guide. For more information about using CloudFront origin access identities to require that users use
* CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your
* Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To
* identify the user or group, you can specify the canonical user ID for an AWS account, an origin access
* identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined
* Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the files that Elastic Transcoder adds to the bucket,
* including playlists and video files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>
* , 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>
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which you want
* Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have
* access to the files, the type of access you want users to have, and the storage class that you want to assign to
* the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to transcoded
* files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or
* predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS account
* or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user
* IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more
* information about using CloudFront origin access identities to require that users use CloudFront URLs instead of
* Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To identify
* the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video
* files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>, 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
* The optional <code>ContentConfig</code> object specifies information about the Amazon S3 bucket in which
* you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you
* want to have access to the files, the type of access you want users to have, and the storage class that
* you want to assign to the files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code>.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </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> (Optional): The Permissions object specifies which users you want to have access to
* transcoded files and the type of access you want them to have. You can grant permissions to a maximum of
* 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>Grantee Type</b>: Specify the type of value that appears in the <code>Grantee</code> object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is either the canonical user ID for an AWS
* account or an origin access identity for an Amazon CloudFront distribution. For more information about
* canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer
* Guide. For more information about using CloudFront origin access identities to require that users use
* CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your
* Amazon S3 Content.
* </p>
* <important>
* <p>
* A canonical user ID is not the same as an AWS account number.
* </p>
* </important></li>
* <li>
* <p>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to transcoded files and playlists. To
* identify the user or group, you can specify the canonical user ID for an AWS account, an origin access
* identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined
* Amazon S3 group
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the files that Elastic Transcoder adds to the bucket,
* including playlists and video files. 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>
* <li>
* <p>
* <b>StorageClass</b>: The Amazon S3 storage class, <code>Standard</code> or <code>ReducedRedundancy</code>,
* 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 CreatePipelineRequest withContentConfig(PipelineOutputConfig contentConfig) {
setContentConfig(contentConfig);
return this;
}
/**
* <p>
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which you
* want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of
* access you want users to have, and the storage class that you want to assign to the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined Amazon
* S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant
* permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the user or
* group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront
* distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code>
* permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which
* you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the
* type of access you want users to have, and the storage class that you want to assign to the files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined
* Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have.
* You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the
* user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the
* bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and
* <code>WRITE_ACP</code> permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3
* bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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>
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which you
* want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of
* access you want users to have, and the storage class that you want to assign to the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined Amazon
* S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant
* permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the user or
* group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront
* distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code>
* permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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 The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which
* you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files,
* the type of access you want users to have, and the storage class that you want to assign to the
* files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or
* predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want
* them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the
* user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the
* bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and
* <code>WRITE_ACP</code> permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3
* bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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>
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which you
* want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of
* access you want users to have, and the storage class that you want to assign to the files.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined Amazon
* S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant
* permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3 groups:
* <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the user or
* group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront
* distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in <code>Grantee</code>.
* Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and <code>WRITE_ACP</code>
* permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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
* The <code>ThumbnailConfig</code> object specifies several values, including the Amazon S3 bucket in which
* you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the
* type of access you want users to have, and the storage class that you want to assign to the files.</p>
* <p>
* If you specify values for <code>ContentConfig</code>, you must also specify values for
* <code>ThumbnailConfig</code> even if you don't want to create thumbnails.
* </p>
* <p>
* If you specify values for <code>ContentConfig</code> and <code>ThumbnailConfig</code>, omit the
* <code>OutputBucket</code> object.
* </p>
* <ul>
* <li>
* <p>
* <b>Bucket</b>: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
* </p>
* </li>
* <li>
* <p>
* <b>Permissions</b> (Optional): The <code>Permissions</code> object specifies which users and/or predefined
* Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have.
* You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
* </p>
* </li>
* <li>
* <p>
* <b>GranteeType</b>: Specify the type of value that appears in the Grantee object:
* </p>
* <ul>
* <li>
* <p>
* <b>Canonical</b>: The value in the <code>Grantee</code> object is 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>
* <b>Email</b>: The value in the <code>Grantee</code> object is the registered email address of an AWS
* account.
* </p>
* </li>
* <li>
* <p>
* <b>Group</b>: The value in the <code>Grantee</code> object is one of the following predefined Amazon S3
* groups: <code>AllUsers</code>, <code>AuthenticatedUsers</code>, or <code>LogDelivery</code>.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>Grantee</b>: The AWS user or group that you want to have access to thumbnail files. To identify the
* user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a
* CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
* </p>
* </li>
* <li>
* <p>
* <b>Access</b>: The permission that you want to give to the AWS user that you specified in
* <code>Grantee</code>. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the
* bucket. Valid values include:
* </p>
* <ul>
* <li>
* <p>
* <code>READ</code>: The grantee can read the thumbnails 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 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 <code>READ</code>, <code>READ_ACP</code>, and
* <code>WRITE_ACP</code> permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3
* bucket.
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>StorageClass</b>: 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 CreatePipelineRequest 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 (getName() != null)
sb.append("Name: ").append(getName()).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 CreatePipelineRequest == false)
return false;
CreatePipelineRequest other = (CreatePipelineRequest) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == 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 + ((getName() == null) ? 0 : getName().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 CreatePipelineRequest clone() {
return (CreatePipelineRequest) super.clone();
}
}