Parent

Class/Module Index [+]

Quicksearch

Fog::AWS::DataPipeline::Real

Attributes

region[R]

Public Class Methods

new(options={}) click to toggle source

Initialize connection to DataPipeline

Notes

options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection

Examples

datapipeline = DataPipeline.new(
 :aws_access_key_id => your_aws_access_key_id,
 :aws_secret_access_key => your_aws_secret_access_key
)

Parameters

  • options<~Hash> - config arguments for connection. Defaults to {}.

    • region<~String> - optional region to use. For instance, ‘eu-west-1’, ‘us-east-1’ and etc.

Returns

# File lib/fog/aws/data_pipeline.rb, line 54
def initialize(options={})
  @use_iam_profile = options[:use_iam_profile]
  @connection_options     = options[:connection_options] || {}

  @version    = '2012-10-29'
  @region     = options[:region]      || 'us-east-1'
  @host       = options[:host]        || "datapipeline.#{@region}.amazonaws.com"
  @path       = options[:path]        || '/'
  @persistent = options[:persistent]  || false
  @port       = options[:port]        || 443
  @scheme     = options[:scheme]      || 'https'
  @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options)

  setup_credentials(options)
end

Public Instance Methods

activate_pipeline(id) click to toggle source

Activate a pipeline docs.aws.amazon.com/datapipeline/latest/APIReference/API_ActivatePipeline.html

Parameters

  • PipelineId <~String> - The ID of the pipeline to activate

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/activate_pipeline.rb, line 12
def activate_pipeline(id)
  params = { 'pipelineId' => id }

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.ActivatePipeline' },
  })

  Fog::JSON.decode(response.body)
end
create_pipeline(unique_id, name, description=nil, tags=nil) click to toggle source

Create a pipeline docs.aws.amazon.com/datapipeline/latest/APIReference/API_CreatePipeline.html

Parameters

  • UniqueId <~String> - A unique ID for of the pipeline

  • Name <~String> - The name of the pipeline

  • Tags <~Hash> - Key/value string pairs to categorize the pipeline

  • Description <~String> - Description of the pipeline

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/create_pipeline.rb, line 15
def create_pipeline(unique_id, name, description=nil, tags=nil)
  params = {
    'uniqueId' => unique_id,
    'name' => name,
  }
  params['tags'] = tags.map {|k,v| {"key" => k.to_s, "value" => v.to_s}} unless tags.nil? || tags.empty?
  params['Description'] = description if description

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.CreatePipeline' },
  })

  Fog::JSON.decode(response.body)
end
delete_pipeline(id) click to toggle source

Delete a pipeline docs.aws.amazon.com/datapipeline/latest/APIReference/API_DeletePipeline.html

Parameters

  • PipelineId <~String> - The id of the pipeline to delete

Returns

  • success<~Boolean> - Whether the delete was successful

# File lib/fog/aws/requests/data_pipeline/delete_pipeline.rb, line 11
def delete_pipeline(id)
  params = { 'pipelineId' => id }

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.DeletePipeline' },
  })

  200 == response.status
end
describe_objects(id, objectIds, options={}) click to toggle source

Queries a pipeline for the names of objects that match a specified set of conditions. docs.aws.amazon.com/datapipeline/latest/APIReference/API_DescribeObjects.html

Parameters

  • PipelineId <~String> - The ID of the pipeline

  • ObjectIds <~Array> - Identifiers of the pipeline objects that contain the definitions

    to be described. You can pass as many as 25 identifiers in a
    single call to DescribeObjects.
  • Options <~Hash> - A Hash of additional options desrcibed in the API docs.

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/describe_objects.rb, line 16
def describe_objects(id, objectIds, options={})
  params = options.merge({
    'pipelineId' => id,
    'objectIds' => objectIds,
  })

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.DescribeObjects' },
  })

  Fog::JSON.decode(response.body)
end
describe_pipelines(ids) click to toggle source

Describe pipelines docs.aws.amazon.com/datapipeline/latest/APIReference/API_DescribePipelines.html

Parameters

  • PipelineIds <~String> - ID of pipeline to retrieve information for

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/describe_pipelines.rb, line 12
def describe_pipelines(ids)
  params = {}
  params['pipelineIds'] = ids

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.DescribePipelines' },
  })

  Fog::JSON.decode(response.body)
end
get_pipeline_definition(id) click to toggle source

Get pipeline definition JSON docs.aws.amazon.com/datapipeline/latest/APIReference/API_GetPipelineDefinition.html

Parameters

  • PipelineId <~String> - The ID of the pipeline

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/get_pipeline_definition.rb, line 12
def get_pipeline_definition(id)
  params = {
    'pipelineId' => id,
  }

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.GetPipelineDefinition' },
  })

  Fog::JSON.decode(response.body)
end
list_pipelines(options={}) click to toggle source

List all pipelines docs.aws.amazon.com/datapipeline/latest/APIReference/API_ListPipelines.html

Parameters

  • Marker <~String> - The starting point for the results to be returned.

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/list_pipelines.rb, line 12
def list_pipelines(options={})
  params = {}
  params['Marker'] = options[:marker] if options[:marker]

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.ListPipelines' },
  })

  Fog::JSON.decode(response.body)
end
owner_id() click to toggle source
# File lib/fog/aws/data_pipeline.rb, line 70
def owner_id
  @owner_id ||= security_groups.get('default').owner_id
end
put_pipeline_definition(id, objects) click to toggle source

Put raw pipeline definition JSON docs.aws.amazon.com/datapipeline/latest/APIReference/API_PutPipelineDefinition.html

Parameters

  • PipelineId <~String> - The ID of the pipeline

  • PipelineObjects <~String> - Objects in the pipeline

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 13
def put_pipeline_definition(id, objects)
  params = {
    'pipelineId' => id,
    'pipelineObjects' => transform_objects(objects),
  }

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.PutPipelineDefinition' },
  })

  Fog::JSON.decode(response.body)
end
query_objects(id, sphere, options={}) click to toggle source

Queries a pipeline for the names of objects that match a specified set of conditions. docs.aws.amazon.com/datapipeline/latest/APIReference/API_QueryObjects.html

Parameters

  • PipelineId <~String> - The ID of the pipeline

  • Sphere <~String> - Specifies whether the query applies to components or instances.

    Allowable values: COMPONENT, INSTANCE, ATTEMPT.
  • Marker <~String> - The starting point for the results to be returned.

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

# File lib/fog/aws/requests/data_pipeline/query_objects.rb, line 15
def query_objects(id, sphere, options={})
  params = {
    'pipelineId' => id,
    'sphere' => sphere,
  }
  params['marker'] = options[:marker] if options[:marker]

  response = request({
    :body => Fog::JSON.encode(params),
    :headers => { 'X-Amz-Target' => 'DataPipeline.QueryObjects' },
  })

  Fog::JSON.decode(response.body)
end
reload() click to toggle source
# File lib/fog/aws/data_pipeline.rb, line 74
def reload
  @connection.reset
end
transform_objects(objects) click to toggle source

Take a list of pipeline object hashes as specified in the Data Pipeline JSON format and transform it into the format expected by the API

# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 29
def transform_objects(objects)
  objects.map { |object| JSONObject.new(object).to_api }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.