Class: Google::Apis::RunV2::GoogleCloudRunV2RevisionTemplate

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

Overview

RevisionTemplate describes the data a revision should have when created from a template.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudRunV2RevisionTemplate

Returns a new instance of GoogleCloudRunV2RevisionTemplate.



1498
1499
1500
# File 'lib/google/apis/run_v2/classes.rb', line 1498

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

Instance Attribute Details

#annotationsHash<String,String>

Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with run. googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules. Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


1417
1418
1419
# File 'lib/google/apis/run_v2/classes.rb', line 1417

def annotations
  @annotations
end

#containersArray<Google::Apis::RunV2::GoogleCloudRunV2Container>

Holds the single container that defines the unit of execution for this Revision. Corresponds to the JSON property containers



1423
1424
1425
# File 'lib/google/apis/run_v2/classes.rb', line 1423

def containers
  @containers
end

#encryption_keyString

A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/ securing/using-cmek Corresponds to the JSON property encryptionKey

Returns:

  • (String)


1430
1431
1432
# File 'lib/google/apis/run_v2/classes.rb', line 1430

def encryption_key
  @encryption_key
end

#execution_environmentString

The sandbox environment to host this Revision. Corresponds to the JSON property executionEnvironment

Returns:

  • (String)


1435
1436
1437
# File 'lib/google/apis/run_v2/classes.rb', line 1435

def execution_environment
  @execution_environment
end

#labelsHash<String,String>

Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource- manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/ configuring/labels. Cloud Run API v2 does not support labels with run. googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1448
1449
1450
# File 'lib/google/apis/run_v2/classes.rb', line 1448

def labels
  @labels
end

#max_instance_request_concurrencyFixnum

Sets the maximum number of requests that each serving instance can receive. Corresponds to the JSON property maxInstanceRequestConcurrency

Returns:

  • (Fixnum)


1453
1454
1455
# File 'lib/google/apis/run_v2/classes.rb', line 1453

def max_instance_request_concurrency
  @max_instance_request_concurrency
end

#revisionString

The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name. Corresponds to the JSON property revision

Returns:

  • (String)


1459
1460
1461
# File 'lib/google/apis/run_v2/classes.rb', line 1459

def revision
  @revision
end

#scalingGoogle::Apis::RunV2::GoogleCloudRunV2RevisionScaling

Settings for revision-level scaling settings. Corresponds to the JSON property scaling



1464
1465
1466
# File 'lib/google/apis/run_v2/classes.rb', line 1464

def scaling
  @scaling
end

#service_accountString

Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


1472
1473
1474
# File 'lib/google/apis/run_v2/classes.rb', line 1472

def 
  @service_account
end

#session_affinityBoolean Also known as: session_affinity?

Enable session affinity. Corresponds to the JSON property sessionAffinity

Returns:

  • (Boolean)


1477
1478
1479
# File 'lib/google/apis/run_v2/classes.rb', line 1477

def session_affinity
  @session_affinity
end

#timeoutString

Max allowed time for an instance to respond to a request. Corresponds to the JSON property timeout

Returns:

  • (String)


1483
1484
1485
# File 'lib/google/apis/run_v2/classes.rb', line 1483

def timeout
  @timeout
end

#volumesArray<Google::Apis::RunV2::GoogleCloudRunV2Volume>

A list of Volumes to make available to containers. Corresponds to the JSON property volumes



1488
1489
1490
# File 'lib/google/apis/run_v2/classes.rb', line 1488

def volumes
  @volumes
end

#vpc_accessGoogle::Apis::RunV2::GoogleCloudRunV2VpcAccess

VPC Access settings. For more information on creating a VPC Connector, visit https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For information on how to configure Cloud Run with an existing VPC Connector, visit https://cloud.google.com/run/docs/configuring/connecting-vpc Corresponds to the JSON property vpcAccess



1496
1497
1498
# File 'lib/google/apis/run_v2/classes.rb', line 1496

def vpc_access
  @vpc_access
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
# File 'lib/google/apis/run_v2/classes.rb', line 1503

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @containers = args[:containers] if args.key?(:containers)
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
  @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
  @labels = args[:labels] if args.key?(:labels)
  @max_instance_request_concurrency = args[:max_instance_request_concurrency] if args.key?(:max_instance_request_concurrency)
  @revision = args[:revision] if args.key?(:revision)
  @scaling = args[:scaling] if args.key?(:scaling)
  @service_account = args[:service_account] if args.key?(:service_account)
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
  @timeout = args[:timeout] if args.key?(:timeout)
  @volumes = args[:volumes] if args.key?(:volumes)
  @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
end