diff env/lib/python3.7/site-packages/boto/elastictranscoder/layer1.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/elastictranscoder/layer1.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,932 +0,0 @@
-# Copyright (c) 2013 Amazon.com, Inc. or its affiliates.  All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-from boto.compat import json
-from boto.exception import JSONResponseError
-from boto.connection import AWSAuthConnection
-from boto.regioninfo import RegionInfo
-from boto.elastictranscoder import exceptions
-
-
-class ElasticTranscoderConnection(AWSAuthConnection):
-    """
-    AWS Elastic Transcoder Service
-    The AWS Elastic Transcoder Service.
-    """
-    APIVersion = "2012-09-25"
-    DefaultRegionName = "us-east-1"
-    DefaultRegionEndpoint = "elastictranscoder.us-east-1.amazonaws.com"
-    ResponseError = JSONResponseError
-
-    _faults = {
-        "IncompatibleVersionException": exceptions.IncompatibleVersionException,
-        "LimitExceededException": exceptions.LimitExceededException,
-        "ResourceInUseException": exceptions.ResourceInUseException,
-        "AccessDeniedException": exceptions.AccessDeniedException,
-        "ResourceNotFoundException": exceptions.ResourceNotFoundException,
-        "InternalServiceException": exceptions.InternalServiceException,
-        "ValidationException": exceptions.ValidationException,
-    }
-
-
-    def __init__(self, **kwargs):
-        region = kwargs.get('region')
-        if not region:
-            region = RegionInfo(self, self.DefaultRegionName,
-                                self.DefaultRegionEndpoint)
-        else:
-            del kwargs['region']
-        kwargs['host'] = region.endpoint
-        super(ElasticTranscoderConnection, self).__init__(**kwargs)
-        self.region = region
-
-    def _required_auth_capability(self):
-        return ['hmac-v4']
-
-    def cancel_job(self, id=None):
-        """
-        The CancelJob operation cancels an unfinished job.
-        You can only cancel a job that has a status of `Submitted`. To
-        prevent a pipeline from starting to process a job while you're
-        getting the job identifier, use UpdatePipelineStatus to
-        temporarily pause the pipeline.
-
-        :type id: string
-        :param id: The identifier of the job that you want to cancel.
-        To get a list of the jobs (including their `jobId`) that have a status
-            of `Submitted`, use the ListJobsByStatus API action.
-
-        """
-        uri = '/2012-09-25/jobs/{0}'.format(id)
-        return self.make_request('DELETE', uri, expected_status=202)
-
-    def create_job(self, pipeline_id=None, input_name=None, output=None,
-                   outputs=None, output_key_prefix=None, playlists=None):
-        """
-        When you create a job, Elastic Transcoder returns JSON data
-        that includes the values that you specified plus information
-        about the job that is created.
-
-        If you have specified more than one output for your jobs (for
-        example, one output for the Kindle Fire and another output for
-        the Apple iPhone 4s), you currently must use the Elastic
-        Transcoder API to list the jobs (as opposed to the AWS
-        Console).
-
-        :type pipeline_id: string
-        :param pipeline_id: The `Id` of the pipeline that you want Elastic
-            Transcoder to use for transcoding. The pipeline determines several
-            settings, including the Amazon S3 bucket from which Elastic
-            Transcoder gets the files to transcode and the bucket into which
-            Elastic Transcoder puts the transcoded files.
-
-        :type input_name: dict
-        :param input_name: A section of the request body that provides
-            information about the file that is being transcoded.
-
-        :type output: dict
-        :param output: The `CreateJobOutput` structure.
-
-        :type outputs: list
-        :param outputs: A section of the request body that provides information
-            about the transcoded (target) files. We recommend that you use the
-            `Outputs` syntax instead of the `Output` syntax.
-
-        :type output_key_prefix: string
-        :param output_key_prefix: The value, if any, that you want Elastic
-            Transcoder to prepend to the names of all files that this job
-            creates, including output files, thumbnails, and playlists.
-
-        :type playlists: list
-        :param playlists: If you specify a preset in `PresetId` for which the
-            value of `Container` is ts (MPEG-TS), Playlists contains
-            information about the master playlists that you want Elastic
-            Transcoder to create.
-        We recommend that you create only one master playlist. The maximum
-            number of master playlists in a job is 30.
-
-        """
-        uri = '/2012-09-25/jobs'
-        params = {}
-        if pipeline_id is not None:
-            params['PipelineId'] = pipeline_id
-        if input_name is not None:
-            params['Input'] = input_name
-        if output is not None:
-            params['Output'] = output
-        if outputs is not None:
-            params['Outputs'] = outputs
-        if output_key_prefix is not None:
-            params['OutputKeyPrefix'] = output_key_prefix
-        if playlists is not None:
-            params['Playlists'] = playlists
-        return self.make_request('POST', uri, expected_status=201,
-                                 data=json.dumps(params))
-
-    def create_pipeline(self, name=None, input_bucket=None,
-                        output_bucket=None, role=None, notifications=None,
-                        content_config=None, thumbnail_config=None):
-        """
-        The CreatePipeline operation creates a pipeline with settings
-        that you specify.
-
-        :type name: string
-        :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.
-
-        :type input_bucket: string
-        :param input_bucket: The Amazon S3 bucket in which you saved the media
-            files that you want to transcode.
-
-        :type output_bucket: string
-        :param output_bucket: 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:
-
-        + You want to save transcoded files, thumbnails (if any), and playlists
-              (if any) together in one bucket.
-        + You do not want to specify the users or groups who have access to the
-              transcoded files, thumbnails, and playlists.
-        + You do not want to specify the permissions that Elastic Transcoder
-              grants to the files. When Elastic Transcoder saves files in
-              `OutputBucket`, it grants full control over the files only to the
-              AWS account that owns the role that is specified by `Role`.
-        + You want to associate the transcoded files and thumbnails with the
-              Amazon S3 Standard storage class.
-
-
-
-        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.
-
-        :type role: string
-        :param role: The IAM Amazon Resource Name (ARN) for the role that you
-            want Elastic Transcoder to use to create the pipeline.
-
-        :type notifications: dict
-        :param notifications:
-        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 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.
-        + **Completed**: 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.
-        + **Warning**: 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.
-        + **Error**: 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.
-
-        :type content_config: dict
-        :param content_config:
-        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.
-
-        :type thumbnail_config: dict
-        :param thumbnail_config:
-        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.
-
-        """
-        uri = '/2012-09-25/pipelines'
-        params = {}
-        if name is not None:
-            params['Name'] = name
-        if input_bucket is not None:
-            params['InputBucket'] = input_bucket
-        if output_bucket is not None:
-            params['OutputBucket'] = output_bucket
-        if role is not None:
-            params['Role'] = role
-        if notifications is not None:
-            params['Notifications'] = notifications
-        if content_config is not None:
-            params['ContentConfig'] = content_config
-        if thumbnail_config is not None:
-            params['ThumbnailConfig'] = thumbnail_config
-        return self.make_request('POST', uri, expected_status=201,
-                                 data=json.dumps(params))
-
-    def create_preset(self, name=None, description=None, container=None,
-                      video=None, audio=None, thumbnails=None):
-        """
-        The CreatePreset operation creates a preset with settings that
-        you specify.
-        Elastic Transcoder checks the CreatePreset settings to ensure
-        that they meet Elastic Transcoder requirements and to
-        determine whether they comply with H.264 standards. If your
-        settings are not valid for Elastic Transcoder, Elastic
-        Transcoder returns an HTTP 400 response (
-        `ValidationException`) and does not create the preset. If the
-        settings are valid for Elastic Transcoder but aren't strictly
-        compliant with the H.264 standard, Elastic Transcoder creates
-        the preset and returns a warning message in the response. This
-        helps you determine whether your settings comply with the
-        H.264 standard while giving you greater flexibility with
-        respect to the video that Elastic Transcoder produces.
-        Elastic Transcoder uses the H.264 video-compression format.
-        For more information, see the International Telecommunication
-        Union publication Recommendation ITU-T H.264: Advanced video
-        coding for generic audiovisual services .
-
-        :type name: string
-        :param name: The name of the preset. We recommend that the name be
-            unique within the AWS account, but uniqueness is not enforced.
-
-        :type description: string
-        :param description: A description of the preset.
-
-        :type container: string
-        :param container: The container type for the output file. Valid values
-            include `mp3`, `mp4`, `ogg`, `ts`, and `webm`.
-
-        :type video: dict
-        :param video: A section of the request body that specifies the video
-            parameters.
-
-        :type audio: dict
-        :param audio: A section of the request body that specifies the audio
-            parameters.
-
-        :type thumbnails: dict
-        :param thumbnails: A section of the request body that specifies the
-            thumbnail parameters, if any.
-
-        """
-        uri = '/2012-09-25/presets'
-        params = {}
-        if name is not None:
-            params['Name'] = name
-        if description is not None:
-            params['Description'] = description
-        if container is not None:
-            params['Container'] = container
-        if video is not None:
-            params['Video'] = video
-        if audio is not None:
-            params['Audio'] = audio
-        if thumbnails is not None:
-            params['Thumbnails'] = thumbnails
-        return self.make_request('POST', uri, expected_status=201,
-                                 data=json.dumps(params))
-
-    def delete_pipeline(self, id=None):
-        """
-        The DeletePipeline operation removes a pipeline.
-
-        You can only delete a pipeline that has never been used or
-        that is not currently in use (doesn't contain any active
-        jobs). If the pipeline is currently in use, `DeletePipeline`
-        returns an error.
-
-        :type id: string
-        :param id: The identifier of the pipeline that you want to delete.
-
-        """
-        uri = '/2012-09-25/pipelines/{0}'.format(id)
-        return self.make_request('DELETE', uri, expected_status=202)
-
-    def delete_preset(self, id=None):
-        """
-        The DeletePreset operation removes a preset that you've added
-        in an AWS region.
-
-        You can't delete the default presets that are included with
-        Elastic Transcoder.
-
-        :type id: string
-        :param id: The identifier of the preset for which you want to get
-            detailed information.
-
-        """
-        uri = '/2012-09-25/presets/{0}'.format(id)
-        return self.make_request('DELETE', uri, expected_status=202)
-
-    def list_jobs_by_pipeline(self, pipeline_id=None, ascending=None,
-                              page_token=None):
-        """
-        The ListJobsByPipeline operation gets a list of the jobs
-        currently in a pipeline.
-
-        Elastic Transcoder returns all of the jobs currently in the
-        specified pipeline. The response body contains one element for
-        each job that satisfies the search criteria.
-
-        :type pipeline_id: string
-        :param pipeline_id: The ID of the pipeline for which you want to get
-            job information.
-
-        :type ascending: string
-        :param ascending: To list jobs in chronological order by the date and
-            time that they were submitted, enter `True`. To list jobs in
-            reverse chronological order, enter `False`.
-
-        :type page_token: string
-        :param page_token: When Elastic Transcoder returns more than one page
-            of results, use `pageToken` in subsequent `GET` requests to get
-            each successive page of results.
-
-        """
-        uri = '/2012-09-25/jobsByPipeline/{0}'.format(pipeline_id)
-        params = {}
-        if pipeline_id is not None:
-            params['PipelineId'] = pipeline_id
-        if ascending is not None:
-            params['Ascending'] = ascending
-        if page_token is not None:
-            params['PageToken'] = page_token
-        return self.make_request('GET', uri, expected_status=200,
-                                 params=params)
-
-    def list_jobs_by_status(self, status=None, ascending=None,
-                            page_token=None):
-        """
-        The ListJobsByStatus operation gets a list of jobs that have a
-        specified status. The response body contains one element for
-        each job that satisfies the search criteria.
-
-        :type status: string
-        :param status: To get information about all of the jobs associated with
-            the current AWS account that have a given status, specify the
-            following status: `Submitted`, `Progressing`, `Complete`,
-            `Canceled`, or `Error`.
-
-        :type ascending: string
-        :param ascending: To list jobs in chronological order by the date and
-            time that they were submitted, enter `True`. To list jobs in
-            reverse chronological order, enter `False`.
-
-        :type page_token: string
-        :param page_token: When Elastic Transcoder returns more than one page
-            of results, use `pageToken` in subsequent `GET` requests to get
-            each successive page of results.
-
-        """
-        uri = '/2012-09-25/jobsByStatus/{0}'.format(status)
-        params = {}
-        if status is not None:
-            params['Status'] = status
-        if ascending is not None:
-            params['Ascending'] = ascending
-        if page_token is not None:
-            params['PageToken'] = page_token
-        return self.make_request('GET', uri, expected_status=200,
-                                 params=params)
-
-    def list_pipelines(self, ascending=None, page_token=None):
-        """
-        The ListPipelines operation gets a list of the pipelines
-        associated with the current AWS account.
-
-        :type ascending: string
-        :param ascending: To list pipelines in chronological order by the date
-            and time that they were created, enter `True`. To list pipelines in
-            reverse chronological order, enter `False`.
-
-        :type page_token: string
-        :param page_token: When Elastic Transcoder returns more than one page
-            of results, use `pageToken` in subsequent `GET` requests to get
-            each successive page of results.
-
-        """
-        uri = '/2012-09-25/pipelines'.format()
-        params = {}
-        if ascending is not None:
-            params['Ascending'] = ascending
-        if page_token is not None:
-            params['PageToken'] = page_token
-        return self.make_request('GET', uri, expected_status=200,
-                                 params=params)
-
-    def list_presets(self, ascending=None, page_token=None):
-        """
-        The ListPresets operation gets a list of the default presets
-        included with Elastic Transcoder and the presets that you've
-        added in an AWS region.
-
-        :type ascending: string
-        :param ascending: To list presets in chronological order by the date
-            and time that they were created, enter `True`. To list presets in
-            reverse chronological order, enter `False`.
-
-        :type page_token: string
-        :param page_token: When Elastic Transcoder returns more than one page
-            of results, use `pageToken` in subsequent `GET` requests to get
-            each successive page of results.
-
-        """
-        uri = '/2012-09-25/presets'.format()
-        params = {}
-        if ascending is not None:
-            params['Ascending'] = ascending
-        if page_token is not None:
-            params['PageToken'] = page_token
-        return self.make_request('GET', uri, expected_status=200,
-                                 params=params)
-
-    def read_job(self, id=None):
-        """
-        The ReadJob operation returns detailed information about a
-        job.
-
-        :type id: string
-        :param id: The identifier of the job for which you want to get detailed
-            information.
-
-        """
-        uri = '/2012-09-25/jobs/{0}'.format(id)
-        return self.make_request('GET', uri, expected_status=200)
-
-    def read_pipeline(self, id=None):
-        """
-        The ReadPipeline operation gets detailed information about a
-        pipeline.
-
-        :type id: string
-        :param id: The identifier of the pipeline to read.
-
-        """
-        uri = '/2012-09-25/pipelines/{0}'.format(id)
-        return self.make_request('GET', uri, expected_status=200)
-
-    def read_preset(self, id=None):
-        """
-        The ReadPreset operation gets detailed information about a
-        preset.
-
-        :type id: string
-        :param id: The identifier of the preset for which you want to get
-            detailed information.
-
-        """
-        uri = '/2012-09-25/presets/{0}'.format(id)
-        return self.make_request('GET', uri, expected_status=200)
-
-    def test_role(self, role=None, input_bucket=None, output_bucket=None,
-                  topics=None):
-        """
-        The TestRole operation tests the IAM role used to create the
-        pipeline.
-
-        The `TestRole` action lets you determine whether the IAM role
-        you are using has sufficient permissions to let Elastic
-        Transcoder perform tasks associated with the transcoding
-        process. The action attempts to assume the specified IAM role,
-        checks read access to the input and output buckets, and tries
-        to send a test notification to Amazon SNS topics that you
-        specify.
-
-        :type role: string
-        :param role: The IAM Amazon Resource Name (ARN) for the role that you
-            want Elastic Transcoder to test.
-
-        :type input_bucket: string
-        :param input_bucket: The Amazon S3 bucket that contains media files to
-            be transcoded. The action attempts to read from this bucket.
-
-        :type output_bucket: string
-        :param output_bucket: The Amazon S3 bucket that Elastic Transcoder will
-            write transcoded media files to. The action attempts to read from
-            this bucket.
-
-        :type topics: list
-        :param topics: The ARNs of one or more Amazon Simple Notification
-            Service (Amazon SNS) topics that you want the action to send a test
-            notification to.
-
-        """
-        uri = '/2012-09-25/roleTests'
-        params = {}
-        if role is not None:
-            params['Role'] = role
-        if input_bucket is not None:
-            params['InputBucket'] = input_bucket
-        if output_bucket is not None:
-            params['OutputBucket'] = output_bucket
-        if topics is not None:
-            params['Topics'] = topics
-        return self.make_request('POST', uri, expected_status=200,
-                                 data=json.dumps(params))
-
-    def update_pipeline(self, id, name=None, input_bucket=None, role=None,
-                        notifications=None, content_config=None,
-                        thumbnail_config=None):
-        """
-        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.
-
-        :type id: string
-        :param id: The ID of the pipeline that you want to update.
-
-        :type name: string
-        :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
-
-        :type input_bucket: string
-        :param input_bucket: 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.
-
-        :type role: string
-        :param role: The IAM Amazon Resource Name (ARN) for the role that you
-            want Elastic Transcoder to use to transcode jobs for this pipeline.
-
-        :type notifications: dict
-        :param notifications:
-        The Amazon Simple Notification Service (Amazon SNS) topic or topics to
-            notify in order to report job status.
-        To receive notifications, you must also subscribe to the new topic in
-            the Amazon SNS console.
-
-        :type content_config: dict
-        :param content_config:
-        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.
-
-        :type thumbnail_config: dict
-        :param thumbnail_config:
-        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.
-
-        """
-        uri = '/2012-09-25/pipelines/{0}'.format(id)
-        params = {}
-        if name is not None:
-            params['Name'] = name
-        if input_bucket is not None:
-            params['InputBucket'] = input_bucket
-        if role is not None:
-            params['Role'] = role
-        if notifications is not None:
-            params['Notifications'] = notifications
-        if content_config is not None:
-            params['ContentConfig'] = content_config
-        if thumbnail_config is not None:
-            params['ThumbnailConfig'] = thumbnail_config
-        return self.make_request('PUT', uri, expected_status=200,
-                                 data=json.dumps(params))
-
-    def update_pipeline_notifications(self, id=None, notifications=None):
-        """
-        With the UpdatePipelineNotifications operation, you can update
-        Amazon Simple Notification Service (Amazon SNS) notifications
-        for a pipeline.
-
-        When you update notifications for a pipeline, Elastic
-        Transcoder returns the values that you specified in the
-        request.
-
-        :type id: string
-        :param id: The identifier of the pipeline for which you want to change
-            notification settings.
-
-        :type notifications: dict
-        :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.
-
-        + **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.
-        + **Completed**: 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.
-
-        """
-        uri = '/2012-09-25/pipelines/{0}/notifications'.format(id)
-        params = {}
-        if id is not None:
-            params['Id'] = id
-        if notifications is not None:
-            params['Notifications'] = notifications
-        return self.make_request('POST', uri, expected_status=200,
-                                 data=json.dumps(params))
-
-    def update_pipeline_status(self, id=None, status=None):
-        """
-        The UpdatePipelineStatus operation pauses or reactivates a
-        pipeline, so that the pipeline stops or restarts the
-        processing of jobs.
-
-        Changing the pipeline status is useful if you want to cancel
-        one or more jobs. You can't cancel jobs after Elastic
-        Transcoder has started processing them; if you pause the
-        pipeline to which you submitted the jobs, you have more time
-        to get the job IDs for the jobs that you want to cancel, and
-        to send a CancelJob request.
-
-        :type id: string
-        :param id: The identifier of the pipeline to update.
-
-        :type status: string
-        :param status:
-        The desired status of the pipeline:
-
-
-        + `Active`: The pipeline is processing jobs.
-        + `Paused`: The pipeline is not currently processing jobs.
-
-        """
-        uri = '/2012-09-25/pipelines/{0}/status'.format(id)
-        params = {}
-        if id is not None:
-            params['Id'] = id
-        if status is not None:
-            params['Status'] = status
-        return self.make_request('POST', uri, expected_status=200,
-                                 data=json.dumps(params))
-
-    def make_request(self, verb, resource, headers=None, data='',
-                     expected_status=None, params=None):
-        if headers is None:
-            headers = {}
-        response = super(ElasticTranscoderConnection, self).make_request(
-            verb, resource, headers=headers, data=data, params=params)
-        body = json.loads(response.read().decode('utf-8'))
-        if response.status == expected_status:
-            return body
-        else:
-            error_type = response.getheader('x-amzn-ErrorType').split(':')[0]
-            error_class = self._faults.get(error_type, self.ResponseError)
-            raise error_class(response.status, response.reason, body)