gcloud 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +4 -0
- data/Makefile +4 -0
- data/Manifest +760 -1
- data/bin/gcloud +7 -0
- data/bin/{gcutil → gcutil.symlink} +0 -0
- data/bin/gsutil-symlink +377 -0
- data/gcloud.gemspec +5 -5
- data/packages/gsutil/CHECKSUM +1 -0
- data/packages/gsutil/COPYING +202 -0
- data/packages/gsutil/LICENSE.third_party +295 -0
- data/packages/gsutil/MANIFEST.in +5 -0
- data/packages/gsutil/README +38 -0
- data/packages/gsutil/README.pkg +49 -0
- data/packages/gsutil/ReleaseNotes.txt +780 -0
- data/packages/gsutil/VERSION +1 -0
- data/packages/gsutil/boto/Changelog.rst +35 -0
- data/packages/gsutil/boto/LICENSE +18 -0
- data/packages/gsutil/boto/MANIFEST.in +12 -0
- data/packages/gsutil/boto/README.rst +163 -0
- data/packages/gsutil/boto/bin/asadmin +290 -0
- data/packages/gsutil/boto/bin/bundle_image +27 -0
- data/packages/gsutil/boto/bin/cfadmin +108 -0
- data/packages/gsutil/boto/bin/cq +89 -0
- data/packages/gsutil/boto/bin/cwutil +140 -0
- data/packages/gsutil/boto/bin/elbadmin +284 -0
- data/packages/gsutil/boto/bin/fetch_file +43 -0
- data/packages/gsutil/boto/bin/glacier +154 -0
- data/packages/gsutil/boto/bin/instance_events +145 -0
- data/packages/gsutil/boto/bin/kill_instance +35 -0
- data/packages/gsutil/boto/bin/launch_instance +252 -0
- data/packages/gsutil/boto/bin/list_instances +90 -0
- data/packages/gsutil/boto/bin/lss3 +77 -0
- data/packages/gsutil/boto/bin/mturk +465 -0
- data/packages/gsutil/boto/bin/pyami_sendmail +52 -0
- data/packages/gsutil/boto/bin/route53 +205 -0
- data/packages/gsutil/boto/bin/s3put +374 -0
- data/packages/gsutil/boto/bin/sdbadmin +194 -0
- data/packages/gsutil/boto/bin/taskadmin +116 -0
- data/packages/gsutil/boto/boto/__init__.py +793 -0
- data/packages/gsutil/boto/boto/__init__.pyc +0 -0
- data/packages/gsutil/boto/boto/auth.py +682 -0
- data/packages/gsutil/boto/boto/auth.pyc +0 -0
- data/packages/gsutil/boto/boto/auth_handler.py +58 -0
- data/packages/gsutil/boto/boto/auth_handler.pyc +0 -0
- data/packages/gsutil/boto/boto/beanstalk/__init__.py +65 -0
- data/packages/gsutil/boto/boto/beanstalk/exception.py +64 -0
- data/packages/gsutil/boto/boto/beanstalk/layer1.py +1153 -0
- data/packages/gsutil/boto/boto/beanstalk/response.py +703 -0
- data/packages/gsutil/boto/boto/beanstalk/wrapper.py +29 -0
- data/packages/gsutil/boto/boto/cacerts/__init__.py +22 -0
- data/packages/gsutil/boto/boto/cacerts/__init__.pyc +0 -0
- data/packages/gsutil/boto/boto/cacerts/cacerts.txt +633 -0
- data/packages/gsutil/boto/boto/cloudformation/__init__.py +68 -0
- data/packages/gsutil/boto/boto/cloudformation/connection.py +364 -0
- data/packages/gsutil/boto/boto/cloudformation/stack.py +360 -0
- data/packages/gsutil/boto/boto/cloudformation/template.py +43 -0
- data/packages/gsutil/boto/boto/cloudfront/__init__.py +324 -0
- data/packages/gsutil/boto/boto/cloudfront/distribution.py +745 -0
- data/packages/gsutil/boto/boto/cloudfront/exception.py +26 -0
- data/packages/gsutil/boto/boto/cloudfront/identity.py +122 -0
- data/packages/gsutil/boto/boto/cloudfront/invalidation.py +216 -0
- data/packages/gsutil/boto/boto/cloudfront/logging.py +38 -0
- data/packages/gsutil/boto/boto/cloudfront/object.py +48 -0
- data/packages/gsutil/boto/boto/cloudfront/origin.py +150 -0
- data/packages/gsutil/boto/boto/cloudfront/signers.py +60 -0
- data/packages/gsutil/boto/boto/cloudsearch/__init__.py +45 -0
- data/packages/gsutil/boto/boto/cloudsearch/document.py +265 -0
- data/packages/gsutil/boto/boto/cloudsearch/domain.py +394 -0
- data/packages/gsutil/boto/boto/cloudsearch/layer1.py +738 -0
- data/packages/gsutil/boto/boto/cloudsearch/layer2.py +67 -0
- data/packages/gsutil/boto/boto/cloudsearch/optionstatus.py +248 -0
- data/packages/gsutil/boto/boto/cloudsearch/search.py +365 -0
- data/packages/gsutil/boto/boto/cloudsearch/sourceattribute.py +75 -0
- data/packages/gsutil/boto/boto/compat.py +28 -0
- data/packages/gsutil/boto/boto/compat.pyc +0 -0
- data/packages/gsutil/boto/boto/connection.py +1081 -0
- data/packages/gsutil/boto/boto/connection.pyc +0 -0
- data/packages/gsutil/boto/boto/contrib/__init__.py +22 -0
- data/packages/gsutil/boto/boto/contrib/ymlmessage.py +52 -0
- data/packages/gsutil/boto/boto/core/README +58 -0
- data/packages/gsutil/boto/boto/core/__init__.py +23 -0
- data/packages/gsutil/boto/boto/core/auth.py +78 -0
- data/packages/gsutil/boto/boto/core/credentials.py +154 -0
- data/packages/gsutil/boto/boto/core/dictresponse.py +178 -0
- data/packages/gsutil/boto/boto/core/service.py +67 -0
- data/packages/gsutil/boto/boto/datapipeline/__init__.py +0 -0
- data/packages/gsutil/boto/boto/datapipeline/exceptions.py +42 -0
- data/packages/gsutil/boto/boto/datapipeline/layer1.py +546 -0
- data/packages/gsutil/boto/boto/dynamodb/__init__.py +66 -0
- data/packages/gsutil/boto/boto/dynamodb/batch.py +262 -0
- data/packages/gsutil/boto/boto/dynamodb/condition.py +170 -0
- data/packages/gsutil/boto/boto/dynamodb/exceptions.py +64 -0
- data/packages/gsutil/boto/boto/dynamodb/item.py +196 -0
- data/packages/gsutil/boto/boto/dynamodb/layer1.py +575 -0
- data/packages/gsutil/boto/boto/dynamodb/layer2.py +798 -0
- data/packages/gsutil/boto/boto/dynamodb/schema.py +112 -0
- data/packages/gsutil/boto/boto/dynamodb/table.py +540 -0
- data/packages/gsutil/boto/boto/dynamodb/types.py +326 -0
- data/packages/gsutil/boto/boto/ec2/__init__.py +96 -0
- data/packages/gsutil/boto/boto/ec2/address.py +103 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/__init__.py +781 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/activity.py +74 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/group.py +337 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/instance.py +60 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/launchconfig.py +209 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/policy.py +166 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/request.py +38 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/scheduled.py +60 -0
- data/packages/gsutil/boto/boto/ec2/autoscale/tag.py +84 -0
- data/packages/gsutil/boto/boto/ec2/blockdevicemapping.py +141 -0
- data/packages/gsutil/boto/boto/ec2/bundleinstance.py +78 -0
- data/packages/gsutil/boto/boto/ec2/buyreservation.py +84 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/__init__.py +603 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/alarm.py +316 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/datapoint.py +40 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/dimension.py +38 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/listelement.py +31 -0
- data/packages/gsutil/boto/boto/ec2/cloudwatch/metric.py +175 -0
- data/packages/gsutil/boto/boto/ec2/connection.py +3409 -0
- data/packages/gsutil/boto/boto/ec2/ec2object.py +107 -0
- data/packages/gsutil/boto/boto/ec2/elb/__init__.py +553 -0
- data/packages/gsutil/boto/boto/ec2/elb/healthcheck.py +89 -0
- data/packages/gsutil/boto/boto/ec2/elb/instancestate.py +62 -0
- data/packages/gsutil/boto/boto/ec2/elb/listelement.py +36 -0
- data/packages/gsutil/boto/boto/ec2/elb/listener.py +75 -0
- data/packages/gsutil/boto/boto/ec2/elb/loadbalancer.py +324 -0
- data/packages/gsutil/boto/boto/ec2/elb/policies.py +89 -0
- data/packages/gsutil/boto/boto/ec2/elb/securitygroup.py +38 -0
- data/packages/gsutil/boto/boto/ec2/group.py +39 -0
- data/packages/gsutil/boto/boto/ec2/image.py +350 -0
- data/packages/gsutil/boto/boto/ec2/instance.py +661 -0
- data/packages/gsutil/boto/boto/ec2/instanceinfo.py +51 -0
- data/packages/gsutil/boto/boto/ec2/instancestatus.py +207 -0
- data/packages/gsutil/boto/boto/ec2/keypair.py +113 -0
- data/packages/gsutil/boto/boto/ec2/launchspecification.py +105 -0
- data/packages/gsutil/boto/boto/ec2/networkinterface.py +247 -0
- data/packages/gsutil/boto/boto/ec2/placementgroup.py +51 -0
- data/packages/gsutil/boto/boto/ec2/regioninfo.py +34 -0
- data/packages/gsutil/boto/boto/ec2/reservedinstance.py +227 -0
- data/packages/gsutil/boto/boto/ec2/securitygroup.py +357 -0
- data/packages/gsutil/boto/boto/ec2/snapshot.py +170 -0
- data/packages/gsutil/boto/boto/ec2/spotdatafeedsubscription.py +63 -0
- data/packages/gsutil/boto/boto/ec2/spotinstancerequest.py +188 -0
- data/packages/gsutil/boto/boto/ec2/spotpricehistory.py +55 -0
- data/packages/gsutil/boto/boto/ec2/tag.py +87 -0
- data/packages/gsutil/boto/boto/ec2/vmtype.py +58 -0
- data/packages/gsutil/boto/boto/ec2/volume.py +293 -0
- data/packages/gsutil/boto/boto/ec2/volumestatus.py +200 -0
- data/packages/gsutil/boto/boto/ec2/zone.py +80 -0
- data/packages/gsutil/boto/boto/ecs/__init__.py +90 -0
- data/packages/gsutil/boto/boto/ecs/item.py +153 -0
- data/packages/gsutil/boto/boto/elasticache/__init__.py +62 -0
- data/packages/gsutil/boto/boto/elasticache/layer1.py +1252 -0
- data/packages/gsutil/boto/boto/elastictranscoder/__init__.py +62 -0
- data/packages/gsutil/boto/boto/elastictranscoder/exceptions.py +46 -0
- data/packages/gsutil/boto/boto/elastictranscoder/layer1.py +509 -0
- data/packages/gsutil/boto/boto/emr/__init__.py +73 -0
- data/packages/gsutil/boto/boto/emr/bootstrap_action.py +44 -0
- data/packages/gsutil/boto/boto/emr/connection.py +531 -0
- data/packages/gsutil/boto/boto/emr/emrobject.py +176 -0
- data/packages/gsutil/boto/boto/emr/instance_group.py +43 -0
- data/packages/gsutil/boto/boto/emr/step.py +281 -0
- data/packages/gsutil/boto/boto/exception.py +476 -0
- data/packages/gsutil/boto/boto/exception.pyc +0 -0
- data/packages/gsutil/boto/boto/file/README +49 -0
- data/packages/gsutil/boto/boto/file/__init__.py +28 -0
- data/packages/gsutil/boto/boto/file/bucket.py +112 -0
- data/packages/gsutil/boto/boto/file/connection.py +33 -0
- data/packages/gsutil/boto/boto/file/key.py +199 -0
- data/packages/gsutil/boto/boto/file/simpleresultset.py +30 -0
- data/packages/gsutil/boto/boto/fps/__init__.py +21 -0
- data/packages/gsutil/boto/boto/fps/connection.py +369 -0
- data/packages/gsutil/boto/boto/fps/exception.py +344 -0
- data/packages/gsutil/boto/boto/fps/response.py +175 -0
- data/packages/gsutil/boto/boto/glacier/__init__.py +57 -0
- data/packages/gsutil/boto/boto/glacier/concurrent.py +409 -0
- data/packages/gsutil/boto/boto/glacier/exceptions.py +58 -0
- data/packages/gsutil/boto/boto/glacier/job.py +152 -0
- data/packages/gsutil/boto/boto/glacier/layer1.py +637 -0
- data/packages/gsutil/boto/boto/glacier/layer2.py +93 -0
- data/packages/gsutil/boto/boto/glacier/response.py +48 -0
- data/packages/gsutil/boto/boto/glacier/utils.py +163 -0
- data/packages/gsutil/boto/boto/glacier/vault.py +387 -0
- data/packages/gsutil/boto/boto/glacier/writer.py +242 -0
- data/packages/gsutil/boto/boto/gs/__init__.py +22 -0
- data/packages/gsutil/boto/boto/gs/__init__.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/acl.py +304 -0
- data/packages/gsutil/boto/boto/gs/acl.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/bucket.py +870 -0
- data/packages/gsutil/boto/boto/gs/bucket.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/bucketlistresultset.py +64 -0
- data/packages/gsutil/boto/boto/gs/bucketlistresultset.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/connection.py +103 -0
- data/packages/gsutil/boto/boto/gs/connection.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/cors.py +169 -0
- data/packages/gsutil/boto/boto/gs/cors.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/key.py +704 -0
- data/packages/gsutil/boto/boto/gs/key.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/resumable_upload_handler.py +659 -0
- data/packages/gsutil/boto/boto/gs/resumable_upload_handler.pyc +0 -0
- data/packages/gsutil/boto/boto/gs/user.py +54 -0
- data/packages/gsutil/boto/boto/gs/user.pyc +0 -0
- data/packages/gsutil/boto/boto/handler.py +44 -0
- data/packages/gsutil/boto/boto/handler.pyc +0 -0
- data/packages/gsutil/boto/boto/https_connection.py +124 -0
- data/packages/gsutil/boto/boto/https_connection.pyc +0 -0
- data/packages/gsutil/boto/boto/iam/__init__.py +74 -0
- data/packages/gsutil/boto/boto/iam/connection.py +1317 -0
- data/packages/gsutil/boto/boto/iam/summarymap.py +42 -0
- data/packages/gsutil/boto/boto/jsonresponse.py +163 -0
- data/packages/gsutil/boto/boto/jsonresponse.pyc +0 -0
- data/packages/gsutil/boto/boto/manage/__init__.py +23 -0
- data/packages/gsutil/boto/boto/manage/cmdshell.py +241 -0
- data/packages/gsutil/boto/boto/manage/propget.py +64 -0
- data/packages/gsutil/boto/boto/manage/server.py +556 -0
- data/packages/gsutil/boto/boto/manage/task.py +175 -0
- data/packages/gsutil/boto/boto/manage/test_manage.py +34 -0
- data/packages/gsutil/boto/boto/manage/volume.py +420 -0
- data/packages/gsutil/boto/boto/mashups/__init__.py +23 -0
- data/packages/gsutil/boto/boto/mashups/interactive.py +97 -0
- data/packages/gsutil/boto/boto/mashups/iobject.py +115 -0
- data/packages/gsutil/boto/boto/mashups/order.py +211 -0
- data/packages/gsutil/boto/boto/mashups/server.py +395 -0
- data/packages/gsutil/boto/boto/mturk/__init__.py +23 -0
- data/packages/gsutil/boto/boto/mturk/connection.py +1027 -0
- data/packages/gsutil/boto/boto/mturk/layoutparam.py +55 -0
- data/packages/gsutil/boto/boto/mturk/notification.py +103 -0
- data/packages/gsutil/boto/boto/mturk/price.py +48 -0
- data/packages/gsutil/boto/boto/mturk/qualification.py +137 -0
- data/packages/gsutil/boto/boto/mturk/question.py +455 -0
- data/packages/gsutil/boto/boto/mws/__init__.py +21 -0
- data/packages/gsutil/boto/boto/mws/connection.py +813 -0
- data/packages/gsutil/boto/boto/mws/exception.py +75 -0
- data/packages/gsutil/boto/boto/mws/response.py +655 -0
- data/packages/gsutil/boto/boto/plugin.py +90 -0
- data/packages/gsutil/boto/boto/plugin.pyc +0 -0
- data/packages/gsutil/boto/boto/provider.py +337 -0
- data/packages/gsutil/boto/boto/provider.pyc +0 -0
- data/packages/gsutil/boto/boto/pyami/__init__.py +22 -0
- data/packages/gsutil/boto/boto/pyami/__init__.pyc +0 -0
- data/packages/gsutil/boto/boto/pyami/bootstrap.py +134 -0
- data/packages/gsutil/boto/boto/pyami/config.py +229 -0
- data/packages/gsutil/boto/boto/pyami/config.pyc +0 -0
- data/packages/gsutil/boto/boto/pyami/copybot.cfg +60 -0
- data/packages/gsutil/boto/boto/pyami/copybot.py +97 -0
- data/packages/gsutil/boto/boto/pyami/helloworld.py +28 -0
- data/packages/gsutil/boto/boto/pyami/installers/__init__.py +64 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/__init__.py +22 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/apache.py +43 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/ebs.py +238 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/installer.py +96 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/mysql.py +109 -0
- data/packages/gsutil/boto/boto/pyami/installers/ubuntu/trac.py +139 -0
- data/packages/gsutil/boto/boto/pyami/launch_ami.py +178 -0
- data/packages/gsutil/boto/boto/pyami/scriptbase.py +44 -0
- data/packages/gsutil/boto/boto/pyami/startup.py +60 -0
- data/packages/gsutil/boto/boto/rds/__init__.py +1194 -0
- data/packages/gsutil/boto/boto/rds/dbinstance.py +357 -0
- data/packages/gsutil/boto/boto/rds/dbsecuritygroup.py +177 -0
- data/packages/gsutil/boto/boto/rds/dbsnapshot.py +108 -0
- data/packages/gsutil/boto/boto/rds/event.py +49 -0
- data/packages/gsutil/boto/boto/rds/parametergroup.py +201 -0
- data/packages/gsutil/boto/boto/rds/regioninfo.py +32 -0
- data/packages/gsutil/boto/boto/regioninfo.py +63 -0
- data/packages/gsutil/boto/boto/regioninfo.pyc +0 -0
- data/packages/gsutil/boto/boto/resultset.py +169 -0
- data/packages/gsutil/boto/boto/resultset.pyc +0 -0
- data/packages/gsutil/boto/boto/roboto/__init__.py +1 -0
- data/packages/gsutil/boto/boto/roboto/awsqueryrequest.py +504 -0
- data/packages/gsutil/boto/boto/roboto/awsqueryservice.py +121 -0
- data/packages/gsutil/boto/boto/roboto/param.py +147 -0
- data/packages/gsutil/boto/boto/route53/__init__.py +75 -0
- data/packages/gsutil/boto/boto/route53/connection.py +403 -0
- data/packages/gsutil/boto/boto/route53/exception.py +27 -0
- data/packages/gsutil/boto/boto/route53/hostedzone.py +56 -0
- data/packages/gsutil/boto/boto/route53/record.py +306 -0
- data/packages/gsutil/boto/boto/route53/status.py +42 -0
- data/packages/gsutil/boto/boto/route53/zone.py +412 -0
- data/packages/gsutil/boto/boto/s3/__init__.py +84 -0
- data/packages/gsutil/boto/boto/s3/__init__.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/acl.py +164 -0
- data/packages/gsutil/boto/boto/s3/acl.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/bucket.py +1634 -0
- data/packages/gsutil/boto/boto/s3/bucket.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/bucketlistresultset.py +139 -0
- data/packages/gsutil/boto/boto/s3/bucketlistresultset.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/bucketlogging.py +83 -0
- data/packages/gsutil/boto/boto/s3/bucketlogging.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/connection.py +540 -0
- data/packages/gsutil/boto/boto/s3/connection.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/cors.py +210 -0
- data/packages/gsutil/boto/boto/s3/cors.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/deletemarker.py +55 -0
- data/packages/gsutil/boto/boto/s3/deletemarker.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/key.py +1712 -0
- data/packages/gsutil/boto/boto/s3/key.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/keyfile.py +134 -0
- data/packages/gsutil/boto/boto/s3/keyfile.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/lifecycle.py +231 -0
- data/packages/gsutil/boto/boto/s3/lifecycle.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/multidelete.py +138 -0
- data/packages/gsutil/boto/boto/s3/multidelete.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/multipart.py +315 -0
- data/packages/gsutil/boto/boto/s3/multipart.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/prefix.py +42 -0
- data/packages/gsutil/boto/boto/s3/prefix.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/resumable_download_handler.py +339 -0
- data/packages/gsutil/boto/boto/s3/resumable_download_handler.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/tagging.py +71 -0
- data/packages/gsutil/boto/boto/s3/tagging.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/user.py +49 -0
- data/packages/gsutil/boto/boto/s3/user.pyc +0 -0
- data/packages/gsutil/boto/boto/s3/website.py +237 -0
- data/packages/gsutil/boto/boto/s3/website.pyc +0 -0
- data/packages/gsutil/boto/boto/sdb/__init__.py +67 -0
- data/packages/gsutil/boto/boto/sdb/connection.py +617 -0
- data/packages/gsutil/boto/boto/sdb/db/__init__.py +20 -0
- data/packages/gsutil/boto/boto/sdb/db/blob.py +75 -0
- data/packages/gsutil/boto/boto/sdb/db/key.py +59 -0
- data/packages/gsutil/boto/boto/sdb/db/manager/__init__.py +85 -0
- data/packages/gsutil/boto/boto/sdb/db/manager/sdbmanager.py +732 -0
- data/packages/gsutil/boto/boto/sdb/db/manager/xmlmanager.py +517 -0
- data/packages/gsutil/boto/boto/sdb/db/model.py +294 -0
- data/packages/gsutil/boto/boto/sdb/db/property.py +703 -0
- data/packages/gsutil/boto/boto/sdb/db/query.py +85 -0
- data/packages/gsutil/boto/boto/sdb/db/sequence.py +226 -0
- data/packages/gsutil/boto/boto/sdb/db/test_db.py +231 -0
- data/packages/gsutil/boto/boto/sdb/domain.py +377 -0
- data/packages/gsutil/boto/boto/sdb/item.py +181 -0
- data/packages/gsutil/boto/boto/sdb/queryresultset.py +92 -0
- data/packages/gsutil/boto/boto/sdb/regioninfo.py +32 -0
- data/packages/gsutil/boto/boto/services/__init__.py +23 -0
- data/packages/gsutil/boto/boto/services/bs.py +179 -0
- data/packages/gsutil/boto/boto/services/message.py +58 -0
- data/packages/gsutil/boto/boto/services/result.py +136 -0
- data/packages/gsutil/boto/boto/services/service.py +161 -0
- data/packages/gsutil/boto/boto/services/servicedef.py +91 -0
- data/packages/gsutil/boto/boto/services/sonofmmm.cfg +43 -0
- data/packages/gsutil/boto/boto/services/sonofmmm.py +81 -0
- data/packages/gsutil/boto/boto/services/submit.py +88 -0
- data/packages/gsutil/boto/boto/ses/__init__.py +54 -0
- data/packages/gsutil/boto/boto/ses/connection.py +521 -0
- data/packages/gsutil/boto/boto/ses/exceptions.py +77 -0
- data/packages/gsutil/boto/boto/sns/__init__.py +78 -0
- data/packages/gsutil/boto/boto/sns/connection.py +431 -0
- data/packages/gsutil/boto/boto/sqs/__init__.py +56 -0
- data/packages/gsutil/boto/boto/sqs/attributes.py +46 -0
- data/packages/gsutil/boto/boto/sqs/batchresults.py +95 -0
- data/packages/gsutil/boto/boto/sqs/connection.py +417 -0
- data/packages/gsutil/boto/boto/sqs/jsonmessage.py +43 -0
- data/packages/gsutil/boto/boto/sqs/message.py +253 -0
- data/packages/gsutil/boto/boto/sqs/queue.py +478 -0
- data/packages/gsutil/boto/boto/sqs/regioninfo.py +32 -0
- data/packages/gsutil/boto/boto/storage_uri.py +835 -0
- data/packages/gsutil/boto/boto/storage_uri.pyc +0 -0
- data/packages/gsutil/boto/boto/sts/__init__.py +55 -0
- data/packages/gsutil/boto/boto/sts/connection.py +207 -0
- data/packages/gsutil/boto/boto/sts/credentials.py +215 -0
- data/packages/gsutil/boto/boto/swf/__init__.py +60 -0
- data/packages/gsutil/boto/boto/swf/exceptions.py +44 -0
- data/packages/gsutil/boto/boto/swf/layer1.py +1512 -0
- data/packages/gsutil/boto/boto/swf/layer1_decisions.py +287 -0
- data/packages/gsutil/boto/boto/swf/layer2.py +342 -0
- data/packages/gsutil/boto/boto/utils.py +927 -0
- data/packages/gsutil/boto/boto/utils.pyc +0 -0
- data/packages/gsutil/boto/boto/vpc/__init__.py +910 -0
- data/packages/gsutil/boto/boto/vpc/customergateway.py +54 -0
- data/packages/gsutil/boto/boto/vpc/dhcpoptions.py +72 -0
- data/packages/gsutil/boto/boto/vpc/internetgateway.py +72 -0
- data/packages/gsutil/boto/boto/vpc/routetable.py +109 -0
- data/packages/gsutil/boto/boto/vpc/subnet.py +57 -0
- data/packages/gsutil/boto/boto/vpc/vpc.py +54 -0
- data/packages/gsutil/boto/boto/vpc/vpnconnection.py +60 -0
- data/packages/gsutil/boto/boto/vpc/vpngateway.py +83 -0
- data/packages/gsutil/boto/docs/BotoCheatSheet.pdf +0 -0
- data/packages/gsutil/boto/docs/Makefile +89 -0
- data/packages/gsutil/boto/docs/make.bat +113 -0
- data/packages/gsutil/boto/docs/source/_templates/layout.html +3 -0
- data/packages/gsutil/boto/docs/source/autoscale_tut.rst +220 -0
- data/packages/gsutil/boto/docs/source/boto_config_tut.rst +125 -0
- data/packages/gsutil/boto/docs/source/boto_theme/static/boto.css_t +239 -0
- data/packages/gsutil/boto/docs/source/boto_theme/static/pygments.css +61 -0
- data/packages/gsutil/boto/docs/source/boto_theme/theme.conf +3 -0
- data/packages/gsutil/boto/docs/source/cloudfront_tut.rst +196 -0
- data/packages/gsutil/boto/docs/source/cloudsearch_tut.rst +411 -0
- data/packages/gsutil/boto/docs/source/cloudwatch_tut.rst +116 -0
- data/packages/gsutil/boto/docs/source/conf.py +32 -0
- data/packages/gsutil/boto/docs/source/contributing.rst +204 -0
- data/packages/gsutil/boto/docs/source/documentation.rst +59 -0
- data/packages/gsutil/boto/docs/source/dynamodb_tut.rst +339 -0
- data/packages/gsutil/boto/docs/source/ec2_tut.rst +86 -0
- data/packages/gsutil/boto/docs/source/elb_tut.rst +257 -0
- data/packages/gsutil/boto/docs/source/emr_tut.rst +108 -0
- data/packages/gsutil/boto/docs/source/index.rst +146 -0
- data/packages/gsutil/boto/docs/source/rds_tut.rst +108 -0
- data/packages/gsutil/boto/docs/source/ref/autoscale.rst +62 -0
- data/packages/gsutil/boto/docs/source/ref/beanstalk.rst +26 -0
- data/packages/gsutil/boto/docs/source/ref/boto.rst +47 -0
- data/packages/gsutil/boto/docs/source/ref/cloudformation.rst +34 -0
- data/packages/gsutil/boto/docs/source/ref/cloudfront.rst +68 -0
- data/packages/gsutil/boto/docs/source/ref/cloudsearch.rst +59 -0
- data/packages/gsutil/boto/docs/source/ref/cloudwatch.rst +27 -0
- data/packages/gsutil/boto/docs/source/ref/contrib.rst +32 -0
- data/packages/gsutil/boto/docs/source/ref/datapipeline.rst +26 -0
- data/packages/gsutil/boto/docs/source/ref/dynamodb.rst +61 -0
- data/packages/gsutil/boto/docs/source/ref/ec2.rst +140 -0
- data/packages/gsutil/boto/docs/source/ref/ecs.rst +19 -0
- data/packages/gsutil/boto/docs/source/ref/elasticache.rst +19 -0
- data/packages/gsutil/boto/docs/source/ref/elastictranscoder.rst +26 -0
- data/packages/gsutil/boto/docs/source/ref/elb.rst +47 -0
- data/packages/gsutil/boto/docs/source/ref/emr.rst +34 -0
- data/packages/gsutil/boto/docs/source/ref/file.rst +34 -0
- data/packages/gsutil/boto/docs/source/ref/fps.rst +19 -0
- data/packages/gsutil/boto/docs/source/ref/glacier.rst +63 -0
- data/packages/gsutil/boto/docs/source/ref/gs.rst +72 -0
- data/packages/gsutil/boto/docs/source/ref/iam.rst +27 -0
- data/packages/gsutil/boto/docs/source/ref/index.rst +40 -0
- data/packages/gsutil/boto/docs/source/ref/manage.rst +47 -0
- data/packages/gsutil/boto/docs/source/ref/mturk.rst +54 -0
- data/packages/gsutil/boto/docs/source/ref/mws.rst +33 -0
- data/packages/gsutil/boto/docs/source/ref/pyami.rst +103 -0
- data/packages/gsutil/boto/docs/source/ref/rds.rst +47 -0
- data/packages/gsutil/boto/docs/source/ref/route53.rst +34 -0
- data/packages/gsutil/boto/docs/source/ref/s3.rst +111 -0
- data/packages/gsutil/boto/docs/source/ref/sdb.rst +45 -0
- data/packages/gsutil/boto/docs/source/ref/sdb_db.rst +83 -0
- data/packages/gsutil/boto/docs/source/ref/services.rst +61 -0
- data/packages/gsutil/boto/docs/source/ref/ses.rst +21 -0
- data/packages/gsutil/boto/docs/source/ref/sns.rst +17 -0
- data/packages/gsutil/boto/docs/source/ref/sqs.rst +61 -0
- data/packages/gsutil/boto/docs/source/ref/sts.rst +25 -0
- data/packages/gsutil/boto/docs/source/ref/swf.rst +22 -0
- data/packages/gsutil/boto/docs/source/ref/vpc.rst +54 -0
- data/packages/gsutil/boto/docs/source/s3_tut.rst +450 -0
- data/packages/gsutil/boto/docs/source/security_groups.rst +82 -0
- data/packages/gsutil/boto/docs/source/ses_tut.rst +171 -0
- data/packages/gsutil/boto/docs/source/simpledb_tut.rst +188 -0
- data/packages/gsutil/boto/docs/source/sqs_tut.rst +246 -0
- data/packages/gsutil/boto/docs/source/vpc_tut.rst +100 -0
- data/packages/gsutil/boto/pylintrc +305 -0
- data/packages/gsutil/boto/requirements.txt +10 -0
- data/packages/gsutil/boto/setup.py +89 -0
- data/packages/gsutil/boto/tests/__init__.py +20 -0
- data/packages/gsutil/boto/tests/db/test_lists.py +96 -0
- data/packages/gsutil/boto/tests/db/test_password.py +128 -0
- data/packages/gsutil/boto/tests/db/test_query.py +152 -0
- data/packages/gsutil/boto/tests/db/test_sequence.py +109 -0
- data/packages/gsutil/boto/tests/devpay/__init__.py +0 -0
- data/packages/gsutil/boto/tests/devpay/test_s3.py +181 -0
- data/packages/gsutil/boto/tests/fps/__init__.py +0 -0
- data/packages/gsutil/boto/tests/fps/test.py +100 -0
- data/packages/gsutil/boto/tests/fps/test_verify_signature.py +12 -0
- data/packages/gsutil/boto/tests/integration/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/beanstalk/test_wrapper.py +209 -0
- data/packages/gsutil/boto/tests/integration/cloudformation/__init__.py +21 -0
- data/packages/gsutil/boto/tests/integration/cloudformation/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/cloudformation/test_connection.py +110 -0
- data/packages/gsutil/boto/tests/integration/cloudsearch/__init__.py +21 -0
- data/packages/gsutil/boto/tests/integration/cloudsearch/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/datapipeline/test_layer1.py +122 -0
- data/packages/gsutil/boto/tests/integration/dynamodb/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/dynamodb/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/dynamodb/test_layer1.py +266 -0
- data/packages/gsutil/boto/tests/integration/dynamodb/test_layer2.py +484 -0
- data/packages/gsutil/boto/tests/integration/dynamodb/test_table.py +84 -0
- data/packages/gsutil/boto/tests/integration/ec2/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/ec2/autoscale/__init__.py +21 -0
- data/packages/gsutil/boto/tests/integration/ec2/autoscale/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/ec2/autoscale/test_connection.py +167 -0
- data/packages/gsutil/boto/tests/integration/ec2/cloudwatch/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/ec2/cloudwatch/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/ec2/cloudwatch/test_connection.py +277 -0
- data/packages/gsutil/boto/tests/integration/ec2/elb/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/ec2/elb/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/ec2/elb/test_connection.py +130 -0
- data/packages/gsutil/boto/tests/integration/ec2/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/ec2/test_connection.py +192 -0
- data/packages/gsutil/boto/tests/integration/ec2/vpc/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/ec2/vpc/test_connection.py +95 -0
- data/packages/gsutil/boto/tests/integration/elasticache/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/elasticache/test_layer1.py +67 -0
- data/packages/gsutil/boto/tests/integration/elastictranscoder/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/elastictranscoder/test_cert_verification.py +35 -0
- data/packages/gsutil/boto/tests/integration/elastictranscoder/test_layer1.py +115 -0
- data/packages/gsutil/boto/tests/integration/emr/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/emr/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/glacier/__init__.py +22 -0
- data/packages/gsutil/boto/tests/integration/glacier/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/glacier/test_layer1.py +44 -0
- data/packages/gsutil/boto/tests/integration/glacier/test_layer2.py +45 -0
- data/packages/gsutil/boto/tests/integration/gs/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/gs/cb_test_harness.py +71 -0
- data/packages/gsutil/boto/tests/integration/gs/test_basic.py +379 -0
- data/packages/gsutil/boto/tests/integration/gs/test_generation_conditionals.py +399 -0
- data/packages/gsutil/boto/tests/integration/gs/test_resumable_downloads.py +358 -0
- data/packages/gsutil/boto/tests/integration/gs/test_resumable_uploads.py +525 -0
- data/packages/gsutil/boto/tests/integration/gs/test_storage_uri.py +125 -0
- data/packages/gsutil/boto/tests/integration/gs/test_versioning.py +268 -0
- data/packages/gsutil/boto/tests/integration/gs/testcase.py +116 -0
- data/packages/gsutil/boto/tests/integration/gs/util.py +63 -0
- data/packages/gsutil/boto/tests/integration/iam/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/iam/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/mws/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/mws/test.py +100 -0
- data/packages/gsutil/boto/tests/integration/rds/__init__.py +21 -0
- data/packages/gsutil/boto/tests/integration/rds/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/route53/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/route53/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/route53/test_zone.py +132 -0
- data/packages/gsutil/boto/tests/integration/s3/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/s3/mock_storage_service.py +589 -0
- data/packages/gsutil/boto/tests/integration/s3/other_cacerts.txt +70 -0
- data/packages/gsutil/boto/tests/integration/s3/test_bucket.py +263 -0
- data/packages/gsutil/boto/tests/integration/s3/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/s3/test_connection.py +245 -0
- data/packages/gsutil/boto/tests/integration/s3/test_cors.py +78 -0
- data/packages/gsutil/boto/tests/integration/s3/test_encryption.py +115 -0
- data/packages/gsutil/boto/tests/integration/s3/test_https_cert_validation.py +141 -0
- data/packages/gsutil/boto/tests/integration/s3/test_key.py +375 -0
- data/packages/gsutil/boto/tests/integration/s3/test_mfa.py +95 -0
- data/packages/gsutil/boto/tests/integration/s3/test_multidelete.py +181 -0
- data/packages/gsutil/boto/tests/integration/s3/test_multipart.py +139 -0
- data/packages/gsutil/boto/tests/integration/s3/test_pool.py +246 -0
- data/packages/gsutil/boto/tests/integration/s3/test_versioning.py +158 -0
- data/packages/gsutil/boto/tests/integration/sdb/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/sdb/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/sdb/test_connection.py +119 -0
- data/packages/gsutil/boto/tests/integration/ses/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/ses/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/ses/test_connection.py +38 -0
- data/packages/gsutil/boto/tests/integration/sns/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/sns/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/sqs/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/sqs/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/sqs/test_connection.py +217 -0
- data/packages/gsutil/boto/tests/integration/sts/__init__.py +20 -0
- data/packages/gsutil/boto/tests/integration/sts/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/sts/test_session_token.py +65 -0
- data/packages/gsutil/boto/tests/integration/swf/__init__.py +0 -0
- data/packages/gsutil/boto/tests/integration/swf/test_cert_verification.py +40 -0
- data/packages/gsutil/boto/tests/integration/swf/test_layer1.py +246 -0
- data/packages/gsutil/boto/tests/integration/swf/test_layer1_workflow_execution.py +173 -0
- data/packages/gsutil/boto/tests/mturk/__init__.py +0 -0
- data/packages/gsutil/boto/tests/mturk/_init_environment.py +28 -0
- data/packages/gsutil/boto/tests/mturk/all_tests.py +24 -0
- data/packages/gsutil/boto/tests/mturk/cleanup_tests.py +47 -0
- data/packages/gsutil/boto/tests/mturk/common.py +45 -0
- data/packages/gsutil/boto/tests/mturk/create_free_text_question_regex.doctest +100 -0
- data/packages/gsutil/boto/tests/mturk/create_hit.doctest +92 -0
- data/packages/gsutil/boto/tests/mturk/create_hit_binary.doctest +94 -0
- data/packages/gsutil/boto/tests/mturk/create_hit_external.py +21 -0
- data/packages/gsutil/boto/tests/mturk/create_hit_from_hit_type.doctest +103 -0
- data/packages/gsutil/boto/tests/mturk/create_hit_test.py +21 -0
- data/packages/gsutil/boto/tests/mturk/create_hit_with_qualifications.py +16 -0
- data/packages/gsutil/boto/tests/mturk/hit_persistence.py +27 -0
- data/packages/gsutil/boto/tests/mturk/mocks.py +11 -0
- data/packages/gsutil/boto/tests/mturk/reviewable_hits.doctest +129 -0
- data/packages/gsutil/boto/tests/mturk/run-doctest.py +13 -0
- data/packages/gsutil/boto/tests/mturk/search_hits.doctest +16 -0
- data/packages/gsutil/boto/tests/mturk/selenium_support.py +61 -0
- data/packages/gsutil/boto/tests/mturk/support.py +7 -0
- data/packages/gsutil/boto/tests/mturk/test_disable_hit.py +11 -0
- data/packages/gsutil/boto/tests/test.py +59 -0
- data/packages/gsutil/boto/tests/unit/__init__.py +79 -0
- data/packages/gsutil/boto/tests/unit/auth/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/auth/test_sigv4.py +73 -0
- data/packages/gsutil/boto/tests/unit/beanstalk/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/beanstalk/test_layer1.py +128 -0
- data/packages/gsutil/boto/tests/unit/cloudformation/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/cloudformation/test_connection.py +605 -0
- data/packages/gsutil/boto/tests/unit/cloudformation/test_stack.py +63 -0
- data/packages/gsutil/boto/tests/unit/cloudfront/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/cloudfront/test_invalidation_list.py +113 -0
- data/packages/gsutil/boto/tests/unit/cloudfront/test_signed_urls.py +354 -0
- data/packages/gsutil/boto/tests/unit/cloudsearch/__init__.py +1 -0
- data/packages/gsutil/boto/tests/unit/cloudsearch/test_connection.py +241 -0
- data/packages/gsutil/boto/tests/unit/cloudsearch/test_document.py +324 -0
- data/packages/gsutil/boto/tests/unit/cloudsearch/test_search.py +325 -0
- data/packages/gsutil/boto/tests/unit/dynamodb/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/dynamodb/test_batch.py +103 -0
- data/packages/gsutil/boto/tests/unit/dynamodb/test_layer2.py +119 -0
- data/packages/gsutil/boto/tests/unit/dynamodb/test_types.py +82 -0
- data/packages/gsutil/boto/tests/unit/ec2/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/ec2/autoscale/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/ec2/autoscale/test_group.py +162 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_address.py +39 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_blockdevicemapping.py +79 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_connection.py +480 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_instance.py +243 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_networkinterface.py +140 -0
- data/packages/gsutil/boto/tests/unit/ec2/test_volume.py +248 -0
- data/packages/gsutil/boto/tests/unit/emr/test_emr_responses.py +373 -0
- data/packages/gsutil/boto/tests/unit/glacier/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_concurrent.py +120 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_job.py +60 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_layer1.py +98 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_layer2.py +266 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_utils.py +116 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_vault.py +100 -0
- data/packages/gsutil/boto/tests/unit/glacier/test_writer.py +185 -0
- data/packages/gsutil/boto/tests/unit/provider/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/provider/test_provider.py +176 -0
- data/packages/gsutil/boto/tests/unit/rds/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/rds/test_connection.py +131 -0
- data/packages/gsutil/boto/tests/unit/s3/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/s3/test_cors_configuration.py +77 -0
- data/packages/gsutil/boto/tests/unit/s3/test_key.py +75 -0
- data/packages/gsutil/boto/tests/unit/s3/test_keyfile.py +101 -0
- data/packages/gsutil/boto/tests/unit/s3/test_lifecycle.py +97 -0
- data/packages/gsutil/boto/tests/unit/s3/test_tagging.py +47 -0
- data/packages/gsutil/boto/tests/unit/s3/test_uri.py +257 -0
- data/packages/gsutil/boto/tests/unit/s3/test_website.py +188 -0
- data/packages/gsutil/boto/tests/unit/sns/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/sns/test_connection.py +99 -0
- data/packages/gsutil/boto/tests/unit/sqs/__init__.py +0 -0
- data/packages/gsutil/boto/tests/unit/sqs/test_connection.py +98 -0
- data/packages/gsutil/boto/tests/unit/sqs/test_queue.py +40 -0
- data/packages/gsutil/boto/tests/unit/sts/test_connection.py +74 -0
- data/packages/gsutil/boto/tests/unit/test_connection.py +60 -0
- data/packages/gsutil/boto/tests/unit/utils/test_utils.py +109 -0
- data/packages/gsutil/boto/tox.ini +8 -0
- data/packages/gsutil/gslib/README +5 -0
- data/packages/gsutil/gslib/__init__.py +22 -0
- data/packages/gsutil/gslib/__init__.pyc +0 -0
- data/packages/gsutil/gslib/addlhelp/__init__.py +15 -0
- data/packages/gsutil/gslib/addlhelp/acls.py +234 -0
- data/packages/gsutil/gslib/addlhelp/anon.py +57 -0
- data/packages/gsutil/gslib/addlhelp/command_opts.py +116 -0
- data/packages/gsutil/gslib/addlhelp/dev.py +139 -0
- data/packages/gsutil/gslib/addlhelp/metadata.py +186 -0
- data/packages/gsutil/gslib/addlhelp/naming.py +173 -0
- data/packages/gsutil/gslib/addlhelp/prod.py +160 -0
- data/packages/gsutil/gslib/addlhelp/projects.py +130 -0
- data/packages/gsutil/gslib/addlhelp/subdirs.py +110 -0
- data/packages/gsutil/gslib/addlhelp/support.py +86 -0
- data/packages/gsutil/gslib/addlhelp/versioning.py +242 -0
- data/packages/gsutil/gslib/addlhelp/wildcards.py +170 -0
- data/packages/gsutil/gslib/bucket_listing_ref.py +175 -0
- data/packages/gsutil/gslib/bucket_listing_ref.pyc +0 -0
- data/packages/gsutil/gslib/command.py +722 -0
- data/packages/gsutil/gslib/command.pyc +0 -0
- data/packages/gsutil/gslib/command_runner.py +101 -0
- data/packages/gsutil/gslib/command_runner.pyc +0 -0
- data/packages/gsutil/gslib/commands/__init__.py +15 -0
- data/packages/gsutil/gslib/commands/__init__.pyc +0 -0
- data/packages/gsutil/gslib/commands/cat.py +131 -0
- data/packages/gsutil/gslib/commands/cat.pyc +0 -0
- data/packages/gsutil/gslib/commands/chacl.py +532 -0
- data/packages/gsutil/gslib/commands/chacl.pyc +0 -0
- data/packages/gsutil/gslib/commands/config.py +694 -0
- data/packages/gsutil/gslib/commands/config.pyc +0 -0
- data/packages/gsutil/gslib/commands/cp.py +1818 -0
- data/packages/gsutil/gslib/commands/cp.pyc +0 -0
- data/packages/gsutil/gslib/commands/disablelogging.py +101 -0
- data/packages/gsutil/gslib/commands/disablelogging.pyc +0 -0
- data/packages/gsutil/gslib/commands/enablelogging.py +149 -0
- data/packages/gsutil/gslib/commands/enablelogging.pyc +0 -0
- data/packages/gsutil/gslib/commands/getacl.py +82 -0
- data/packages/gsutil/gslib/commands/getacl.pyc +0 -0
- data/packages/gsutil/gslib/commands/getcors.py +121 -0
- data/packages/gsutil/gslib/commands/getcors.pyc +0 -0
- data/packages/gsutil/gslib/commands/getdefacl.py +86 -0
- data/packages/gsutil/gslib/commands/getdefacl.pyc +0 -0
- data/packages/gsutil/gslib/commands/getlogging.py +137 -0
- data/packages/gsutil/gslib/commands/getlogging.pyc +0 -0
- data/packages/gsutil/gslib/commands/getversioning.py +116 -0
- data/packages/gsutil/gslib/commands/getversioning.pyc +0 -0
- data/packages/gsutil/gslib/commands/getwebcfg.py +122 -0
- data/packages/gsutil/gslib/commands/getwebcfg.pyc +0 -0
- data/packages/gsutil/gslib/commands/help.py +218 -0
- data/packages/gsutil/gslib/commands/help.pyc +0 -0
- data/packages/gsutil/gslib/commands/ls.py +578 -0
- data/packages/gsutil/gslib/commands/ls.pyc +0 -0
- data/packages/gsutil/gslib/commands/mb.py +172 -0
- data/packages/gsutil/gslib/commands/mb.pyc +0 -0
- data/packages/gsutil/gslib/commands/mv.py +159 -0
- data/packages/gsutil/gslib/commands/mv.pyc +0 -0
- data/packages/gsutil/gslib/commands/perfdiag.py +903 -0
- data/packages/gsutil/gslib/commands/perfdiag.pyc +0 -0
- data/packages/gsutil/gslib/commands/rb.py +113 -0
- data/packages/gsutil/gslib/commands/rb.pyc +0 -0
- data/packages/gsutil/gslib/commands/rm.py +239 -0
- data/packages/gsutil/gslib/commands/rm.pyc +0 -0
- data/packages/gsutil/gslib/commands/setacl.py +138 -0
- data/packages/gsutil/gslib/commands/setacl.pyc +0 -0
- data/packages/gsutil/gslib/commands/setcors.py +145 -0
- data/packages/gsutil/gslib/commands/setcors.pyc +0 -0
- data/packages/gsutil/gslib/commands/setdefacl.py +105 -0
- data/packages/gsutil/gslib/commands/setdefacl.pyc +0 -0
- data/packages/gsutil/gslib/commands/setmeta.py +428 -0
- data/packages/gsutil/gslib/commands/setmeta.pyc +0 -0
- data/packages/gsutil/gslib/commands/setversioning.py +114 -0
- data/packages/gsutil/gslib/commands/setversioning.pyc +0 -0
- data/packages/gsutil/gslib/commands/setwebcfg.py +190 -0
- data/packages/gsutil/gslib/commands/setwebcfg.pyc +0 -0
- data/packages/gsutil/gslib/commands/test.py +228 -0
- data/packages/gsutil/gslib/commands/test.pyc +0 -0
- data/packages/gsutil/gslib/commands/update.py +305 -0
- data/packages/gsutil/gslib/commands/update.pyc +0 -0
- data/packages/gsutil/gslib/commands/version.py +150 -0
- data/packages/gsutil/gslib/commands/version.pyc +0 -0
- data/packages/gsutil/gslib/exception.py +76 -0
- data/packages/gsutil/gslib/exception.pyc +0 -0
- data/packages/gsutil/gslib/help_provider.py +81 -0
- data/packages/gsutil/gslib/help_provider.pyc +0 -0
- data/packages/gsutil/gslib/name_expansion.py +550 -0
- data/packages/gsutil/gslib/name_expansion.pyc +0 -0
- data/packages/gsutil/gslib/no_op_auth_plugin.py +30 -0
- data/packages/gsutil/gslib/plurality_checkable_iterator.py +56 -0
- data/packages/gsutil/gslib/plurality_checkable_iterator.pyc +0 -0
- data/packages/gsutil/gslib/project_id.py +67 -0
- data/packages/gsutil/gslib/project_id.pyc +0 -0
- data/packages/gsutil/gslib/storage_uri_builder.py +56 -0
- data/packages/gsutil/gslib/storage_uri_builder.pyc +0 -0
- data/packages/gsutil/gslib/tests/__init__.py +15 -0
- data/packages/gsutil/gslib/tests/__init__.pyc +0 -0
- data/packages/gsutil/gslib/tests/test_chacl.py +236 -0
- data/packages/gsutil/gslib/tests/test_cp.py +267 -0
- data/packages/gsutil/gslib/tests/test_data/test.gif +0 -0
- data/packages/gsutil/gslib/tests/test_data/test.mp3 +0 -0
- data/packages/gsutil/gslib/tests/test_ls.py +66 -0
- data/packages/gsutil/gslib/tests/test_mv.py +69 -0
- data/packages/gsutil/gslib/tests/test_naming.py +989 -0
- data/packages/gsutil/gslib/tests/test_perfdiag.py +41 -0
- data/packages/gsutil/gslib/tests/test_plurality_checkable_iterator.py +67 -0
- data/packages/gsutil/gslib/tests/test_rm.py +143 -0
- data/packages/gsutil/gslib/tests/test_setacl.py +152 -0
- data/packages/gsutil/gslib/tests/test_setcors.py +168 -0
- data/packages/gsutil/gslib/tests/test_setmeta.py +91 -0
- data/packages/gsutil/gslib/tests/test_setversioning.py +44 -0
- data/packages/gsutil/gslib/tests/test_setwebcfg.py +63 -0
- data/packages/gsutil/gslib/tests/test_thread_pool.py +92 -0
- data/packages/gsutil/gslib/tests/test_wildcard_iterator.py +364 -0
- data/packages/gsutil/gslib/tests/testcase/__init__.py +18 -0
- data/packages/gsutil/gslib/tests/testcase/base.py +89 -0
- data/packages/gsutil/gslib/tests/testcase/integration_testcase.py +197 -0
- data/packages/gsutil/gslib/tests/testcase/unit_testcase.py +230 -0
- data/packages/gsutil/gslib/tests/util.py +125 -0
- data/packages/gsutil/gslib/tests/util.pyc +0 -0
- data/packages/gsutil/gslib/thread_pool.py +79 -0
- data/packages/gsutil/gslib/thread_pool.pyc +0 -0
- data/packages/gsutil/gslib/util.py +151 -0
- data/packages/gsutil/gslib/util.pyc +0 -0
- data/packages/gsutil/gslib/wildcard_iterator.py +492 -0
- data/packages/gsutil/gslib/wildcard_iterator.pyc +0 -0
- data/packages/gsutil/gsutil +377 -0
- data/packages/gsutil/gsutil.spec.in +75 -0
- data/packages/gsutil/oauth2_plugin/__init__.py +22 -0
- data/packages/gsutil/oauth2_plugin/__init__.pyc +0 -0
- data/packages/gsutil/oauth2_plugin/oauth2_client.py +642 -0
- data/packages/gsutil/oauth2_plugin/oauth2_client.pyc +0 -0
- data/packages/gsutil/oauth2_plugin/oauth2_client_test.py +374 -0
- data/packages/gsutil/oauth2_plugin/oauth2_helper.py +110 -0
- data/packages/gsutil/oauth2_plugin/oauth2_helper.pyc +0 -0
- data/packages/gsutil/oauth2_plugin/oauth2_plugin.py +24 -0
- data/packages/gsutil/oauth2_plugin/oauth2_plugin.pyc +0 -0
- data/packages/gsutil/pkg_gen.sh +54 -0
- data/packages/gsutil/pkg_util.py +60 -0
- data/packages/gsutil/setup.py +141 -0
- data/packages/gsutil/third_party/__init__.py +0 -0
- data/packages/gsutil/third_party/__init__.pyc +0 -0
- data/packages/gsutil/third_party/fancy_urllib/README +21 -0
- data/packages/gsutil/third_party/fancy_urllib/__init__.py +398 -0
- data/packages/gsutil/third_party/fancy_urllib/__init__.pyc +0 -0
- data/tasks/rubygem.rake +3 -1
- metadata +770 -7
- metadata.gz.sig +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Copyright (c) 2013 Amazon.com, Inc. or its affiliates.
|
|
2
|
+
# All Rights Reserved
|
|
3
|
+
#
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
5
|
+
# copy of this software and associated documentation files (the
|
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish, dis-
|
|
8
|
+
# tribute, sublicense, and/or sell copies of the Software, and to permit
|
|
9
|
+
# persons to whom the Software is furnished to do so, subject to the fol-
|
|
10
|
+
# lowing conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included
|
|
13
|
+
# in all copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
16
|
+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
|
17
|
+
# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
|
18
|
+
# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
19
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
21
|
+
# IN THE SOFTWARE.
|
|
22
|
+
#
|
|
23
|
+
from boto.regioninfo import RegionInfo
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def regions():
|
|
27
|
+
"""
|
|
28
|
+
Get all available regions for the AWS Elastic Transcoder service.
|
|
29
|
+
|
|
30
|
+
:rtype: list
|
|
31
|
+
:return: A list of :class:`boto.regioninfo.RegionInfo`
|
|
32
|
+
"""
|
|
33
|
+
from boto.elastictranscoder.layer1 import ElasticTranscoderConnection
|
|
34
|
+
cls = ElasticTranscoderConnection
|
|
35
|
+
return [
|
|
36
|
+
RegionInfo(name='us-east-1',
|
|
37
|
+
endpoint='elastictranscoder.us-east-1.amazonaws.com',
|
|
38
|
+
connection_cls=cls),
|
|
39
|
+
RegionInfo(name='us-west-1',
|
|
40
|
+
endpoint='elastictranscoder.us-west-1.amazonaws.com',
|
|
41
|
+
connection_cls=cls),
|
|
42
|
+
RegionInfo(name='us-west-2',
|
|
43
|
+
endpoint='elastictranscoder.us-west-2.amazonaws.com',
|
|
44
|
+
connection_cls=cls),
|
|
45
|
+
RegionInfo(name='ap-northeast-1',
|
|
46
|
+
endpoint='elastictranscoder.ap-northeast-1.amazonaws.com',
|
|
47
|
+
connection_cls=cls),
|
|
48
|
+
RegionInfo(name='ap-southeast-1',
|
|
49
|
+
endpoint='elastictranscoder.ap-southeast-1.amazonaws.com',
|
|
50
|
+
connection_cls=cls),
|
|
51
|
+
RegionInfo(name='eu-west-1',
|
|
52
|
+
endpoint='elastictranscoder.eu-west-1.amazonaws.com',
|
|
53
|
+
connection_cls=cls),
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def connect_to_region(region_name, **kw_params):
|
|
58
|
+
for region in regions():
|
|
59
|
+
if region.name == region_name:
|
|
60
|
+
return region.connect(**kw_params)
|
|
61
|
+
return None
|
|
62
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved
|
|
2
|
+
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
+
# copy of this software and associated documentation files (the
|
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish, dis-
|
|
7
|
+
# tribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
# persons to whom the Software is furnished to do so, subject to the fol-
|
|
9
|
+
# lowing conditions:
|
|
10
|
+
#
|
|
11
|
+
# The above copyright notice and this permission notice shall be included
|
|
12
|
+
# in all copies or substantial portions of the Software.
|
|
13
|
+
#
|
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
|
16
|
+
# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
|
17
|
+
# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
18
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
20
|
+
# IN THE SOFTWARE.
|
|
21
|
+
#
|
|
22
|
+
from boto.exception import JSONResponseError
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class LimitExceededException(JSONResponseError):
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class ResourceInUseException(JSONResponseError):
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class AccessDeniedException(JSONResponseError):
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ResourceNotFoundException(JSONResponseError):
|
|
38
|
+
pass
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class InternalServiceException(JSONResponseError):
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ValidationException(JSONResponseError):
|
|
46
|
+
pass
|
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
# Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved
|
|
2
|
+
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
+
# copy of this software and associated documentation files (the
|
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish, dis-
|
|
7
|
+
# tribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
# persons to whom the Software is furnished to do so, subject to the fol-
|
|
9
|
+
# lowing conditions:
|
|
10
|
+
#
|
|
11
|
+
# The above copyright notice and this permission notice shall be included
|
|
12
|
+
# in all copies or substantial portions of the Software.
|
|
13
|
+
#
|
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
|
16
|
+
# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
|
17
|
+
# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
18
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
20
|
+
# IN THE SOFTWARE.
|
|
21
|
+
#
|
|
22
|
+
from boto.compat import json
|
|
23
|
+
from boto.exception import JSONResponseError
|
|
24
|
+
from boto.connection import AWSAuthConnection
|
|
25
|
+
from boto.regioninfo import RegionInfo
|
|
26
|
+
from boto.elastictranscoder import exceptions
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class ElasticTranscoderConnection(AWSAuthConnection):
|
|
30
|
+
"""
|
|
31
|
+
AWS Elastic Transcoder Service
|
|
32
|
+
The AWS Elastic Transcoder Service.
|
|
33
|
+
"""
|
|
34
|
+
APIVersion = "2012-09-25"
|
|
35
|
+
DefaultRegionName = "us-east-1"
|
|
36
|
+
DefaultRegionEndpoint = "elastictranscoder.us-east-1.amazonaws.com"
|
|
37
|
+
ResponseError = JSONResponseError
|
|
38
|
+
|
|
39
|
+
_faults = {
|
|
40
|
+
"LimitExceededException": exceptions.LimitExceededException,
|
|
41
|
+
"ResourceInUseException": exceptions.ResourceInUseException,
|
|
42
|
+
"AccessDeniedException": exceptions.AccessDeniedException,
|
|
43
|
+
"ResourceNotFoundException": exceptions.ResourceNotFoundException,
|
|
44
|
+
"InternalServiceException": exceptions.InternalServiceException,
|
|
45
|
+
"ValidationException": exceptions.ValidationException,
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def __init__(self, **kwargs):
|
|
50
|
+
region = kwargs.get('region')
|
|
51
|
+
if not region:
|
|
52
|
+
region = RegionInfo(self, self.DefaultRegionName,
|
|
53
|
+
self.DefaultRegionEndpoint)
|
|
54
|
+
else:
|
|
55
|
+
del kwargs['region']
|
|
56
|
+
kwargs['host'] = region.endpoint
|
|
57
|
+
AWSAuthConnection.__init__(self, **kwargs)
|
|
58
|
+
self.region = region
|
|
59
|
+
|
|
60
|
+
def _required_auth_capability(self):
|
|
61
|
+
return ['hmac-v4']
|
|
62
|
+
|
|
63
|
+
def cancel_job(self, id):
|
|
64
|
+
"""
|
|
65
|
+
To delete a job, send a DELETE request to the `//jobs/ [jobId]
|
|
66
|
+
` resource.
|
|
67
|
+
You can only cancel a job that has a status of `Submitted`. To
|
|
68
|
+
prevent a pipeline from starting to process a job while you're
|
|
69
|
+
getting the job identifier, use UpdatePipelineStatus to
|
|
70
|
+
temporarily pause the pipeline.
|
|
71
|
+
|
|
72
|
+
:type id: string
|
|
73
|
+
:param id: The identifier of the job that you want to delete.
|
|
74
|
+
|
|
75
|
+
To get a list of the jobs (including their `jobId`) that have
|
|
76
|
+
a status of `Submitted`, use the ListJobsByStatus API
|
|
77
|
+
action.
|
|
78
|
+
|
|
79
|
+
"""
|
|
80
|
+
uri = '/2012-09-25/jobs/{0}'.format(id)
|
|
81
|
+
return self.make_request('DELETE', uri, expected_status=202)
|
|
82
|
+
|
|
83
|
+
def create_job(self, pipeline_id, input_name, output):
|
|
84
|
+
"""
|
|
85
|
+
To create a job, send a POST request to the `//jobs` resource.
|
|
86
|
+
|
|
87
|
+
When you create a job, Elastic Transcoder returns JSON data
|
|
88
|
+
that includes the values that you specified plus information
|
|
89
|
+
about the job that is created.
|
|
90
|
+
|
|
91
|
+
:type pipeline_id: string
|
|
92
|
+
:param pipeline_id: The `Id` of the pipeline that you want Elastic
|
|
93
|
+
Transcoder to use for transcoding. The pipeline
|
|
94
|
+
determines several settings, including the
|
|
95
|
+
Amazon S3 bucket from which Elastic Transcoder
|
|
96
|
+
gets the files to transcode and the bucket into
|
|
97
|
+
which Elastic Transcoder puts the transcoded
|
|
98
|
+
files.
|
|
99
|
+
|
|
100
|
+
:type input_name: dict
|
|
101
|
+
:param input_name: A section of the request body that provides
|
|
102
|
+
information about the file that is being
|
|
103
|
+
transcoded.
|
|
104
|
+
|
|
105
|
+
:type output: dict
|
|
106
|
+
:param output: A section of the request body that provides information
|
|
107
|
+
about the transcoded (target) file.
|
|
108
|
+
|
|
109
|
+
"""
|
|
110
|
+
uri = '/2012-09-25/jobs'
|
|
111
|
+
params = {
|
|
112
|
+
'PipelineId': pipeline_id,
|
|
113
|
+
'Input': input_name,
|
|
114
|
+
'Output': output,
|
|
115
|
+
}
|
|
116
|
+
return self.make_request('POST', uri, expected_status=201,
|
|
117
|
+
data=json.dumps(params))
|
|
118
|
+
|
|
119
|
+
def create_pipeline(self, name, input_bucket, output_bucket, role,
|
|
120
|
+
notifications):
|
|
121
|
+
"""
|
|
122
|
+
To create a pipeline, send a POST request to the `/pipelines`
|
|
123
|
+
resource.
|
|
124
|
+
|
|
125
|
+
:type name: string
|
|
126
|
+
:param name: The name of the pipeline. We recommend that the name be
|
|
127
|
+
unique within the AWS account, but uniqueness is not
|
|
128
|
+
enforced.
|
|
129
|
+
|
|
130
|
+
Constraints: Maximum 40 characters.
|
|
131
|
+
|
|
132
|
+
:type input_bucket: string
|
|
133
|
+
:param input_bucket: The bucket in which you saved the media files that
|
|
134
|
+
you want to transcode.
|
|
135
|
+
|
|
136
|
+
:type output_bucket: string
|
|
137
|
+
:param output_bucket: The bucket in which you want to save the
|
|
138
|
+
transcoded files.
|
|
139
|
+
|
|
140
|
+
:type role: string
|
|
141
|
+
:param role: The IAM Amazon Resource Name (ARN) for the role that you
|
|
142
|
+
want to use to create the pipeline.
|
|
143
|
+
|
|
144
|
+
:type notifications: dict
|
|
145
|
+
:param notifications: The () topic that you want to notify to report job
|
|
146
|
+
status.
|
|
147
|
+
To receive notifications, you must also subscribe
|
|
148
|
+
to the new topic in the console.
|
|
149
|
+
|
|
150
|
+
+ **Progressing**: The () topic that you want to
|
|
151
|
+
notify when has started to process the job.
|
|
152
|
+
+ **Completed**: The topic that you want to notify
|
|
153
|
+
when has finished processing the job.
|
|
154
|
+
+ **Warning**: The topic that you want to notify
|
|
155
|
+
when encounters a warning condition.
|
|
156
|
+
+ **Error**: The topic that you want to notify
|
|
157
|
+
when encounters an error condition.
|
|
158
|
+
|
|
159
|
+
"""
|
|
160
|
+
uri = '/2012-09-25/pipelines'
|
|
161
|
+
params = {
|
|
162
|
+
'Name': name,
|
|
163
|
+
'InputBucket': input_bucket,
|
|
164
|
+
'OutputBucket': output_bucket,
|
|
165
|
+
'Role': role,
|
|
166
|
+
'Notifications': notifications,
|
|
167
|
+
}
|
|
168
|
+
return self.make_request('POST', uri, expected_status=201,
|
|
169
|
+
data=json.dumps(params))
|
|
170
|
+
|
|
171
|
+
def create_preset(self, name, container, video, audio, thumbnails,
|
|
172
|
+
description=None):
|
|
173
|
+
"""
|
|
174
|
+
To create a preset, send a POST request to the `//presets`
|
|
175
|
+
resource.
|
|
176
|
+
checks the settings that you specify to ensure that they meet
|
|
177
|
+
requirements and to determine whether they comply with H.264
|
|
178
|
+
standards. If your settings are not valid for , returns an
|
|
179
|
+
HTTP 400 response ( `ValidationException`) and does not create
|
|
180
|
+
the preset. If the settings are valid for but aren't strictly
|
|
181
|
+
compliant with the H.264 standard, creates the preset and
|
|
182
|
+
returns a warning message in the response. This helps you
|
|
183
|
+
determine whether your settings comply with the H.264 standard
|
|
184
|
+
while giving you greater flexibility with respect to the video
|
|
185
|
+
that produces.
|
|
186
|
+
uses the H.264 video-compression format. For more information,
|
|
187
|
+
see the International Telecommunication Union publication
|
|
188
|
+
Recommendation ITU-T H.264: Advanced video coding for generic
|
|
189
|
+
audiovisual services .
|
|
190
|
+
|
|
191
|
+
:type name: string
|
|
192
|
+
:param name: The name of the preset. We recommend that the name be
|
|
193
|
+
unique within the AWS account, but uniqueness is not
|
|
194
|
+
enforced.
|
|
195
|
+
|
|
196
|
+
:type description: string
|
|
197
|
+
:param description: A description of the preset.
|
|
198
|
+
|
|
199
|
+
:type container: string
|
|
200
|
+
:param container: The container type for the output file. This value
|
|
201
|
+
must be `mp4`.
|
|
202
|
+
|
|
203
|
+
:type video: dict
|
|
204
|
+
:param video: A section of the request body that specifies the video
|
|
205
|
+
parameters.
|
|
206
|
+
|
|
207
|
+
:type audio: dict
|
|
208
|
+
:param audio: A section of the request body that specifies the audio
|
|
209
|
+
parameters
|
|
210
|
+
|
|
211
|
+
:type thumbnails: dict
|
|
212
|
+
:param thumbnails: A section of the request body that specifies the
|
|
213
|
+
thumbnail parameters, if any.
|
|
214
|
+
|
|
215
|
+
"""
|
|
216
|
+
uri = '/2012-09-25/presets'
|
|
217
|
+
params = {
|
|
218
|
+
'Name': name,
|
|
219
|
+
'Container': container,
|
|
220
|
+
'Video': video,
|
|
221
|
+
'Audio': audio,
|
|
222
|
+
'Thumbnails': thumbnails,
|
|
223
|
+
}
|
|
224
|
+
if description is not None:
|
|
225
|
+
params['Description'] = description
|
|
226
|
+
return self.make_request('POST', uri, expected_status=201,
|
|
227
|
+
data=json.dumps(params))
|
|
228
|
+
|
|
229
|
+
def delete_pipeline(self, id):
|
|
230
|
+
"""
|
|
231
|
+
To delete a pipeline, send a DELETE request to the
|
|
232
|
+
`//pipelines/ [pipelineId] ` resource.
|
|
233
|
+
|
|
234
|
+
You can only delete a pipeline that has never been used or
|
|
235
|
+
that is not currently in use (doesn't contain any active
|
|
236
|
+
jobs). If the pipeline is currently in use, `DeletePipeline`
|
|
237
|
+
returns an error.
|
|
238
|
+
|
|
239
|
+
:type id: string
|
|
240
|
+
:param id: The identifier of the pipeline that you want to delete.
|
|
241
|
+
|
|
242
|
+
"""
|
|
243
|
+
uri = '/2012-09-25/pipelines/{0}'.format(id)
|
|
244
|
+
return self.make_request('DELETE', uri, expected_status=202)
|
|
245
|
+
|
|
246
|
+
def delete_preset(self, id):
|
|
247
|
+
"""
|
|
248
|
+
To delete a preset, send a DELETE request to the `//presets/
|
|
249
|
+
[presetId] ` resource.
|
|
250
|
+
|
|
251
|
+
If the preset has been used, you cannot delete it.
|
|
252
|
+
|
|
253
|
+
:type id: string
|
|
254
|
+
:param id: The identifier of the preset for which you want to get
|
|
255
|
+
detailed information.
|
|
256
|
+
|
|
257
|
+
"""
|
|
258
|
+
uri = '/2012-09-25/presets/{0}'.format(id)
|
|
259
|
+
return self.make_request('DELETE', uri, expected_status=202)
|
|
260
|
+
|
|
261
|
+
def list_jobs_by_pipeline(self, pipeline_id, ascending=None,
|
|
262
|
+
page_token=None):
|
|
263
|
+
"""
|
|
264
|
+
To get a list of the jobs currently in a pipeline, send a GET
|
|
265
|
+
request to the `//jobsByPipeline/ [pipelineId] ` resource.
|
|
266
|
+
|
|
267
|
+
Elastic Transcoder returns all of the jobs currently in the
|
|
268
|
+
specified pipeline. The response body contains one element for
|
|
269
|
+
each job that satisfies the search criteria.
|
|
270
|
+
|
|
271
|
+
:type pipeline_id: string
|
|
272
|
+
:param pipeline_id: The ID of the pipeline for which you want to get job
|
|
273
|
+
information.
|
|
274
|
+
|
|
275
|
+
:type ascending: string
|
|
276
|
+
:param ascending: To list jobs in chronological order by the date and
|
|
277
|
+
time that they were submitted, enter `True`. To
|
|
278
|
+
list jobs in reverse chronological order, enter
|
|
279
|
+
`False`.
|
|
280
|
+
|
|
281
|
+
:type page_token: string
|
|
282
|
+
:param page_token: When returns more than one page of results, use
|
|
283
|
+
`pageToken` in subsequent `GET` requests to get
|
|
284
|
+
each successive page of results.
|
|
285
|
+
|
|
286
|
+
"""
|
|
287
|
+
uri = '/2012-09-25/jobsByPipeline/{0}'.format(pipeline_id)
|
|
288
|
+
params = {}
|
|
289
|
+
if ascending is not None:
|
|
290
|
+
params['Ascending'] = ascending
|
|
291
|
+
if page_token is not None:
|
|
292
|
+
params['PageToken'] = page_token
|
|
293
|
+
return self.make_request('GET', uri, expected_status=200,
|
|
294
|
+
params=params)
|
|
295
|
+
|
|
296
|
+
def list_jobs_by_status(self, status, ascending=None, page_token=None):
|
|
297
|
+
"""
|
|
298
|
+
To get a list of the jobs that have a specified status, send a
|
|
299
|
+
GET request to the `//jobsByStatus/ [status] ` resource.
|
|
300
|
+
|
|
301
|
+
Elastic Transcoder returns all of the jobs that have the
|
|
302
|
+
specified status. The response body contains one element for
|
|
303
|
+
each job that satisfies the search criteria.
|
|
304
|
+
|
|
305
|
+
:type status: string
|
|
306
|
+
:param status: To get information about all of the jobs associated with
|
|
307
|
+
the current AWS account that have a given status,
|
|
308
|
+
specify the following status: `Submitted`,
|
|
309
|
+
`Progressing`, `Completed`, `Canceled`, or `Error`.
|
|
310
|
+
|
|
311
|
+
:type ascending: string
|
|
312
|
+
:param ascending: To list jobs in chronological order by the date and
|
|
313
|
+
time that they were submitted, enter `True`. To
|
|
314
|
+
list jobs in reverse chronological order, enter
|
|
315
|
+
`False`.
|
|
316
|
+
|
|
317
|
+
:type page_token: string
|
|
318
|
+
:param page_token: When returns more than one page of results, use
|
|
319
|
+
`pageToken` in subsequent `GET` requests to get
|
|
320
|
+
each successive page of results.
|
|
321
|
+
|
|
322
|
+
"""
|
|
323
|
+
uri = '/2012-09-25/jobsByStatus/{0}'.format(status)
|
|
324
|
+
params = {}
|
|
325
|
+
if ascending is not None:
|
|
326
|
+
params['Ascending'] = ascending
|
|
327
|
+
if page_token is not None:
|
|
328
|
+
params['PageToken'] = page_token
|
|
329
|
+
return self.make_request('GET', uri, expected_status=200,
|
|
330
|
+
params=params)
|
|
331
|
+
|
|
332
|
+
def list_pipelines(self):
|
|
333
|
+
"""
|
|
334
|
+
To get a list of the pipelines associated with the current AWS
|
|
335
|
+
account, send a GET request to the `//pipelines` resource.
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
"""
|
|
339
|
+
uri = '/2012-09-25/pipelines'
|
|
340
|
+
return self.make_request('GET', uri, expected_status=200)
|
|
341
|
+
|
|
342
|
+
def list_presets(self):
|
|
343
|
+
"""
|
|
344
|
+
To get a list of all presets associated with the current AWS
|
|
345
|
+
account, send a GET request to the `//presets` resource.
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
"""
|
|
349
|
+
uri = '/2012-09-25/presets'
|
|
350
|
+
return self.make_request('GET', uri, expected_status=200)
|
|
351
|
+
|
|
352
|
+
def read_job(self, id):
|
|
353
|
+
"""
|
|
354
|
+
To get detailed information about a job, send a GET request to
|
|
355
|
+
the `//jobs/ [jobId] ` resource.
|
|
356
|
+
|
|
357
|
+
:type id: string
|
|
358
|
+
:param id: The identifier of the job for which you want to get detailed
|
|
359
|
+
information.
|
|
360
|
+
|
|
361
|
+
"""
|
|
362
|
+
uri = '/2012-09-25/jobs/{0}'.format(id)
|
|
363
|
+
return self.make_request('GET', uri, expected_status=200)
|
|
364
|
+
|
|
365
|
+
def read_pipeline(self, id):
|
|
366
|
+
"""
|
|
367
|
+
To get detailed information about a pipeline, send a GET
|
|
368
|
+
request to the `//pipelines/ [pipelineId] ` resource.
|
|
369
|
+
|
|
370
|
+
:type id: string
|
|
371
|
+
:param id: The identifier of the pipeline to read.
|
|
372
|
+
|
|
373
|
+
"""
|
|
374
|
+
uri = '/2012-09-25/pipelines/{0}'.format(id)
|
|
375
|
+
return self.make_request('GET', uri, expected_status=200)
|
|
376
|
+
|
|
377
|
+
def read_preset(self, id):
|
|
378
|
+
"""
|
|
379
|
+
To get detailed information about a preset, send a GET request
|
|
380
|
+
to the `//presets/ [presetId] ` resource.
|
|
381
|
+
|
|
382
|
+
:type id: string
|
|
383
|
+
:param id: The identifier of the preset for which you want to get
|
|
384
|
+
detailed information.
|
|
385
|
+
|
|
386
|
+
"""
|
|
387
|
+
uri = '/2012-09-25/presets/{0}'.format(id)
|
|
388
|
+
return self.make_request('GET', uri, expected_status=200)
|
|
389
|
+
|
|
390
|
+
def test_role(self, role, input_bucket, output_bucket, topics):
|
|
391
|
+
"""
|
|
392
|
+
To test the IAM role that's used by Elastic Transcoder to
|
|
393
|
+
create the pipeline, send a POST request to the `//roleTests`
|
|
394
|
+
resource.
|
|
395
|
+
|
|
396
|
+
The `TestRole` action lets you determine whether the IAM role
|
|
397
|
+
you are using has sufficient permissions to let perform tasks
|
|
398
|
+
associated with the transcoding process. The action attempts
|
|
399
|
+
to assume the specified IAM role, checks read access to the
|
|
400
|
+
input and output buckets, and tries to send a test
|
|
401
|
+
notification to Amazon SNS topics that you specify.
|
|
402
|
+
|
|
403
|
+
:type role: string
|
|
404
|
+
:param role: The IAM Amazon Resource Name (ARN) for the role that you
|
|
405
|
+
want Elastic Transcoder to test.
|
|
406
|
+
|
|
407
|
+
:type input_bucket: string
|
|
408
|
+
:param input_bucket: The bucket that contains media files to be
|
|
409
|
+
transcoded. The action attempts to read from
|
|
410
|
+
this bucket.
|
|
411
|
+
|
|
412
|
+
:type output_bucket: string
|
|
413
|
+
:param output_bucket: The bucket that will write transcoded media files
|
|
414
|
+
to. The action attempts to read from this
|
|
415
|
+
bucket.
|
|
416
|
+
|
|
417
|
+
:type topics: list
|
|
418
|
+
:param topics: The ARNs of one or more () topics that you want the
|
|
419
|
+
action to send a test notification to.
|
|
420
|
+
|
|
421
|
+
"""
|
|
422
|
+
uri = '/2012-09-25/roleTests'
|
|
423
|
+
params = {
|
|
424
|
+
'Role': role,
|
|
425
|
+
'InputBucket': input_bucket,
|
|
426
|
+
'OutputBucket': output_bucket,
|
|
427
|
+
'Topics': topics,
|
|
428
|
+
}
|
|
429
|
+
return self.make_request('POST', uri, expected_status=200,
|
|
430
|
+
data=json.dumps(params))
|
|
431
|
+
|
|
432
|
+
def update_pipeline_notifications(self, id, notifications):
|
|
433
|
+
"""
|
|
434
|
+
To update () notifications for a pipeline, send a POST request
|
|
435
|
+
to the `//pipelines/ [pipelineId] /notifications` resource.
|
|
436
|
+
|
|
437
|
+
When you update notifications for a pipeline, returns the
|
|
438
|
+
values that you specified in the request.
|
|
439
|
+
|
|
440
|
+
:type id: string
|
|
441
|
+
:param id: The identifier of the pipeline for which you want to change
|
|
442
|
+
notification settings.
|
|
443
|
+
|
|
444
|
+
:type notifications: dict
|
|
445
|
+
:param notifications: The () topic that you want to notify to report job
|
|
446
|
+
status.
|
|
447
|
+
To receive notifications, you must also subscribe
|
|
448
|
+
to the new topic in the console.
|
|
449
|
+
|
|
450
|
+
+ **Progressing**: The () topic that you want to
|
|
451
|
+
notify when has started to process the job.
|
|
452
|
+
+ **Completed**: The topic that you want to notify
|
|
453
|
+
when has finished processing the job.
|
|
454
|
+
+ **Warning**: The topic that you want to notify
|
|
455
|
+
when encounters a warning condition.
|
|
456
|
+
+ **Error**: The topic that you want to notify
|
|
457
|
+
when encounters an error condition.
|
|
458
|
+
|
|
459
|
+
"""
|
|
460
|
+
uri = '/2012-09-25/pipelines/{0}/notifications'.format(id)
|
|
461
|
+
params = {'Notifications': notifications, }
|
|
462
|
+
return self.make_request('POST', uri, expected_status=200,
|
|
463
|
+
data=json.dumps(params))
|
|
464
|
+
|
|
465
|
+
def update_pipeline_status(self, id, status):
|
|
466
|
+
"""
|
|
467
|
+
To pause or reactivate a pipeline, so the pipeline stops or
|
|
468
|
+
restarts processing jobs, update the status for the pipeline.
|
|
469
|
+
Send a POST request to the `//pipelines/ [pipelineId] /status`
|
|
470
|
+
resource.
|
|
471
|
+
|
|
472
|
+
Changing the pipeline status is useful if you want to cancel
|
|
473
|
+
one or more jobs. You can't cancel jobs after has started
|
|
474
|
+
processing them; if you pause the pipeline to which you
|
|
475
|
+
submitted the jobs, you have more time to get the job IDs for
|
|
476
|
+
the jobs that you want to cancel, and to send a CancelJob
|
|
477
|
+
request.
|
|
478
|
+
|
|
479
|
+
:type id: string
|
|
480
|
+
:param id: The identifier of the pipeline to update.
|
|
481
|
+
|
|
482
|
+
:type status: string
|
|
483
|
+
:param status: The new status of the pipeline:
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
+ `active`: Enable the pipeline, so it starts processing
|
|
487
|
+
jobs.
|
|
488
|
+
+ `paused`: Disable the pipeline, so it stops processing
|
|
489
|
+
jobs.
|
|
490
|
+
|
|
491
|
+
"""
|
|
492
|
+
uri = '/2012-09-25/pipelines/{0}/status'.format(id)
|
|
493
|
+
params = {'Status': status, }
|
|
494
|
+
return self.make_request('POST', uri, expected_status=200,
|
|
495
|
+
data=json.dumps(params))
|
|
496
|
+
|
|
497
|
+
def make_request(self, verb, resource, headers=None, data='',
|
|
498
|
+
expected_status=None, params=None):
|
|
499
|
+
if headers is None:
|
|
500
|
+
headers = {}
|
|
501
|
+
response = AWSAuthConnection.make_request(
|
|
502
|
+
self, verb, resource, headers=headers, data=data)
|
|
503
|
+
body = json.load(response)
|
|
504
|
+
if response.status == expected_status:
|
|
505
|
+
return body
|
|
506
|
+
else:
|
|
507
|
+
error_type = response.getheader('x-amzn-ErrorType').split(':')[0]
|
|
508
|
+
error_class = self._faults.get(error_type, self.ResponseError)
|
|
509
|
+
raise error_class(response.status, response.reason, body)
|