Class: Google::Apis::WorkstationsV1beta::WorkstationConfig

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

Overview

A set of configuration options that describe how a workstation runs. Workstation configurations are intended to be shared across multiple workstations.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ WorkstationConfig

Returns a new instance of WorkstationConfig.



1709
1710
1711
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1709

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

Instance Attribute Details

#annotationsHash<String,String>

Client-specified annotations. Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


1578
1579
1580
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1578

def annotations
  @annotations
end

#conditionsArray<Google::Apis::WorkstationsV1beta::Status>

Output only. Status conditions describing the current resource state. Corresponds to the JSON property conditions



1583
1584
1585
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1583

def conditions
  @conditions
end

#containerGoogle::Apis::WorkstationsV1beta::Container

A Docker container. Corresponds to the JSON property container



1588
1589
1590
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1588

def container
  @container
end

#create_timeString

Output only. Time when this resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1593
1594
1595
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1593

def create_time
  @create_time
end

#degradedBoolean Also known as: degraded?

Output only. Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field. Corresponds to the JSON property degraded

Returns:

  • (Boolean)


1600
1601
1602
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1600

def degraded
  @degraded
end

#delete_timeString

Output only. Time when this resource was soft-deleted. Corresponds to the JSON property deleteTime

Returns:

  • (String)


1606
1607
1608
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1606

def delete_time
  @delete_time
end

#display_nameString

Human-readable name for this resource. Corresponds to the JSON property displayName

Returns:

  • (String)


1611
1612
1613
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1611

def display_name
  @display_name
end

#enable_audit_agentBoolean Also known as: enable_audit_agent?

Whether to enable Linux auditd logging on the workstation. When enabled, a service account must also be specified that has logging.buckets.write permission on the project. Operating system audit logging is distinct from Cloud Audit Logs. Corresponds to the JSON property enableAuditAgent

Returns:

  • (Boolean)


1619
1620
1621
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1619

def enable_audit_agent
  @enable_audit_agent
end

#encryption_keyGoogle::Apis::WorkstationsV1beta::CustomerEncryptionKey

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow Cloud KMS best practices. Corresponds to the JSON property encryptionKey



1629
1630
1631
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1629

def encryption_key
  @encryption_key
end

#etagString

Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding. Corresponds to the JSON property etag

Returns:

  • (String)


1635
1636
1637
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1635

def etag
  @etag
end

#hostGoogle::Apis::WorkstationsV1beta::Host

Runtime host for a workstation. Corresponds to the JSON property host



1640
1641
1642
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1640

def host
  @host
end

#idle_timeoutString

Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of 0s indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide duration terminated by s for seconds—for example, 7200s (2 hours). The default is 1200s (20 minutes). Corresponds to the JSON property idleTimeout

Returns:

  • (String)


1650
1651
1652
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1650

def idle_timeout
  @idle_timeout
end

#labelsHash<String,String>

Client-specified labels that are applied to the resource and that are also propagated to the underlying Compute Engine resources. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1656
1657
1658
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1656

def labels
  @labels
end

#nameString

Full name of this resource. Corresponds to the JSON property name

Returns:

  • (String)


1661
1662
1663
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1661

def name
  @name
end

#persistent_directoriesArray<Google::Apis::WorkstationsV1beta::PersistentDirectory>

Directories to persist across workstation sessions. Corresponds to the JSON property persistentDirectories



1666
1667
1668
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1666

def persistent_directories
  @persistent_directories
end

#readiness_checksArray<Google::Apis::WorkstationsV1beta::ReadinessCheck>

Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes. Corresponds to the JSON property readinessChecks



1673
1674
1675
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1673

def readiness_checks
  @readiness_checks
end

#reconcilingBoolean Also known as: reconciling?

Output only. Indicates whether this resource is currently being updated to match its intended state. Corresponds to the JSON property reconciling

Returns:

  • (Boolean)


1679
1680
1681
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1679

def reconciling
  @reconciling
end

#running_timeoutString

Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idleTimeout and runningTimeout parameters are independent of each other. Note that the runningTimeout parameter shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by s for seconds—for example, 54000s (15 hours). Defaults to 43200s (12 hours). A value of 0 indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than 0 and less than 86400s (24 hours). Warning: A value of 0s indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. Corresponds to the JSON property runningTimeout

Returns:

  • (String)


1697
1698
1699
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1697

def running_timeout
  @running_timeout
end

#uidString

Output only. A system-assigned unique identifier for this resource. Corresponds to the JSON property uid

Returns:

  • (String)


1702
1703
1704
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1702

def uid
  @uid
end

#update_timeString

Output only. Time when this resource was most recently updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


1707
1708
1709
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1707

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
# File 'lib/google/apis/workstations_v1beta/classes.rb', line 1714

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @conditions = args[:conditions] if args.key?(:conditions)
  @container = args[:container] if args.key?(:container)
  @create_time = args[:create_time] if args.key?(:create_time)
  @degraded = args[:degraded] if args.key?(:degraded)
  @delete_time = args[:delete_time] if args.key?(:delete_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @enable_audit_agent = args[:enable_audit_agent] if args.key?(:enable_audit_agent)
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
  @etag = args[:etag] if args.key?(:etag)
  @host = args[:host] if args.key?(:host)
  @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @persistent_directories = args[:persistent_directories] if args.key?(:persistent_directories)
  @readiness_checks = args[:readiness_checks] if args.key?(:readiness_checks)
  @reconciling = args[:reconciling] if args.key?(:reconciling)
  @running_timeout = args[:running_timeout] if args.key?(:running_timeout)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end