/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the elastictranscoder-2012-09-25.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ElasticTranscoder.Model
{
///
/// Container for the parameters to the UpdatePipeline operation.
/// Use the UpdatePipeline
operation to update settings for a pipeline.
///
///
///
/// When you change pipeline settings, your changes take effect immediately. Jobs that
/// you have already submitted and that Elastic Transcoder has not started to process
/// are affected in addition to jobs that you submit after you change settings.
///
///
///
public partial class UpdatePipelineRequest : AmazonElasticTranscoderRequest
{
private string _awsKmsKeyArn;
private PipelineOutputConfig _contentConfig;
private string _id;
private string _inputBucket;
private string _name;
private Notifications _notifications;
private string _role;
private PipelineOutputConfig _thumbnailConfig;
///
/// Gets and sets the property 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
.
///
///
[AWSProperty(Min=0, Max=255)]
public string AwsKmsKeyArn
{
get { return this._awsKmsKeyArn; }
set { this._awsKmsKeyArn = value; }
}
// Check to see if AwsKmsKeyArn property is set
internal bool IsSetAwsKmsKeyArn()
{
return this._awsKmsKeyArn != null;
}
///
/// Gets and sets the property ContentConfig.
///
/// 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.
///
/// -
///
/// Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
/// transcoded files and playlists.
///
///
-
///
/// Permissions (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.
///
///
-
///
/// Grantee Type: Specify the type of value that appears in the
Grantee
/// object:
///
/// -
///
/// Canonical: The value in the
Grantee
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.
///
///
///
/// A canonical user ID is not the same as an AWS account number.
///
/// -
///
/// Email: The value in the
Grantee
object is the registered email
/// address of an AWS account.
///
/// -
///
/// Group: The value in the
Grantee
object is one of the following
/// predefined Amazon S3 groups: AllUsers
, AuthenticatedUsers
,
/// or LogDelivery
.
///
///
-
///
/// Grantee: The AWS user or group that you want to have access to transcoded
/// files and playlists. 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
///
///
-
///
/// Access: The permission that you want to give to the AWS user that you specified
/// in
Grantee
. Permissions are granted on the files that Elastic Transcoder
/// adds to the bucket, including playlists and video files. Valid values include:
///
/// -
///
///
READ
: The grantee can read the objects and metadata for objects that
/// Elastic Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
READ_ACP
: The grantee can read the object ACL for objects that Elastic
/// Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
WRITE_ACP
: The grantee can write the ACL for the objects that Elastic
/// Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
FULL_CONTROL
: The grantee has READ
, READ_ACP
,
/// and WRITE_ACP
permissions for the objects that Elastic Transcoder adds
/// to the Amazon S3 bucket.
///
///
-
///
/// StorageClass: The Amazon S3 storage class,
Standard
or ReducedRedundancy
,
/// that you want Elastic Transcoder to assign to the video files and playlists that it
/// stores in your Amazon S3 bucket.
///
///
///
public PipelineOutputConfig ContentConfig
{
get { return this._contentConfig; }
set { this._contentConfig = value; }
}
// Check to see if ContentConfig property is set
internal bool IsSetContentConfig()
{
return this._contentConfig != null;
}
///
/// Gets and sets the property Id.
///
/// The ID of the pipeline that you want to update.
///
///
[AWSProperty(Required=true)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property 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 string InputBucket
{
get { return this._inputBucket; }
set { this._inputBucket = value; }
}
// Check to see if InputBucket property is set
internal bool IsSetInputBucket()
{
return this._inputBucket != null;
}
///
/// Gets and sets the property 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
///
///
[AWSProperty(Min=1, Max=40)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property 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.
///
/// -
///
/// Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon
/// SNS) topic that you want to notify when Elastic Transcoder has started to process
/// jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when
/// you created the topic.
///
///
-
///
/// Complete: The topic ARN for the Amazon SNS topic that you want to notify when
/// Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS
/// returned when you created the topic.
///
///
-
///
/// Warning: The topic ARN for the Amazon SNS topic that you want to notify when
/// Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS
/// returned when you created the topic.
///
///
-
///
/// Error: The topic ARN for the Amazon SNS topic that you want to notify when
/// Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS
/// returned when you created the topic.
///
///
///
public Notifications Notifications
{
get { return this._notifications; }
set { this._notifications = value; }
}
// Check to see if Notifications property is set
internal bool IsSetNotifications()
{
return this._notifications != null;
}
///
/// Gets and sets the property Role.
///
/// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to
/// use to transcode jobs for this pipeline.
///
///
public string Role
{
get { return this._role; }
set { this._role = value; }
}
// Check to see if Role property is set
internal bool IsSetRole()
{
return this._role != null;
}
///
/// Gets and sets the property ThumbnailConfig.
///
/// 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.
///
/// -
///
/// Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
/// thumbnail files.
///
///
-
///
/// Permissions (Optional): The
Permissions
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.
///
/// -
///
/// GranteeType: Specify the type of value that appears in the Grantee object:
///
///
-
///
/// Canonical: The value in the
Grantee
object is either the canonical
/// user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.
///
///
///
/// A canonical user ID is not the same as an AWS account number.
///
/// -
///
/// Email: The value in the
Grantee
object is the registered email
/// address of an AWS account.
///
/// -
///
/// Group: The value in the
Grantee
object is one of the following
/// predefined Amazon S3 groups: AllUsers
, AuthenticatedUsers
,
/// or LogDelivery
.
///
///
-
///
/// Grantee: The AWS user or group that you want to have access to thumbnail files.
/// 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.
///
///
-
///
/// Access: The permission that you want to give to the AWS user that you specified
/// in
Grantee
. Permissions are granted on the thumbnail files that Elastic
/// Transcoder adds to the bucket. Valid values include:
///
/// -
///
///
READ
: The grantee can read the thumbnails and metadata for objects that
/// Elastic Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
READ_ACP
: The grantee can read the object ACL for thumbnails that Elastic
/// Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
WRITE_ACP
: The grantee can write the ACL for the thumbnails that Elastic
/// Transcoder adds to the Amazon S3 bucket.
///
/// -
///
///
FULL_CONTROL
: The grantee has READ
, READ_ACP
,
/// and WRITE_ACP
permissions for the thumbnails that Elastic Transcoder
/// adds to the Amazon S3 bucket.
///
///
-
///
/// StorageClass: The Amazon S3 storage class,
Standard
or ReducedRedundancy
,
/// that you want Elastic Transcoder to assign to the thumbnails that it stores in your
/// Amazon S3 bucket.
///
///
///
public PipelineOutputConfig ThumbnailConfig
{
get { return this._thumbnailConfig; }
set { this._thumbnailConfig = value; }
}
// Check to see if ThumbnailConfig property is set
internal bool IsSetThumbnailConfig()
{
return this._thumbnailConfig != null;
}
}
}