Class: AWSCDK::ECSPatterns::QueueProcessingServiceBaseProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ecs_patterns/queue_processing_service_base_props.rb

Overview

The properties for the base QueueProcessingEc2Service or QueueProcessingFargateService service.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(capacity_provider_strategies: nil, circuit_breaker: nil, cluster: nil, command: nil, cooldown: nil, cpu_target_utilization_percent: nil, deployment_controller: nil, disable_cpu_based_scaling: nil, enable_ecs_managed_tags: nil, enable_execute_command: nil, enable_logging: nil, environment: nil, family: nil, image: nil, log_driver: nil, max_healthy_percent: nil, max_receive_count: nil, max_scaling_capacity: nil, min_healthy_percent: nil, min_scaling_capacity: nil, propagate_tags: nil, queue: nil, retention_period: nil, scaling_steps: nil, secrets: nil, service_name: nil, visibility_timeout: nil, vpc: nil) ⇒ QueueProcessingServiceBaseProps

Returns a new instance of QueueProcessingServiceBaseProps.

Parameters:

  • capacity_provider_strategies (Array<AWSCDK::ECS::CapacityProviderStrategy>, nil) (defaults to: nil)

    A list of Capacity Provider strategies used to place a service.

  • circuit_breaker (AWSCDK::ECS::DeploymentCircuitBreaker, nil) (defaults to: nil)

    Whether to enable the deployment circuit breaker.

  • cluster (AWSCDK::ECS::ICluster, nil) (defaults to: nil)

    The name of the cluster that hosts the service.

  • command (Array<String>, nil) (defaults to: nil)

    The command that is passed to the container.

  • cooldown (AWSCDK::Duration, nil) (defaults to: nil)

    Grace period after scaling activity in seconds.

  • cpu_target_utilization_percent (Numeric, nil) (defaults to: nil)

    The target CPU utilization percentage for CPU based scaling strategy when enabled.

  • deployment_controller (AWSCDK::ECS::DeploymentController, nil) (defaults to: nil)

    Specifies which deployment controller to use for the service.

  • disable_cpu_based_scaling (Boolean, nil) (defaults to: nil)

    Flag to disable CPU based auto scaling strategy on the service.

  • enable_ecs_managed_tags (Boolean, nil) (defaults to: nil)

    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

  • enable_execute_command (Boolean, nil) (defaults to: nil)

    Whether ECS Exec should be enabled.

  • enable_logging (Boolean, nil) (defaults to: nil)

    Flag to indicate whether to enable logging.

  • environment (Hash{String => String}, nil) (defaults to: nil)

    The environment variables to pass to the container.

  • family (String, nil) (defaults to: nil)

    The name of a family that the task definition is registered to.

  • image (AWSCDK::ECS::ContainerImage, nil) (defaults to: nil)

    The image used to start a container.

  • log_driver (AWSCDK::ECS::LogDriver, nil) (defaults to: nil)

    The log driver to use.

  • max_healthy_percent (Numeric, nil) (defaults to: nil)

    The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.

  • max_receive_count (Numeric, nil) (defaults to: nil)

    The maximum number of times that a message can be received by consumers.

  • max_scaling_capacity (Numeric, nil) (defaults to: nil)

    Maximum capacity to scale to.

  • min_healthy_percent (Numeric, nil) (defaults to: nil)

    The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.

  • min_scaling_capacity (Numeric, nil) (defaults to: nil)

    Minimum capacity to scale to.

  • propagate_tags (AWSCDK::ECS::PropagatedTagSource, nil) (defaults to: nil)

    Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.

  • queue (AWSCDK::SQS::IQueue, nil) (defaults to: nil)

    A queue for which to process items from.

  • retention_period (AWSCDK::Duration, nil) (defaults to: nil)

    The number of seconds that Dead Letter Queue retains a message.

  • scaling_steps (Array<AWSCDK::ApplicationAutoScaling::ScalingInterval>, nil) (defaults to: nil)

    The intervals for scaling based on the SQS queue's ApproximateNumberOfMessagesVisible metric.

  • secrets (Hash{String => AWSCDK::ECS::Secret}, nil) (defaults to: nil)

    The secret to expose to the container as an environment variable.

  • service_name (String, nil) (defaults to: nil)

    The name of the service.

  • visibility_timeout (AWSCDK::Duration, nil) (defaults to: nil)

    Timeout of processing a single message.

  • vpc (AWSCDK::EC2::IVPC, nil) (defaults to: nil)

    The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 35

def initialize(capacity_provider_strategies: nil, circuit_breaker: nil, cluster: nil, command: nil, cooldown: nil, cpu_target_utilization_percent: nil, deployment_controller: nil, disable_cpu_based_scaling: nil, enable_ecs_managed_tags: nil, enable_execute_command: nil, enable_logging: nil, environment: nil, family: nil, image: nil, log_driver: nil, max_healthy_percent: nil, max_receive_count: nil, max_scaling_capacity: nil, min_healthy_percent: nil, min_scaling_capacity: nil, propagate_tags: nil, queue: nil, retention_period: nil, scaling_steps: nil, secrets: nil, service_name: nil, visibility_timeout: nil, vpc: nil)
  @capacity_provider_strategies = capacity_provider_strategies.is_a?(Array) ? capacity_provider_strategies.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ECS::CapacityProviderStrategy.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : capacity_provider_strategies
  Jsii::Type.check_type(@capacity_provider_strategies, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "capacityProviderStrategies") unless @capacity_provider_strategies.nil?
  @circuit_breaker = circuit_breaker.is_a?(Hash) ? ::AWSCDK::ECS::DeploymentCircuitBreaker.new(**circuit_breaker.transform_keys(&:to_sym)) : circuit_breaker
  Jsii::Type.check_type(@circuit_breaker, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkRlcGxveW1lbnRDaXJjdWl0QnJlYWtlciJ9")), "circuitBreaker") unless @circuit_breaker.nil?
  @cluster = cluster
  Jsii::Type.check_type(@cluster, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLklDbHVzdGVyIn0=")), "cluster") unless @cluster.nil?
  @command = command
  Jsii::Type.check_type(@command, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "command") unless @command.nil?
  @cooldown = cooldown
  Jsii::Type.check_type(@cooldown, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "cooldown") unless @cooldown.nil?
  @cpu_target_utilization_percent = cpu_target_utilization_percent
  Jsii::Type.check_type(@cpu_target_utilization_percent, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "cpuTargetUtilizationPercent") unless @cpu_target_utilization_percent.nil?
  @deployment_controller = deployment_controller.is_a?(Hash) ? ::AWSCDK::ECS::DeploymentController.new(**deployment_controller.transform_keys(&:to_sym)) : deployment_controller
  Jsii::Type.check_type(@deployment_controller, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkRlcGxveW1lbnRDb250cm9sbGVyIn0=")), "deploymentController") unless @deployment_controller.nil?
  @disable_cpu_based_scaling = disable_cpu_based_scaling
  Jsii::Type.check_type(@disable_cpu_based_scaling, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "disableCpuBasedScaling") unless @disable_cpu_based_scaling.nil?
  @enable_ecs_managed_tags = enable_ecs_managed_tags
  Jsii::Type.check_type(@enable_ecs_managed_tags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableECSManagedTags") unless @enable_ecs_managed_tags.nil?
  @enable_execute_command = enable_execute_command
  Jsii::Type.check_type(@enable_execute_command, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableExecuteCommand") unless @enable_execute_command.nil?
  @enable_logging = enable_logging
  Jsii::Type.check_type(@enable_logging, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableLogging") unless @enable_logging.nil?
  @environment = environment
  Jsii::Type.check_type(@environment, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "environment") unless @environment.nil?
  @family = family
  Jsii::Type.check_type(@family, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "family") unless @family.nil?
  @image = image
  Jsii::Type.check_type(@image, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkNvbnRhaW5lckltYWdlIn0=")), "image") unless @image.nil?
  @log_driver = log_driver
  Jsii::Type.check_type(@log_driver, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkxvZ0RyaXZlciJ9")), "logDriver") unless @log_driver.nil?
  @max_healthy_percent = max_healthy_percent
  Jsii::Type.check_type(@max_healthy_percent, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxHealthyPercent") unless @max_healthy_percent.nil?
  @max_receive_count = max_receive_count
  Jsii::Type.check_type(@max_receive_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxReceiveCount") unless @max_receive_count.nil?
  @max_scaling_capacity = max_scaling_capacity
  Jsii::Type.check_type(@max_scaling_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxScalingCapacity") unless @max_scaling_capacity.nil?
  @min_healthy_percent = min_healthy_percent
  Jsii::Type.check_type(@min_healthy_percent, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minHealthyPercent") unless @min_healthy_percent.nil?
  @min_scaling_capacity = min_scaling_capacity
  Jsii::Type.check_type(@min_scaling_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minScalingCapacity") unless @min_scaling_capacity.nil?
  @propagate_tags = propagate_tags
  Jsii::Type.check_type(@propagate_tags, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLlByb3BhZ2F0ZWRUYWdTb3VyY2UifQ==")), "propagateTags") unless @propagate_tags.nil?
  @queue = queue
  Jsii::Type.check_type(@queue, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3FzLklRdWV1ZSJ9")), "queue") unless @queue.nil?
  @retention_period = retention_period
  Jsii::Type.check_type(@retention_period, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "retentionPeriod") unless @retention_period.nil?
  @scaling_steps = scaling_steps.is_a?(Array) ? scaling_steps.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ApplicationAutoScaling::ScalingInterval.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : scaling_steps
  Jsii::Type.check_type(@scaling_steps, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbmF1dG9zY2FsaW5nLlNjYWxpbmdJbnRlcnZhbCJ9LCJraW5kIjoiYXJyYXkifX0=")), "scalingSteps") unless @scaling_steps.nil?
  @secrets = secrets
  Jsii::Type.check_type(@secrets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuU2VjcmV0In0sImtpbmQiOiJtYXAifX0=")), "secrets") unless @secrets.nil?
  @service_name = service_name
  Jsii::Type.check_type(@service_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceName") unless @service_name.nil?
  @visibility_timeout = visibility_timeout
  Jsii::Type.check_type(@visibility_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "visibilityTimeout") unless @visibility_timeout.nil?
  @vpc = vpc
  Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc") unless @vpc.nil?
end

Instance Attribute Details

#capacity_provider_strategiesArray<AWSCDK::ECS::CapacityProviderStrategy>? (readonly)

Note:

Default: - undefined

A list of Capacity Provider strategies used to place a service.

Returns:



98
99
100
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 98

def capacity_provider_strategies
  @capacity_provider_strategies
end

#circuit_breakerAWSCDK::ECS::DeploymentCircuitBreaker? (readonly)

Note:

Default: - disabled

Whether to enable the deployment circuit breaker.

If this property is defined, circuit breaker will be implicitly enabled.



106
107
108
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 106

def circuit_breaker
  @circuit_breaker
end

#clusterAWSCDK::ECS::ICluster? (readonly)

Note:

Default: - create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.

The name of the cluster that hosts the service.

If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc.

Returns:



113
114
115
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 113

def cluster
  @cluster
end

#commandArray<String>? (readonly)

Note:

Default: - CMD value built into container image.

The command that is passed to the container.

If you provide a shell command as a single string, you have to quote command-line arguments.

Returns:

  • (Array<String>, nil)


120
121
122
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 120

def command
  @command
end

#cooldownAWSCDK::Duration? (readonly)

Note:

Default: 300 seconds

Grace period after scaling activity in seconds.

Subsequent scale outs during the cooldown period are squashed so that only the biggest scale out happens.

Subsequent scale ins during the cooldown period are ignored.



131
132
133
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 131

def cooldown
  @cooldown
end

#cpu_target_utilization_percentNumeric? (readonly)

Note:

Default: - 50

The target CPU utilization percentage for CPU based scaling strategy when enabled.

Returns:

  • (Numeric, nil)


136
137
138
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 136

def cpu_target_utilization_percent
  @cpu_target_utilization_percent
end

#deployment_controllerAWSCDK::ECS::DeploymentController? (readonly)

Note:

Default: - Rolling update (ECS)

Specifies which deployment controller to use for the service.

For more information, see Amazon ECS Deployment Types



144
145
146
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 144

def deployment_controller
  @deployment_controller
end

#disable_cpu_based_scalingBoolean? (readonly)

Note:

Default: - false

Flag to disable CPU based auto scaling strategy on the service.

Returns:

  • (Boolean, nil)


149
150
151
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 149

def disable_cpu_based_scaling
  @disable_cpu_based_scaling
end

#enable_ecs_managed_tagsBoolean? (readonly)

Note:

Default: false

Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

For more information, see Tagging Your Amazon ECS Resources

Returns:

  • (Boolean, nil)


157
158
159
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 157

def enable_ecs_managed_tags
  @enable_ecs_managed_tags
end

#enable_execute_commandBoolean? (readonly)

Note:

Default: - false

Whether ECS Exec should be enabled.

Returns:

  • (Boolean, nil)


162
163
164
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 162

def enable_execute_command
  @enable_execute_command
end

#enable_loggingBoolean? (readonly)

Note:

Default: true

Flag to indicate whether to enable logging.

Returns:

  • (Boolean, nil)


167
168
169
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 167

def enable_logging
  @enable_logging
end

#environmentHash{String => String}? (readonly)

Note:

Default: 'QUEUE_NAME: queue.queueName'

The environment variables to pass to the container.

The variable QUEUE_NAME with value queue.queueName will always be passed.

Returns:

  • (Hash{String => String}, nil)


175
176
177
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 175

def environment
  @environment
end

#familyString? (readonly)

Note:

Default: - Automatically generated name.

The name of a family that the task definition is registered to.

A family groups multiple versions of a task definition.

Returns:

  • (String, nil)


182
183
184
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 182

def family
  @family
end

#imageAWSCDK::ECS::ContainerImage? (readonly)

Note:

Default: - the image of the task definition is used for Fargate, required otherwise

The image used to start a container.

For QueueProcessingFargateService, either image or task_definition must be specified, but not both. For QueueProcessingEc2Service, image is required.

Returns:



190
191
192
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 190

def image
  @image
end

#log_driverAWSCDK::ECS::LogDriver? (readonly)

Note:

Default: - AwsLogDriver if enableLogging is true

The log driver to use.

Returns:



195
196
197
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 195

def log_driver
  @log_driver
end

#max_healthy_percentNumeric? (readonly)

Note:

Default: - default from underlying service.

The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.

Returns:

  • (Numeric, nil)


200
201
202
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 200

def max_healthy_percent
  @max_healthy_percent
end

#max_receive_countNumeric? (readonly)

Note:

Default: 3

The maximum number of times that a message can be received by consumers.

When this value is exceeded for a message the message will be automatically sent to the Dead Letter Queue.

If the queue construct is specified, maxReceiveCount should be omitted.

Returns:

  • (Numeric, nil)


209
210
211
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 209

def max_receive_count
  @max_receive_count
end

#max_scaling_capacityNumeric? (readonly)

Note:

Default: 2

Maximum capacity to scale to.

Returns:

  • (Numeric, nil)


214
215
216
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 214

def max_scaling_capacity
  @max_scaling_capacity
end

#min_healthy_percentNumeric? (readonly)

Note:

Default: - default from underlying service.

The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.

Returns:

  • (Numeric, nil)


219
220
221
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 219

def min_healthy_percent
  @min_healthy_percent
end

#min_scaling_capacityNumeric? (readonly)

Note:

Default: 1

Minimum capacity to scale to.

Returns:

  • (Numeric, nil)


224
225
226
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 224

def min_scaling_capacity
  @min_scaling_capacity
end

#propagate_tagsAWSCDK::ECS::PropagatedTagSource? (readonly)

Note:

Default: - none

Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.

Tags can only be propagated to the tasks within the service during service creation.



231
232
233
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 231

def propagate_tags
  @propagate_tags
end

#queueAWSCDK::SQS::IQueue? (readonly)

Note:

Default: 'SQSQueue with CloudFormation-generated name'

A queue for which to process items from.

If specified and this is a FIFO queue, the queue name must end in the string '.fifo'. See CreateQueue

Returns:



239
240
241
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 239

def queue
  @queue
end

#retention_periodAWSCDK::Duration? (readonly)

Note:

Default: Duration.days(14)

The number of seconds that Dead Letter Queue retains a message.

If the queue construct is specified, retentionPeriod should be omitted.

Returns:



246
247
248
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 246

def retention_period
  @retention_period
end

#scaling_stepsArray<AWSCDK::ApplicationAutoScaling::ScalingInterval>? (readonly)

Note:

Default: [{ upper: 0, change: -1 },{ lower: 100, change: +1 },{ lower: 500, change: +5 }]

The intervals for scaling based on the SQS queue's ApproximateNumberOfMessagesVisible metric.

Maps a range of metric values to a particular scaling behavior. See Simple and Step Scaling Policies for Amazon EC2 Auto Scaling



254
255
256
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 254

def scaling_steps
  @scaling_steps
end

#secretsHash{String => AWSCDK::ECS::Secret}? (readonly)

Note:

Default: - No secret environment variables.

The secret to expose to the container as an environment variable.

Returns:



259
260
261
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 259

def secrets
  @secrets
end

#service_nameString? (readonly)

Note:

Default: - CloudFormation-generated name.

The name of the service.

Returns:

  • (String, nil)


264
265
266
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 264

def service_name
  @service_name
end

#visibility_timeoutAWSCDK::Duration? (readonly)

Note:

Default: Duration.seconds(30)

Timeout of processing a single message.

After dequeuing, the processor has this much time to handle the message and delete it from the queue before it becomes visible again for dequeueing by another processor. Values must be between 0 and (12 hours).

If the queue construct is specified, visibilityTimeout should be omitted.

Returns:



274
275
276
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 274

def visibility_timeout
  @visibility_timeout
end

#vpcAWSCDK::EC2::IVPC? (readonly)

Note:

Default: - uses the VPC defined in the cluster or creates a new VPC.

The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed.

If a vpc is specified, the cluster construct should be omitted. Alternatively, you can omit both vpc and cluster.

Returns:



281
282
283
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 281

def vpc
  @vpc
end

Class Method Details

.jsii_propertiesObject



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 283

def self.jsii_properties
  {
    :capacity_provider_strategies => "capacityProviderStrategies",
    :circuit_breaker => "circuitBreaker",
    :cluster => "cluster",
    :command => "command",
    :cooldown => "cooldown",
    :cpu_target_utilization_percent => "cpuTargetUtilizationPercent",
    :deployment_controller => "deploymentController",
    :disable_cpu_based_scaling => "disableCpuBasedScaling",
    :enable_ecs_managed_tags => "enableECSManagedTags",
    :enable_execute_command => "enableExecuteCommand",
    :enable_logging => "enableLogging",
    :environment => "environment",
    :family => "family",
    :image => "image",
    :log_driver => "logDriver",
    :max_healthy_percent => "maxHealthyPercent",
    :max_receive_count => "maxReceiveCount",
    :max_scaling_capacity => "maxScalingCapacity",
    :min_healthy_percent => "minHealthyPercent",
    :min_scaling_capacity => "minScalingCapacity",
    :propagate_tags => "propagateTags",
    :queue => "queue",
    :retention_period => "retentionPeriod",
    :scaling_steps => "scalingSteps",
    :secrets => "secrets",
    :service_name => "serviceName",
    :visibility_timeout => "visibilityTimeout",
    :vpc => "vpc",
  }
end

Instance Method Details

#to_jsiiObject



316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 316

def to_jsii
  result = {}
  result.merge!({
    "capacityProviderStrategies" => @capacity_provider_strategies,
    "circuitBreaker" => @circuit_breaker,
    "cluster" => @cluster,
    "command" => @command,
    "cooldown" => @cooldown,
    "cpuTargetUtilizationPercent" => @cpu_target_utilization_percent,
    "deploymentController" => @deployment_controller,
    "disableCpuBasedScaling" => @disable_cpu_based_scaling,
    "enableECSManagedTags" => @enable_ecs_managed_tags,
    "enableExecuteCommand" => @enable_execute_command,
    "enableLogging" => @enable_logging,
    "environment" => @environment,
    "family" => @family,
    "image" => @image,
    "logDriver" => @log_driver,
    "maxHealthyPercent" => @max_healthy_percent,
    "maxReceiveCount" => @max_receive_count,
    "maxScalingCapacity" => @max_scaling_capacity,
    "minHealthyPercent" => @min_healthy_percent,
    "minScalingCapacity" => @min_scaling_capacity,
    "propagateTags" => @propagate_tags,
    "queue" => @queue,
    "retentionPeriod" => @retention_period,
    "scalingSteps" => @scaling_steps,
    "secrets" => @secrets,
    "serviceName" => @service_name,
    "visibilityTimeout" => @visibility_timeout,
    "vpc" => @vpc,
  })
  result.compact
end