Class: Google::Apis::AppengineV1beta4::AutomaticScaling

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

Overview

Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics.

Instance Attribute Summary collapse

Instance Method Summary collapse

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_v1beta4/classes.rb', line 396

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

Instance Attribute Details

#cool_down_periodString

The amount of time that the Autoscaler should wait between changes to the number of virtual machines. Applies only to the VM runtime. Corresponds to the JSON property coolDownPeriod

Returns:

  • (String)

332
333
334
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 332

def cool_down_period
  @cool_down_period
end

#cpu_utilizationGoogle::Apis::AppengineV1beta4::CpuUtilization

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


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

def cpu_utilization
  @cpu_utilization
end

#disk_utilizationGoogle::Apis::AppengineV1beta4::DiskUtilization

Target scaling by disk usage (for VM runtimes only). Corresponds to the JSON property diskUtilization


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

def disk_utilization
  @disk_utilization
end

#max_concurrent_requestsFixnum

The number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Default value is chosen based on the runtime. Corresponds to the JSON property maxConcurrentRequests

Returns:

  • (Fixnum)

344
345
346
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 344

def max_concurrent_requests
  @max_concurrent_requests
end

#max_idle_instancesFixnum

The maximum number of idle instances that App Engine should maintain for this version. Corresponds to the JSON property maxIdleInstances

Returns:

  • (Fixnum)

350
351
352
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 350

def max_idle_instances
  @max_idle_instances
end

#max_pending_latencyString

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

Returns:

  • (String)

361
362
363
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 361

def max_pending_latency
  @max_pending_latency
end

#max_total_instancesFixnum

Max number of instances that App Engine should start to handle requests. Corresponds to the JSON property maxTotalInstances

Returns:

  • (Fixnum)

355
356
357
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 355

def max_total_instances
  @max_total_instances
end

#min_idle_instancesFixnum

The minimum number of idle instances that App Engine should maintain for this version. Only applies to the default version of a module, since other versions are not expected to receive significant traffic. Corresponds to the JSON property minIdleInstances

Returns:

  • (Fixnum)

368
369
370
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 368

def min_idle_instances
  @min_idle_instances
end

#min_pending_latencyString

The minimum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it. Corresponds to the JSON property minPendingLatency

Returns:

  • (String)

379
380
381
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 379

def min_pending_latency
  @min_pending_latency
end

#min_total_instancesFixnum

Minimum number of instances that App Engine should maintain. Corresponds to the JSON property minTotalInstances

Returns:

  • (Fixnum)

373
374
375
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 373

def min_total_instances
  @min_total_instances
end

#network_utilizationGoogle::Apis::AppengineV1beta4::NetworkUtilization

Target scaling by network usage (for VM runtimes only). Corresponds to the JSON property networkUtilization


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

def network_utilization
  @network_utilization
end

#request_utilizationGoogle::Apis::AppengineV1beta4::RequestUtilization

Target scaling by request utilization (for VM runtimes only). Corresponds to the JSON property requestUtilization


384
385
386
# File 'generated/google/apis/appengine_v1beta4/classes.rb', line 384

def request_utilization
  @request_utilization
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
# File 'generated/google/apis/appengine_v1beta4/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)
  @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_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
  @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
  @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
  @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
  @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
  @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
  @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
  @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
end