Method: Resources::ServiceDefinition#update

Defined in:
lib/pvdgm-svc-client/resources/service_definition.rb

#updateObject



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/pvdgm-svc-client/resources/service_definition.rb', line 103

def update
  clear_default = ->(field) { field == "^" ? '' : field }
  tp_id = third_party_id
  sd_id = service_definition_id
  show
  params = { 
    service_definition: {
      service_id: service_id,
      hostname: prompter.ask("\nHost name: ")  { |q| q.default = @sd_hostname; q.validate = /\A.{1,255}\z/; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nNot a valid host name" },
      port: get_port_number(@sd_port),
      base_uri: prompter.ask("\nBase URI: ", String) { |q| q.default = @sd_base_uri.gsub("<%=", "<%%="); q.validate = /\A.{1,255}\z/; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nNot a valid base URI" }.gsub("<%%=", "<%="),
      username: prompter.ask("\nUser name (^ to clear): ", clear_default) { |q| q.default = @sd_username; q.validate = /\A.{0,255}\z/; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nNot a valid user name" },
      service_class: prompter.ask("\nService Class: ")  { |q| q.default = @sd_service_class; q.validate = /\A.{1,255}\z/; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nNot a valid service class" }
    }
  }
  password = prompter.ask("\nPassword (^ to clear): ", clear_default) { |q| q.default = @sd_password }
  token = prompter.ask("\nToken (^ to clear): ", clear_default) { |q| q.default = @sd_token }
  if (password && password.size > 0) || (token && token.size > 0) 
    params[:credential] = {
    }
    params[:credential][:password] = password if password && password.size > 0
    params[:credential][:token] = token if token && token.size > 0
  end
  result = put("services/third_parties/#{tp_id}/service_definitions/#{sd_id}", params)
  puts "\nID of updated service definition: #{result['id']}"
  puts
end