/* * Copyright 2018-2023 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; /** *

* The UpdatePipelineRequest structure. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdatePipelineRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The ID of the pipeline that you want to update. *

*/ private String id; /** *

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

*

* Constraints: Maximum 40 characters *

*/ private String name; /** *

* The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want * to use as watermarks. *

*/ private String inputBucket; /** *

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

*/ private String role; /** *

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

*

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

*/ private String awsKmsKeyArn; /** *

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

* *

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

*
* */ private Notifications notifications; /** *

* The optional ContentConfig 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. *

*

* If you specify values for ContentConfig, you must also specify values for * ThumbnailConfig. *

*

* If you specify values for ContentConfig and ThumbnailConfig, omit the * OutputBucket object. *

* */ private PipelineOutputConfig contentConfig; /** *

* The ThumbnailConfig 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. *

*

* If you specify values for ContentConfig, you must also specify values for * ThumbnailConfig even if you don't want to create thumbnails. *

*

* If you specify values for ContentConfig and ThumbnailConfig, omit the * OutputBucket object. *

* */ private PipelineOutputConfig thumbnailConfig; /** *

* The ID of the pipeline that you want to update. *

* * @param id * The ID of the pipeline that you want to update. */ public void setId(String id) { this.id = id; } /** *

* The ID of the pipeline that you want to update. *

* * @return The ID of the pipeline that you want to update. */ public String getId() { return this.id; } /** *

* The ID of the pipeline that you want to update. *

* * @param id * The ID of the pipeline that you want to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdatePipelineRequest withId(String id) { setId(id); return this; } /** *

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

*

* Constraints: Maximum 40 characters *

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

*

* Constraints: Maximum 40 characters */ public void setName(String name) { this.name = name; } /** *

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

*

* Constraints: Maximum 40 characters *

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

*

* Constraints: Maximum 40 characters */ public String getName() { return this.name; } /** *

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

*

* Constraints: Maximum 40 characters *

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

*

* Constraints: Maximum 40 characters * @return Returns a reference to this object so that method calls can be chained together. */ public UpdatePipelineRequest withName(String name) { setName(name); return this; } /** *

* The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want * to use as watermarks. *

* * @param inputBucket * The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that * you want to use as watermarks. */ public void setInputBucket(String inputBucket) { this.inputBucket = inputBucket; } /** *

* The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want * to use as watermarks. *

* * @return The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that * you want to use as watermarks. */ public String getInputBucket() { return this.inputBucket; } /** *

* The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want * to use as watermarks. *

* * @param inputBucket * The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that * you want to use as watermarks. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdatePipelineRequest withInputBucket(String inputBucket) { setInputBucket(inputBucket); return this; } /** *

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

* * @param role * The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs * for this pipeline. */ public void setRole(String role) { this.role = role; } /** *

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

* * @return The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs * for this pipeline. */ public String getRole() { return this.role; } /** *

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

* * @param role * The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs * for this pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdatePipelineRequest withRole(String role) { setRole(role); return this; } /** *

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

*

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

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

*

* If you use either s3 or s3-aws-kms as your Encryption:Mode, you * don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for * you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, * or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, * or aes-gcm. */ public void setAwsKmsKeyArn(String awsKmsKeyArn) { this.awsKmsKeyArn = awsKmsKeyArn; } /** *

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

*

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

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

*

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

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

*

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

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

*

* If you use either s3 or s3-aws-kms as your Encryption:Mode, you * don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for * you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, * or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, * or aes-gcm. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdatePipelineRequest withAwsKmsKeyArn(String awsKmsKeyArn) { setAwsKmsKeyArn(awsKmsKeyArn); return this; } /** *

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

* *

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

*
* * * @param notifications * The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to * report job status.

*

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

*
*