class AwsClients

AwsClients contains a list of aws-clients for use The main reason for their central management is their initialisation testing and stubbing

Public Class Methods

alb(provider = nil) click to toggle source

Clients

# File lib/geoengineer/utils/aws_clients.rb, line 29
def self.alb(provider = nil)
  self.client_cache(
    provider,
    Aws::ElasticLoadBalancingV2::Client
  )
end
api_gateway(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 36
def self.api_gateway(provider = nil)
  self.client_cache(
    provider,
    Aws::APIGateway::Client
  )
end
client_cache(provider, client) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 21
def self.client_cache(provider, client)
  @client_cache ||= {}
  key = "#{client.name}_" + (provider&.terraform_id || GeoEngineer::Resource::DEFAULT_PROVIDER)
  @client_cache[key] ||= client.new(client_params(provider))
end
client_params(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 14
def self.client_params(provider = nil)
  client_params = { stub_responses: stubbed? }
  client_params[:region] = provider.region if provider
  client_params[:retry_limit] = Integer(ENV['AWS_RETRY_LIMIT']) if ENV['AWS_RETRY_LIMIT']
  client_params
end
cloudfront(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 43
def self.cloudfront(provider = nil)
  self.client_cache(
    provider,
    Aws::CloudFront::Client
  )
end
cloudtrail(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 169
def self.cloudtrail(provider = nil)
  self.client_cache(
    provider,
    Aws::CloudTrail::Client
  )
end
cloudwatch(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 50
def self.cloudwatch(provider = nil)
  self.client_cache(
    provider,
    Aws::CloudWatch::Client
  )
end
cloudwatchevents(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 57
def self.cloudwatchevents(provider = nil)
  self.client_cache(
    provider,
    Aws::CloudWatchEvents::Client
  )
end
dynamo(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 64
def self.dynamo(provider = nil)
  self.client_cache(
    provider,
    Aws::DynamoDB::Client
  )
end
ec2(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 71
def self.ec2(provider = nil)
  self.client_cache(
    provider,
    Aws::EC2::Client
  )
end
elasticache(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 78
def self.elasticache(provider = nil)
  self.client_cache(
    provider,
    Aws::ElastiCache::Client
  )
end
elasticsearch(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 85
def self.elasticsearch(provider = nil)
  self.client_cache(
    provider,
    Aws::ElasticsearchService::Client
  )
end
elb(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 92
def self.elb(provider = nil)
  self.client_cache(
    provider,
    Aws::ElasticLoadBalancing::Client
  )
end
emr(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 190
def self.emr(provider = nil)
  self.client_cache(
    provider,
    Aws::EMR::Client
  )
end
iam(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 99
def self.iam(provider = nil)
  self.client_cache(
    provider,
    Aws::IAM::Client
  )
end
kinesis(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 106
def self.kinesis(provider = nil)
  self.client_cache(
    provider,
    Aws::Kinesis::Client
  )
end
kms(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 176
def self.kms(provider = nil)
  self.client_cache(
    provider,
    Aws::KMS::Client
  )
end
lambda(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 113
def self.lambda(provider = nil)
  self.client_cache(
    provider,
    Aws::Lambda::Client
  )
end
rds(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 120
def self.rds(provider = nil)
  self.client_cache(
    provider,
    Aws::RDS::Client
  )
end
redshift(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 127
def self.redshift(provider = nil)
  self.client_cache(
    provider,
    Aws::Redshift::Client
  )
end
route53(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 134
def self.route53(provider = nil)
  self.client_cache(
    provider,
    Aws::Route53::Client
  )
end
s3(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 141
def self.s3(provider = nil)
  self.client_cache(
    provider,
    Aws::S3::Client
  )
end
ses(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 148
def self.ses(provider = nil)
  self.client_cache(
    provider,
    Aws::SES::Client
  )
end
sns(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 155
def self.sns(provider = nil)
  self.client_cache(
    provider,
    Aws::SNS::Client
  )
end
sqs(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 162
def self.sqs(provider = nil)
  self.client_cache(
    provider,
    Aws::SQS::Client
  )
end
stub!() click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 6
def self.stub!
  @stub_aws = true
end
stubbed?() click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 10
def self.stubbed?
  @stub_aws || false
end
waf(provider = nil) click to toggle source
# File lib/geoengineer/utils/aws_clients.rb, line 183
def self.waf(provider = nil)
  self.client_cache(
    provider,
    Aws::WAF::Client
  )
end