Class: Google::Apis::AppengineV1beta::AutomaticScaling

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/appengine_v1beta/classes.rb,
generated/google/apis/appengine_v1beta/representations.rb,
generated/google/apis/appengine_v1beta/representations.rb

Overview

Automatic scaling is based on request rate, response latencies, and other application metrics.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ AutomaticScaling

Returns a new instance of AutomaticScaling.


396
397
398
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 396

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cool_down_periodString

The time period that the Autoscaler (https://cloud.google.com/compute/docs/ autoscaler/) should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Only applicable in the App Engine flexible environment. Corresponds to the JSON property coolDownPeriod

Returns:

  • (String)

320
321
322
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 320

def cool_down_period
  @cool_down_period
end

#cpu_utilizationGoogle::Apis::AppengineV1beta::CpuUtilization

Target scaling by CPU usage. Corresponds to the JSON property cpuUtilization


325
326
327
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 325

def cpu_utilization
  @cpu_utilization
end

#custom_metricsArray<Google::Apis::AppengineV1beta::CustomMetric>

Target scaling by user-provided metrics. Only applicable in the App Engine flexible environment. Corresponds to the JSON property customMetrics


331
332
333
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 331

def custom_metrics
  @custom_metrics
end

#disk_utilizationGoogle::Apis::AppengineV1beta::DiskUtilization

Target scaling by disk usage. Only applicable in the App Engine flexible environment. Corresponds to the JSON property diskUtilization


337
338
339
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 337

def disk_utilization
  @disk_utilization
end

#max_concurrent_requestsFixnum

Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value. Corresponds to the JSON property maxConcurrentRequests

Returns:

  • (Fixnum)

343
344
345
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 343

def max_concurrent_requests
  @max_concurrent_requests
end

#max_idle_instancesFixnum

Maximum number of idle instances that should be maintained for this version. Corresponds to the JSON property maxIdleInstances

Returns:

  • (Fixnum)

348
349
350
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 348

def max_idle_instances
  @max_idle_instances
end

#max_pending_latencyString

Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. Corresponds to the JSON property maxPendingLatency

Returns:

  • (String)

354
355
356
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 354

def max_pending_latency
  @max_pending_latency
end

#max_total_instancesFixnum

Maximum number of instances that should be started to handle requests for this version. Corresponds to the JSON property maxTotalInstances

Returns:

  • (Fixnum)

360
361
362
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 360

def max_total_instances
  @max_total_instances
end

#min_idle_instancesFixnum

Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service. Corresponds to the JSON property minIdleInstances

Returns:

  • (Fixnum)

366
367
368
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 366

def min_idle_instances
  @min_idle_instances
end

#min_pending_latencyString

Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. Corresponds to the JSON property minPendingLatency

Returns:

  • (String)

372
373
374
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 372

def min_pending_latency
  @min_pending_latency
end

#min_total_instancesFixnum

Minimum number of running instances that should be maintained for this version. Corresponds to the JSON property minTotalInstances

Returns:

  • (Fixnum)

377
378
379
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 377

def min_total_instances
  @min_total_instances
end

#network_utilizationGoogle::Apis::AppengineV1beta::NetworkUtilization

Target scaling by network usage. Only applicable in the App Engine flexible environment. Corresponds to the JSON property networkUtilization


383
384
385
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 383

def network_utilization
  @network_utilization
end

#request_utilizationGoogle::Apis::AppengineV1beta::RequestUtilization

Target scaling by request utilization. Only applicable in the App Engine flexible environment. Corresponds to the JSON property requestUtilization


389
390
391
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 389

def request_utilization
  @request_utilization
end

#standard_scheduler_settingsGoogle::Apis::AppengineV1beta::StandardSchedulerSettings

Scheduler settings for standard environment. Corresponds to the JSON property standardSchedulerSettings


394
395
396
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 394

def standard_scheduler_settings
  @standard_scheduler_settings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
# File 'generated/google/apis/appengine_v1beta/classes.rb', line 401

def update!(**args)
  @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period)
  @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
  @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
  @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
  @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests)
  @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances)
  @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
  @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
  @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
  @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
  @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
  @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
  @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
  @standard_scheduler_settings = args[:standard_scheduler_settings] if args.key?(:standard_scheduler_settings)
end