Class: AWSCDK::ECSPatterns::ApplicationLoadBalancedServiceBase

Inherits:
Constructs::Construct
  • Object
show all
Defined in:
ecs_patterns/application_load_balanced_service_base.rb

Overview

The base class for ApplicationLoadBalancedEc2Service and ApplicationLoadBalancedFargateService services.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props = nil) ⇒ ApplicationLoadBalancedServiceBase

Constructs a new instance of the ApplicationLoadBalancedServiceBase class.

Parameters:



13
14
15
16
17
18
19
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 13

def initialize(scope, id, props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::ECSPatterns::ApplicationLoadBalancedServiceBaseProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzX3BhdHRlcm5zLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkU2VydmljZUJhc2VQcm9wcyJ9")), "props") unless props.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.jsii_overridable_methodsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 21

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :cluster => { kind: :property, name: "cluster", is_optional: false },
    :listener => { kind: :property, name: "listener", is_optional: false },
    :load_balancer => { kind: :property, name: "loadBalancer", is_optional: false },
    :target_group => { kind: :property, name: "targetGroup", is_optional: false },
    :certificate => { kind: :property, name: "certificate", is_optional: true },
    :internal_desired_count => { kind: :property, name: "internalDesiredCount", is_optional: true },
    :redirect_listener => { kind: :property, name: "redirectListener", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :add_service_as_target => { kind: :method, name: "addServiceAsTarget", is_optional: false },
    :create_aws_log_driver => { kind: :method, name: "createAWSLogDriver", is_optional: false },
    :get_default_cluster => { kind: :method, name: "getDefaultCluster", is_optional: false },
  }
end

Instance Method Details

#add_service_as_target(service) ⇒ void

This method returns an undefined value.

Adds service as a target of the target group.

Parameters:



125
126
127
128
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 125

def add_service_as_target(service)
  Jsii::Type.check_type(service, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkJhc2VTZXJ2aWNlIn0=")), "service")
  jsii_call_method("addServiceAsTarget", [service])
end

#certificateAWSCDK::CertificateManager::ICertificate?

Certificate Manager certificate to associate with the load balancer.



77
78
79
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 77

def certificate()
  jsii_get_property("certificate")
end

#clusterAWSCDK::ECS::ICluster

The cluster that hosts the service.



49
50
51
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 49

def cluster()
  jsii_get_property("cluster")
end

#create_aws_log_driver(prefix) ⇒ AWSCDK::ECS::AWSLogDriver

Parameters:

  • prefix (String)

Returns:



132
133
134
135
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 132

def create_aws_log_driver(prefix)
  Jsii::Type.check_type(prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "prefix")
  jsii_call_method("createAWSLogDriver", [prefix])
end

#get_default_cluster(scope, vpc = nil) ⇒ AWSCDK::ECS::Cluster

Returns the default cluster.

Parameters:

Returns:



142
143
144
145
146
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 142

def get_default_cluster(scope, vpc = nil)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc") unless vpc.nil?
  jsii_call_method("getDefaultCluster", [scope, vpc])
end

#internal_desired_countNumeric?

The desired number of instantiations of the task definition to keep running on the service.

The default is 1 for all new services and uses the existing services desired count when updating an existing service if one is not provided.

Returns:

  • (Numeric, nil)


87
88
89
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 87

def internal_desired_count()
  jsii_get_property("internalDesiredCount")
end

#listenerAWSCDK::ElasticLoadBalancingv2::ApplicationListener

The listener for the service.



56
57
58
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 56

def listener()
  jsii_get_property("listener")
end

#load_balancerAWSCDK::ElasticLoadBalancingv2::ApplicationLoadBalancer

The Application Load Balancer for the service.



63
64
65
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 63

def load_balancer()
  jsii_get_property("loadBalancer")
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


42
43
44
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 42

def node()
  jsii_get_property("node")
end

#redirect_listenerAWSCDK::ElasticLoadBalancingv2::ApplicationListener?

The redirect listener for the service if redirectHTTP is enabled.



94
95
96
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 94

def redirect_listener()
  jsii_get_property("redirectListener")
end

#target_groupAWSCDK::ElasticLoadBalancingv2::ApplicationTargetGroup

The target group for the service.



70
71
72
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 70

def target_group()
  jsii_get_property("targetGroup")
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)


101
102
103
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 101

def to_string()
  jsii_call_method("toString", [])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

    The mixins to apply.

Returns:

  • (Constructs::IConstruct)

    This construct for chaining



114
115
116
117
118
119
# File 'ecs_patterns/application_load_balanced_service_base.rb', line 114

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end