From 19f976bfe2481c1a6a128d56b988fa82c340ff32 Mon Sep 17 00:00:00 2001 From: Anthony Accardi Date: Tue, 3 Jun 2014 16:45:44 -0400 Subject: [PATCH] Add support for tags for Data Pipeline --- lib/fog/aws/models/data_pipeline/pipeline.rb | 3 ++- lib/fog/aws/requests/data_pipeline/create_pipeline.rb | 6 ++++-- tests/aws/requests/data_pipeline/pipeline_tests.rb | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/fog/aws/models/data_pipeline/pipeline.rb b/lib/fog/aws/models/data_pipeline/pipeline.rb index e321bba3e..54f516db0 100644 --- a/lib/fog/aws/models/data_pipeline/pipeline.rb +++ b/lib/fog/aws/models/data_pipeline/pipeline.rb @@ -7,6 +7,7 @@ module Fog identity :id, :aliases => 'pipelineId' attribute :name attribute :description + attribute :tags attribute :user_id, :aliases => 'userId' attribute :account_id, :aliases => 'accountId' attribute :state, :aliases => 'pipelineState' @@ -27,7 +28,7 @@ module Fog requires :name requires :unique_id - data = service.create_pipeline(unique_id, name) + data = service.create_pipeline(unique_id, name, nil, tags) merge_attributes(data) true diff --git a/lib/fog/aws/requests/data_pipeline/create_pipeline.rb b/lib/fog/aws/requests/data_pipeline/create_pipeline.rb index 2d6207af6..776dde281 100644 --- a/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +++ b/lib/fog/aws/requests/data_pipeline/create_pipeline.rb @@ -7,15 +7,17 @@ module Fog # ==== 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>: - def create_pipeline(unique_id, name, description=nil) + 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({ @@ -28,7 +30,7 @@ module Fog end class Mock - def create_pipeline(unique_id, name, description=nil) + def create_pipeline(unique_id, name, description=nil, tags=nil) Fog::Mock.not_implemented end end diff --git a/tests/aws/requests/data_pipeline/pipeline_tests.rb b/tests/aws/requests/data_pipeline/pipeline_tests.rb index 0caf79a19..ae8194da9 100644 --- a/tests/aws/requests/data_pipeline/pipeline_tests.rb +++ b/tests/aws/requests/data_pipeline/pipeline_tests.rb @@ -9,7 +9,7 @@ Shindo.tests('AWS::DataPipeline | pipeline_tests', ['aws', 'data_pipeline']) do name = 'fog-test-pipeline-name' description = 'Fog test pipeline' - result = Fog::AWS[:data_pipeline].create_pipeline(unique_id, name, description) + result = Fog::AWS[:data_pipeline].create_pipeline(unique_id, name, description, {}) @pipeline_id = result['pipelineId'] result end