Class: Google::Apis::BatchV1::InstancePolicyOrTemplate
- Inherits:
-
Object
- Object
- Google::Apis::BatchV1::InstancePolicyOrTemplate
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/batch_v1/classes.rb,
lib/google/apis/batch_v1/representations.rb,
lib/google/apis/batch_v1/representations.rb
Overview
InstancePolicyOrTemplate lets you define the type of resources to use for this job either with an InstancePolicy or an instance template. If undefined, Batch picks the type of VM to use and doesn't include optional VM resources such as GPUs and extra disks.
Instance Attribute Summary collapse
-
#block_project_ssh_keys ⇒ Boolean
(also: #block_project_ssh_keys?)
Optional.
-
#install_gpu_drivers ⇒ Boolean
(also: #install_gpu_drivers?)
Set this field true if you want Batch to help fetch drivers from a third party location and install them for GPUs specified in
policy.acceleratorsorinstance_templateon your behalf. -
#install_ops_agent ⇒ Boolean
(also: #install_ops_agent?)
Optional.
-
#instance_template ⇒ String
Name of an instance template used to create VMs.
-
#policy ⇒ Google::Apis::BatchV1::InstancePolicy
InstancePolicy describes an instance type and resources attached to each VM created by this InstancePolicy.
Instance Method Summary collapse
-
#initialize(**args) ⇒ InstancePolicyOrTemplate
constructor
A new instance of InstancePolicyOrTemplate.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ InstancePolicyOrTemplate
Returns a new instance of InstancePolicyOrTemplate.
1267 1268 1269 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1267 def initialize(**args) update!(**args) end |
Instance Attribute Details
#block_project_ssh_keys ⇒ Boolean Also known as: block_project_ssh_keys?
Optional. Set this field to true if you want Batch to block project-level
SSH keys from accessing this job's VMs. Alternatively, you can configure the
job to specify a VM instance template that blocks project-level SSH keys. In
either case, Batch blocks project-level SSH keys while creating the VMs for
this job. Batch allows project-level SSH keys for a job's VMs only if all the
following are true: + This field is undefined or set to false. + The job's
VM instance template (if any) doesn't block project-level SSH keys. Notably,
you can override this behavior by manually updating a VM to block or allow
project-level SSH keys. For more information about blocking project-level SSH
keys, see the Compute Engine documentation: https://cloud.google.com/compute/
docs/connect/restrict-ssh-keys#block-keys
Corresponds to the JSON property blockProjectSshKeys
1230 1231 1232 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1230 def block_project_ssh_keys @block_project_ssh_keys end |
#install_gpu_drivers ⇒ Boolean Also known as: install_gpu_drivers?
Set this field true if you want Batch to help fetch drivers from a third party
location and install them for GPUs specified in policy.accelerators or
instance_template on your behalf. Default is false. For Container-Optimized
Image cases, Batch will install the accelerator driver following milestones of
https://cloud.google.com/container-optimized-os/docs/release-notes. For non
Container-Optimized Image cases, following https://github.com/
GoogleCloudPlatform/compute-gpu-installation/blob/main/linux/
install_gpu_driver.py.
Corresponds to the JSON property installGpuDrivers
1243 1244 1245 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1243 def install_gpu_drivers @install_gpu_drivers end |
#install_ops_agent ⇒ Boolean Also known as: install_ops_agent?
Optional. Set this field true if you want Batch to install Ops Agent on your
behalf. Default is false.
Corresponds to the JSON property installOpsAgent
1250 1251 1252 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1250 def install_ops_agent @install_ops_agent end |
#instance_template ⇒ String
Name of an instance template used to create VMs. Named the field as '
instance_template' instead of 'template' to avoid C++ keyword conflict. Batch
only supports global instance templates from the same project as the job. You
can specify the global instance template as a full or partial URL.
Corresponds to the JSON property instanceTemplate
1259 1260 1261 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1259 def instance_template @instance_template end |
#policy ⇒ Google::Apis::BatchV1::InstancePolicy
InstancePolicy describes an instance type and resources attached to each VM
created by this InstancePolicy.
Corresponds to the JSON property policy
1265 1266 1267 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1265 def policy @policy end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1272 1273 1274 1275 1276 1277 1278 |
# File 'lib/google/apis/batch_v1/classes.rb', line 1272 def update!(**args) @block_project_ssh_keys = args[:block_project_ssh_keys] if args.key?(:block_project_ssh_keys) @install_gpu_drivers = args[:install_gpu_drivers] if args.key?(:install_gpu_drivers) @install_ops_agent = args[:install_ops_agent] if args.key?(:install_ops_agent) @instance_template = args[:instance_template] if args.key?(:instance_template) @policy = args[:policy] if args.key?(:policy) end |