Class: AWSCDK::ECSPatterns::QueueProcessingServiceBaseProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ECSPatterns::QueueProcessingServiceBaseProps
- Defined in:
- ecs_patterns/queue_processing_service_base_props.rb
Overview
The properties for the base QueueProcessingEc2Service or QueueProcessingFargateService service.
Direct Known Subclasses
QueueProcessingEC2ServiceProps, QueueProcessingFargateServiceProps
Instance Attribute Summary collapse
-
#capacity_provider_strategies ⇒ Array<AWSCDK::ECS::CapacityProviderStrategy>?
readonly
A list of Capacity Provider strategies used to place a service.
-
#circuit_breaker ⇒ AWSCDK::ECS::DeploymentCircuitBreaker?
readonly
Whether to enable the deployment circuit breaker.
-
#cluster ⇒ AWSCDK::ECS::ICluster?
readonly
The name of the cluster that hosts the service.
-
#command ⇒ Array<String>?
readonly
The command that is passed to the container.
-
#cooldown ⇒ AWSCDK::Duration?
readonly
Grace period after scaling activity in seconds.
-
#cpu_target_utilization_percent ⇒ Numeric?
readonly
The target CPU utilization percentage for CPU based scaling strategy when enabled.
-
#deployment_controller ⇒ AWSCDK::ECS::DeploymentController?
readonly
Specifies which deployment controller to use for the service.
-
#disable_cpu_based_scaling ⇒ Boolean?
readonly
Flag to disable CPU based auto scaling strategy on the service.
-
#enable_ecs_managed_tags ⇒ Boolean?
readonly
Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
-
#enable_execute_command ⇒ Boolean?
readonly
Whether ECS Exec should be enabled.
-
#enable_logging ⇒ Boolean?
readonly
Flag to indicate whether to enable logging.
-
#environment ⇒ Hash{String => String}?
readonly
The environment variables to pass to the container.
-
#family ⇒ String?
readonly
The name of a family that the task definition is registered to.
-
#image ⇒ AWSCDK::ECS::ContainerImage?
readonly
The image used to start a container.
-
#log_driver ⇒ AWSCDK::ECS::LogDriver?
readonly
The log driver to use.
-
#max_healthy_percent ⇒ Numeric?
readonly
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?
readonly
The maximum number of times that a message can be received by consumers.
-
#max_scaling_capacity ⇒ Numeric?
readonly
Maximum capacity to scale to.
-
#min_healthy_percent ⇒ Numeric?
readonly
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?
readonly
Minimum capacity to scale to.
-
#propagate_tags ⇒ AWSCDK::ECS::PropagatedTagSource?
readonly
Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.
-
#queue ⇒ AWSCDK::SQS::IQueue?
readonly
A queue for which to process items from.
-
#retention_period ⇒ AWSCDK::Duration?
readonly
The number of seconds that Dead Letter Queue retains a message.
-
#scaling_steps ⇒ Array<AWSCDK::ApplicationAutoScaling::ScalingInterval>?
readonly
The intervals for scaling based on the SQS queue's ApproximateNumberOfMessagesVisible metric.
-
#secrets ⇒ Hash{String => AWSCDK::ECS::Secret}?
readonly
The secret to expose to the container as an environment variable.
-
#service_name ⇒ String?
readonly
The name of the service.
-
#visibility_timeout ⇒ AWSCDK::Duration?
readonly
Timeout of processing a single message.
-
#vpc ⇒ AWSCDK::EC2::IVPC?
readonly
The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed.
Class Method Summary collapse
Instance Method Summary collapse
-
#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
constructor
A new instance of QueueProcessingServiceBaseProps.
- #to_jsii ⇒ Object
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.
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 = 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 = 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_strategies ⇒ Array<AWSCDK::ECS::CapacityProviderStrategy>? (readonly)
Default: - undefined
A list of Capacity Provider strategies used to place a service.
98 99 100 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 98 def capacity_provider_strategies @capacity_provider_strategies end |
#circuit_breaker ⇒ AWSCDK::ECS::DeploymentCircuitBreaker? (readonly)
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 |
#cluster ⇒ AWSCDK::ECS::ICluster? (readonly)
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.
113 114 115 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 113 def cluster @cluster end |
#command ⇒ Array<String>? (readonly)
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.
120 121 122 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 120 def command @command end |
#cooldown ⇒ AWSCDK::Duration? (readonly)
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_percent ⇒ Numeric? (readonly)
Default: - 50
The target CPU utilization percentage for CPU based scaling strategy when enabled.
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_controller ⇒ AWSCDK::ECS::DeploymentController? (readonly)
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_scaling ⇒ Boolean? (readonly)
Default: - false
Flag to disable CPU based auto scaling strategy on the service.
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_tags ⇒ Boolean? (readonly)
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
157 158 159 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 157 def @enable_ecs_managed_tags end |
#enable_execute_command ⇒ Boolean? (readonly)
Default: - false
Whether ECS Exec should be enabled.
162 163 164 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 162 def enable_execute_command @enable_execute_command end |
#enable_logging ⇒ Boolean? (readonly)
Default: true
Flag to indicate whether to enable logging.
167 168 169 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 167 def enable_logging @enable_logging end |
#environment ⇒ Hash{String => String}? (readonly)
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.
175 176 177 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 175 def environment @environment end |
#family ⇒ String? (readonly)
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.
182 183 184 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 182 def family @family end |
#image ⇒ AWSCDK::ECS::ContainerImage? (readonly)
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.
190 191 192 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 190 def image @image end |
#log_driver ⇒ AWSCDK::ECS::LogDriver? (readonly)
Default: - AwsLogDriver if enableLogging is true
The log driver to use.
195 196 197 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 195 def log_driver @log_driver end |
#max_healthy_percent ⇒ Numeric? (readonly)
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.
200 201 202 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 200 def max_healthy_percent @max_healthy_percent end |
#max_receive_count ⇒ Numeric? (readonly)
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.
209 210 211 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 209 def max_receive_count @max_receive_count end |
#max_scaling_capacity ⇒ Numeric? (readonly)
Default: 2
Maximum capacity to scale to.
214 215 216 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 214 def max_scaling_capacity @max_scaling_capacity end |
#min_healthy_percent ⇒ Numeric? (readonly)
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.
219 220 221 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 219 def min_healthy_percent @min_healthy_percent end |
#min_scaling_capacity ⇒ Numeric? (readonly)
Default: 1
Minimum capacity to scale to.
224 225 226 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 224 def min_scaling_capacity @min_scaling_capacity end |
#propagate_tags ⇒ AWSCDK::ECS::PropagatedTagSource? (readonly)
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 end |
#queue ⇒ AWSCDK::SQS::IQueue? (readonly)
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
239 240 241 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 239 def queue @queue end |
#retention_period ⇒ AWSCDK::Duration? (readonly)
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.
246 247 248 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 246 def retention_period @retention_period end |
#scaling_steps ⇒ Array<AWSCDK::ApplicationAutoScaling::ScalingInterval>? (readonly)
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 |
#secrets ⇒ Hash{String => AWSCDK::ECS::Secret}? (readonly)
Default: - No secret environment variables.
The secret to expose to the container as an environment variable.
259 260 261 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 259 def secrets @secrets end |
#service_name ⇒ String? (readonly)
Default: - CloudFormation-generated name.
The name of the service.
264 265 266 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 264 def service_name @service_name end |
#visibility_timeout ⇒ AWSCDK::Duration? (readonly)
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.
274 275 276 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 274 def visibility_timeout @visibility_timeout end |
#vpc ⇒ AWSCDK::EC2::IVPC? (readonly)
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.
281 282 283 |
# File 'ecs_patterns/queue_processing_service_base_props.rb', line 281 def vpc @vpc end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |