Sha256: f8fdcdad03627400c6f5e769da3af9cb4826e6838c4e40edfe4c37b45943dc5a
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
require 'vcloud_network_configurator/vcloud_auth_request' require 'vcloud_network_configurator/vcloud_configure_request' require 'vcloud_network_configurator/vcloud_check_for_configure_task_request' require 'vcloud_network_configurator/configure_task' class EdgeGateway def initialize options @options = options @vcloud_settings = VcloudSettings.new( { url: @options[:api_url], edge_gateway_uuid: @options[:org_edgegateway_uuid] } ) end def apply_configuration auth_header = authorize_request configure_request = VcloudConfigureRequest.new(@vcloud_settings, auth_header, @options[:environment], @options[:component], @options[:rules_directory]) configure_request.submit if configure_request.success? check_for_success auth_header, ConfigureTask.new(configure_request.response_body) return true else puts "Failed to configure the edge gateway" return false end end private def authorize_request auth_request = VcloudAuthRequest.new(@vcloud_settings, "#{@options[:username]}@#{@options[:organization]}", @options[:password]) auth_request.submit abort("Could not authenticate user") unless auth_request.authenticated? auth_request.auth_response["x-vcloud-authorization"] end def check_for_success auth_header, configure_task begin puts "\n\n\nSleeping for 10 seconds before the next check for success \n\n\n" sleep(10) unless ENV['GEM_ENV'] == "test" response = VcloudCheckForConfigureTaskRequest.new(auth_header, configure_task.url).submit configure_task = ConfigureTask.new(response.body) if configure_task.error? abort("Failed to configure the edge gateway") end end while not configure_task.complete? puts "\n\n\nSuccessfully configured the edge gateway" end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
vcloud-net-spinner-0.1.2 | lib/vcloud_network_configurator/edge_gateway.rb |
vcloud-network-configurator-0.1.0 | lib/vcloud_network_configurator/edge_gateway.rb |