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 |
# 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_ecs_cluster_worker_name, type: String field :aws_ecs_service_worker_name, type: String end end |
Instance Method Details
#aws_auto_scale_client ⇒ Aws::AutoScaling::Client
This method is abstract.
AutoScaling Client
76 77 78 79 80 81 82 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 76 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
40 41 42 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 40 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
33 34 35 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 33 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
46 47 48 49 50 51 52 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 46 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
66 67 68 69 70 71 72 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 66 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
56 57 58 59 60 61 62 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 56 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
26 27 28 |
# File 'lib/app/models/concerns/aws_configuration.rb', line 26 def secure_fields super + %i[aws_secret_access_key] end |