class DTK::Client::Operation::Service::SetRequiredAttributes
Public Class Methods
execute(args = Args.new)
click to toggle source
# File lib/client/operation/service/set_required_attributes.rb, line 21 def self.execute(args = Args.new) wrap_operation(args) do |args| service_instance = args.required(:service_instance) response = rest_get "#{BaseRoute}/#{service_instance}/required_attributes" required_attributes = response.data if required_attributes.empty? OsUtil.print_info("No parameters to set.") else param_bindings = InteractiveWizard.resolve_missing_params(required_attributes) post_body = PostBody.new( :service_instance => service_instance, :av_pairs_hash => param_bindings.inject(Hash.new){|h,r|h.merge(r[:id] => r[:value])} ) response = rest_post "#{BaseRoute}/#{service_instance}/set_attributes", post_body repo_info_args = Args.new( :service_instance => service_instance, :branch => response.required(:branch, :name), :repo_url => response.required(:repo, :url) ) ClientModuleDir::GitRepo.pull_from_service_repo(repo_info_args) nil end end end