Packages
ex_aws
1.1.3
2.7.0
2.6.1
2.6.0
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.1
1.0.0-beta3
1.0.0-beta2
1.0.0-beta1
1.0.0-beta0
0.5.0
0.4.19
0.4.18
0.4.17
0.4.15
0.4.14
0.4.13
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
AWS client for Elixir. Currently supports Dynamo, DynamoStreams, EC2, Firehose, Kinesis, KMS, Lambda, RRDS, Route53, S3, SES, SNS, SQS, STS and others.
Current section
Files
Jump to
Current section
Files
lib/ex_aws/elastic_transcoder.ex
defmodule ExAws.ElasticTranscoder do
@moduledoc """
Operations on AWS Elastic Transcoder
### Examples
```
ElasticTranscoder.list_pipelines() |> ExAws.request!()
ElasticTranscoder.create_job(%{"Key" => "abcd.mp4", ...}) |> ExAws.request!()
```
"""
@api_version_date "2012-09-25"
########################
### Pipeline Actions ###
########################
@doc "List pipelines, may return paginated result"
def list_pipelines(next_token \\ nil) do
request(:get, "/pipelines", with_next_token(next_token))
end
@doc "Get description of a single pipeline"
def read_pipeline(pipeline_id) do
request(:get, "/pipelines/#{pipeline_id}")
end
@doc "Create a new pipeline"
def create_pipeline(data) do
request(:post, "/pipelines", data)
end
@doc "Update an existing pipeline, omit attributes to leave them unchanged"
def update_pipeline(pipeline_id, data) do
request(:put, "/pipelines/#{pipeline_id}", data)
end
@doc "Update the status of an existing pipeline"
def update_pipeline_status(pipeline_id, status) when status in ["Active", "Paused"] do
request(:post, "/pipelines/#{pipeline_id}/status", %{"Status" => status})
end
@doc "Update the notification callback SNS queue ARNs of an existing pipeline"
def update_pipeline_notifications(pipeline_id, notifications) do
request(:post, "/pipelines/#{pipeline_id}/notifications", %{"Notifications" => notifications})
end
@doc "Delete a pipeline"
def delete_pipeline(pipeline_id) do
request(:delete, "/pipelines/#{pipeline_id}")
end
###################
### Job Actions ###
###################
@doc "List jobs of a given pipeline, may return paginated result"
def list_jobs_by_pipeline(pipeline_id, next_token \\ nil) do
request(:get, "/jobsByPipeline/#{pipeline_id}", with_next_token(next_token))
end
@doc "List jobs with a given status, may return paginated result"
def list_jobs_by_status(status, next_token \\ nil) when status in ["Submitted", "Progressing", "Complete", "Canceled", "Error"] do
request(:get, "/jobsByStatus/#{status}", with_next_token(next_token))
end
@doc "Get description of a single job"
def read_job(job_id) do
request(:get, "/jobs/#{job_id}")
end
@doc "Create a new job"
def create_job(data) do
request(:post, "/jobs", data)
end
@doc "Cancel a pending job"
def cancel_job(job_id) do
request(:delete, "/jobs/#{job_id}")
end
######################
### Preset Actions ###
######################
@doc "List all preset, may return paginated result"
def list_presets(next_token \\ nil) do
request(:get, "/presets", with_next_token(next_token))
end
@doc "Get description of a single preset"
def read_preset(preset_id) do
request(:get, "/presets/#{preset_id}")
end
@doc "Create a new preset"
def create_preset(data) do
request(:post, "/presets", data)
end
@doc "Delete a preset"
def delete_preset(preset_id) do
request(:delete, "/presets/#{preset_id}")
end
defp with_next_token(nil), do: %{}
defp with_next_token(token), do: %{"PageToken" => token}
defp request(http_method, path, data \\ %{})
defp request(:get, path, data) do
%ExAws.Operation.JSON{
http_method: :get,
path: "/" <> @api_version_date <> path,
params: data,
service: :elastictranscoder,
}
end
defp request(http_method, path, data) do
%ExAws.Operation.JSON{
http_method: http_method,
path: "/" <> @api_version_date <> path,
data: data,
service: :elastictranscoder,
}
end
end