class InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControl

Public Class Methods

new(options = {}) click to toggle source
# File lib/instance_agent/plugins/codedeploy/codedeploy_control.rb, line 10
def initialize(options = {})
  @options = options.update({
    :http_read_timeout => InstanceAgent::Config.config[:http_read_timeout]
  })

  if InstanceAgent::Config.config[:log_aws_wire]
    @options = options.update({
      # wire logs might be huge; customers should be careful about turning them on
      # allow 1GB of old wire logs in 64MB chunks
      :logger => Logger.new(
      File.join(InstanceAgent::Config.config[:log_dir], "#{InstanceAgent::Config.config[:program_name]}.aws_wire.log"),
      16,
      64 * 1024 * 1024),
      :http_wire_trace => true})
  end

  if InstanceAgent::Config.config[:proxy_uri]
    @options = options.update({
      :http_proxy => URI(InstanceAgent::Config.config[:proxy_uri]) })
  end
end

Public Instance Methods

get_client() click to toggle source
# File lib/instance_agent/plugins/codedeploy/codedeploy_control.rb, line 40
def get_client
  Aws::CodeDeployCommand::Client.new(@options)
end
ssl_verify_peer() click to toggle source
# File lib/instance_agent/plugins/codedeploy/codedeploy_control.rb, line 44
def ssl_verify_peer
  get_client.config.ssl_verify_peer
end
validate_ssl_config() click to toggle source
# File lib/instance_agent/plugins/codedeploy/codedeploy_control.rb, line 32
def validate_ssl_config
  errors = []
  errors << "Invalid aws sdk security configuration" unless ssl_verify_peer
  errors << "Invalid server certificate" unless verify_cert_fields
  errors.each{|error| InstanceAgent::Log.error("Error validating the SSL configuration: " + error)}
  errors.empty?
end
verify_cert_fields() click to toggle source
# File lib/instance_agent/plugins/codedeploy/codedeploy_control.rb, line 48
def verify_cert_fields
  deploy_control_endpoint = get_client.config.endpoint
  begin
    cert_verifier = InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier.new(deploy_control_endpoint)
    cert_verifier.verify_cert
  rescue Exception => e
    InstanceAgent::Log.error("#{self.class.to_s}: Error during certificate verification on codedeploy endpoint #{deploy_control_endpoint}")
    InstanceAgent::Log.debug("#{self.class.to_s}: #{e.inspect}")
    false
  end
end