Module: AwsConfiguration
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/app/models/concerns/aws_configuration.rb
Overview
AWS Configuration
Class Method Summary collapse
Instance Method Summary collapse
- #aws_auto_scale_client ⇒ Aws::AutoScaling::Client abstract
-
#aws_auto_scaling_configured? ⇒ Boolean
Determine if auto scaling group is configured.
-
#aws_configured? ⇒ Boolean
Determine if AWS is configured.
- #aws_ec2_client ⇒ Aws::EC2::Client abstract
- #aws_ecs_client ⇒ Aws::ECS::Client abstract
- #aws_s3_client ⇒ Aws::S3::Client abstract
-
#secure_fields ⇒ Object
Make sure the password doesn’t get blanked out on an update.
Class Method Details
.included(base) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 9 def self.included(base) base.class_eval do # # Fields # field :aws_region, type: String field :aws_access_key_id, type: String field :aws_secret_access_key, type: String field :aws_bucket_name, type: String field :aws_min_worker_job_count, type: Integer, default: 1 field :aws_ecs_cluster_worker_name, type: String field :aws_ecs_service_worker_name, type: String validates :aws_min_worker_job_count, numericality: { only_integer: true, greater_than: 0 } end end |
Instance Method Details
#aws_auto_scale_client ⇒ Aws::AutoScaling::Client
This method is abstract.
AutoScaling Client
79 80 81 82 83 84 85 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 79 def aws_auto_scale_client return nil unless aws_configured? @auto_scale_client ||= Aws::AutoScaling::Client.new(access_key_id: aws_access_key_id, secret_access_key: aws_secret_access_key, region: aws_region) end |
#aws_auto_scaling_configured? ⇒ Boolean
Determine if auto scaling group is configured
43 44 45 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 43 def aws_auto_scaling_configured? aws_configured? && aws_ecs_cluster_worker_name.present? && aws_ecs_service_worker_name.present? end |
#aws_configured? ⇒ Boolean
Determine if AWS is configured
36 37 38 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 36 def aws_configured? [aws_region.present?, aws_access_key_id.present?, aws_secret_access_key.present?].all? end |
#aws_ec2_client ⇒ Aws::EC2::Client
This method is abstract.
EC2 Client
49 50 51 52 53 54 55 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 49 def aws_ec2_client return nil unless aws_configured? @aws_ec2_client ||= Aws::EC2::Client.new(region: aws_region, credentials: Aws::Credentials.new(aws_access_key_id, aws_secret_access_key)) end |
#aws_ecs_client ⇒ Aws::ECS::Client
This method is abstract.
ECS Client
69 70 71 72 73 74 75 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 69 def aws_ecs_client return nil unless aws_configured? @aws_s3_client ||= Aws::ECS::Client.new(region: aws_region, access_key_id: aws_access_key_id, secret_access_key: aws_secret_access_key) end |
#aws_s3_client ⇒ Aws::S3::Client
This method is abstract.
S3 Client
59 60 61 62 63 64 65 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 59 def aws_s3_client return nil unless aws_configured? @aws_s3_client ||= Aws::S3::Client.new(region: aws_region, access_key_id: aws_access_key_id, secret_access_key: aws_secret_access_key) end |
#secure_fields ⇒ Object
Make sure the password doesn’t get blanked out on an update
29 30 31 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 29 def secure_fields super + i[aws_secret_access_key] end |