Skip to content

Commit

Permalink
Add support for Amazon Elastic Transcoder
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesls committed Jan 29, 2013
1 parent c68c2c8 commit 1fab6ee
Show file tree
Hide file tree
Showing 10 changed files with 811 additions and 1 deletion.
20 changes: 20 additions & 0 deletions boto/__init__.py
Expand Up @@ -635,6 +635,26 @@ def connect_beanstalk(aws_access_key_id=None,
return Layer1(aws_access_key_id, aws_secret_access_key, **kwargs)


def connect_elastictranscoder(aws_access_key_id=None,
aws_secret_access_key=None,
**kwargs):
"""
:type aws_access_key_id: string
:param aws_access_key_id: Your AWS Access Key ID
:type aws_secret_access_key: string
:param aws_secret_access_key: Your AWS Secret Access Key
:rtype: :class:`boto.ets.layer1.ElasticTranscoderConnection`
:return: A connection to Amazon's Elastic Transcoder service
"""
from boto.elastictranscoder.layer1 import ElasticTranscoderConnection
return ElasticTranscoderConnection(
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
**kwargs)


def storage_uri(uri_str, default_scheme='file', debug=0, validate=True,
bucket_storage_uri_class=BucketStorageUri,
suppress_consec_slashes=True):
Expand Down
62 changes: 62 additions & 0 deletions boto/elastictranscoder/__init__.py
@@ -0,0 +1,62 @@
# 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.regioninfo import RegionInfo


def regions():
"""
Get all available regions for the AWS Elastic Beanstalk service.
:rtype: list
:return: A list of :class:`boto.regioninfo.RegionInfo`
"""
from boto.elastictranscoder.layer1 import ElasticTranscoderConnection
cls = ElasticTranscoderConnection
return [
RegionInfo(name='us-east-1',
endpoint='elastictranscoder.us-east-1.amazonaws.com',
connection_cls=cls),
RegionInfo(name='us-west-1',
endpoint='elastictranscoder.us-west-1.amazonaws.com',
connection_cls=cls),
RegionInfo(name='us-west-2',
endpoint='elastictranscoder.us-west-2.amazonaws.com',
connection_cls=cls),
RegionInfo(name='ap-northeast-1',
endpoint='elastictranscoder.ap-northeast-1.amazonaws.com',
connection_cls=cls),
RegionInfo(name='ap-southeast-1',
endpoint='elastictranscoder.ap-southeast-1.amazonaws.com',
connection_cls=cls),
RegionInfo(name='eu-west-1',
endpoint='elastictranscoder.eu-west-1.amazonaws.com',
connection_cls=cls),
]


def connect_to_region(region_name, **kw_params):
for region in regions():
if region.name == region_name:
return region.connect(**kw_params)
return None

46 changes: 46 additions & 0 deletions boto/elastictranscoder/exceptions.py
@@ -0,0 +1,46 @@
# 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.exception import JSONResponseError


class LimitExceededException(JSONResponseError):
pass


class ResourceInUseException(JSONResponseError):
pass


class AccessDeniedException(JSONResponseError):
pass


class ResourceNotFoundException(JSONResponseError):
pass


class InternalServiceException(JSONResponseError):
pass


class ValidationException(JSONResponseError):
pass

0 comments on commit 1fab6ee

Please sign in to comment.