class RubyAemAws::FullSetStack

Factory for the full-set AEM stack component interfaces.

Attributes

cloud_watch_client[R]
cloudformation_client[R]

Public Class Methods

new(stack_prefix, params) click to toggle source

@param stack_prefix AWS tag: StackPrefix @param params Array of AWS Clients and Resource connections:

  • AutoScalingClient: AWS AutoScalingGroup Client.

  • CloudFormationClient: AWS Cloudformation Client.

  • CloudWatchClient: AWS Cloudwatch Client.

  • CloudWatchLogsClient: AWS Cloudwatch Logs Client.

  • Ec2Resource: AWS EC2 Resource connection.

  • ElbClient: AWS ElasticLoadBalancer v2 Client.

@return new RubyAemAws::FullSetStack instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 38
def initialize(stack_prefix, params)
  @author_aws_clients = {
    CloudWatchClient: params[:CloudWatchClient],
    CloudWatchLogsClient: params[:CloudWatchLogsClient],
    Ec2Resource: params[:Ec2Resource],
    ElbClient: params[:ElbClient]
  }

  @dispatcher_aws_clients = {
    AutoScalingClient: params[:AutoScalingClient],
    CloudWatchClient: params[:CloudWatchClient],
    CloudWatchLogsClient: params[:CloudWatchLogsClient],
    Ec2Resource: params[:Ec2Resource],
    ElbClient: params[:ElbClient]
  }

  @publish_aws_clients = {
    AutoScalingClient: params[:AutoScalingClient],
    CloudWatchClient: params[:CloudWatchClient],
    CloudWatchLogsClient: params[:CloudWatchLogsClient],
    Ec2Resource: params[:Ec2Resource]
  }

  @aem_java_aws_clients = {
    AutoScalingClient: params[:AutoScalingClient],
    CloudWatchClient: params[:CloudWatchClient],
    CloudWatchLogsClient: params[:CloudWatchLogsClient],
    Ec2Resource: params[:Ec2Resource]
  }

  @cloudformation_client = params[:CloudFormationClient]
  @cloud_watch_client = params[:CloudWatchClient]
  @stack_prefix = stack_prefix
end

Public Instance Methods

author() click to toggle source

@return new RubyAemAws::Component::Author instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 79
def author
  RubyAemAws::Component::Author.new(@stack_prefix, @author_aws_clients)
end
author_dispatcher() click to toggle source

@return new RubyAemAws::Component::AuthorDispatcher instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 74
def author_dispatcher
  RubyAemAws::Component::AuthorDispatcher.new(@stack_prefix, @dispatcher_aws_clients)
end
chaos_monkey() click to toggle source

@return new RubyAemAws::Component::ChaosMonkey instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 84
def chaos_monkey
  RubyAemAws::Component::ChaosMonkey.new(@stack_prefix, @aem_java_aws_clients)
end
orchestrator() click to toggle source

@return new RubyAemAws::Component::Orchestrator instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 89
def orchestrator
  RubyAemAws::Component::Orchestrator.new(@stack_prefix, @aem_java_aws_clients)
end
publish() click to toggle source

@return new RubyAemAws::Component::Publish instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 94
def publish
  RubyAemAws::Component::Publish.new(@stack_prefix, @publish_aws_clients)
end
publish_dispatcher() click to toggle source

@return new RubyAemAws::Component::PublishDispatcher instance

# File lib/ruby_aem_aws/architecture/full_set_stack.rb, line 99
def publish_dispatcher
  RubyAemAws::Component::PublishDispatcher.new(@stack_prefix, @dispatcher_aws_clients)
end