File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ module OpenStax ::Aws
2+ class RdsCluster
3+
4+ attr_reader :raw
5+
6+ delegate_missing_to :@raw
7+
8+ def self . physical_resource_id_attribute
9+ :db_cluster_identifier
10+ end
11+
12+ def initialize ( db_cluster_identifier :, region :)
13+ @raw = Aws ::RDS ::DBCluster . new (
14+ db_cluster_identifier ,
15+ client : Aws ::RDS ::Client . new ( region : region )
16+ )
17+ end
18+
19+ def set_master_password ( password :)
20+ raw . modify ( {
21+ apply_immediately : true ,
22+ master_user_password : password
23+ } )
24+ end
25+
26+ end
27+ end
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ class ResourceFactory
66 'AWS::CloudWatch::Alarm' => OpenStax ::Aws ::Alarm ,
77 'AWS::Events::Rule' => OpenStax ::Aws ::EventRule ,
88 'AWS::RDS::DBInstance' => OpenStax ::Aws ::RdsInstance ,
9+ 'AWS::RDS::DBCluster' => OpenStax ::Aws ::RdsCluster ,
910 'AWS::MSK::Cluster' => OpenStax ::Aws ::MskCluster
1011 }
1112
Original file line number Diff line number Diff line change 11module OpenStax
22 module Aws
3- VERSION = "2.1 .0"
3+ VERSION = "2.2 .0"
44 end
55end
Original file line number Diff line number Diff line change @@ -158,6 +158,7 @@ def without_required_stack_tags
158158require "openstax/aws/event_rule"
159159require "openstax/aws/msk_cluster"
160160require "openstax/aws/rds_instance"
161+ require "openstax/aws/rds_cluster"
161162require "openstax/aws/resource_factory"
162163require "openstax/aws/packer_1_2_5"
163164require "openstax/aws/packer_1_4_1"
Original file line number Diff line number Diff line change 1+ require 'spec_helper'
2+
3+ RSpec . describe OpenStax ::Aws ::RdsCluster do
4+ let ( :cluster ) { described_class . new ( db_cluster_identifier : "foo" , region : "us-east-1" ) }
5+
6+ it "changes the master password" do
7+ expect ( cluster . raw ) . to receive ( :modify ) . with ( { apply_immediately : true , master_user_password : "bar" } )
8+ cluster . set_master_password ( password : "bar" )
9+ end
10+ end
Original file line number Diff line number Diff line change 11require "bundler/setup"
2- require 'dotenv/load'
32require "byebug"
3+ require "dotenv/load"
4+ require "ostruct"
45
56require_relative "../lib/openstax_aws"
67
You can’t perform that action at this time.
0 commit comments