Module: Capistrano::Aws

Defined in:
lib/capistrano/aws.rb,
lib/capistrano/aws/client.rb,
lib/capistrano/aws/version.rb

Defined Under Namespace

Classes: AutoMapping

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.credentialsObject



11
12
13
# File 'lib/capistrano/aws/client.rb', line 11

def credentials
  @credentials ||= ::Aws::SharedCredentials.new(profile_name: fetch(:aws_profile)).credentials
end

.ec2Object



15
16
17
18
19
20
21
22
23
# File 'lib/capistrano/aws/client.rb', line 15

def ec2
  @ec2 ||= AutoMapping.new(
    fetch(:aws_regions).map do |region|
      ::Aws::EC2::Client.new(access_key_id: credentials.access_key_id,
                             secret_access_key: credentials.secret_access_key,
                             region: region)
    end
  )
end

Instance Method Details

#instances(options = {}) ⇒ Object



8
9
10
# File 'lib/capistrano/aws.rb', line 8

def instances(options = {})
  ec2.describe_instances(filters: fetch(:ec2_filters)).reservations.instances
end