{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-elastic-transcoder/refs/heads/main/json-schema/amazon-elastic-transcoder-create-pipeline-request-schema.json", "title": "CreatePipelineRequest", "description": "The CreatePipelineRequest structure.", "type": "object", "properties": { "Name": { "allOf": [ { "$ref": "#/components/schemas/Name" }, { "description": "

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.

" } ] }, "InputBucket": { "allOf": [ { "$ref": "#/components/schemas/BucketName" }, { "description": "The Amazon S3 bucket in which you saved the media files that you want to transcode." } ] }, "OutputBucket": { "allOf": [ { "$ref": "#/components/schemas/BucketName" }, { "description": "

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

Specify this value when all of the following are true:

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 OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" } ] }, "Role": { "allOf": [ { "$ref": "#/components/schemas/Role" }, { "description": "The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline." } ] }, "AwsKmsKeyArn": { "allOf": [ { "$ref": "#/components/schemas/KeyArn" }, { "description": "

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.

" } ] }, "Notifications": { "allOf": [ { "$ref": "#/components/schemas/Notifications" }, { "description": "

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.

" } ] }, "ContentConfig": { "allOf": [ { "$ref": "#/components/schemas/PipelineOutputConfig" }, { "description": "

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.

" } ] }, "ThumbnailConfig": { "allOf": [ { "$ref": "#/components/schemas/PipelineOutputConfig" }, { "description": "

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.

" } ] } }, "required": [ "Name", "InputBucket", "Role" ] }