Class: Google::Apis::SaasservicemgmtV1beta1::Unit

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

Overview

A unit of deployment that has its lifecycle via a CRUD API using an actuation engine under the hood (e.g. based on Terraform, Helm or a custom implementation provided by a service producer). A building block of a SaaS Tenant.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Unit

Returns a new instance of Unit.



1692
1693
1694
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1692

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

Instance Attribute Details

#annotationsHash<String,String>

Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


1554
1555
1556
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1554

def annotations
  @annotations
end

#conditionsArray<Google::Apis::SaasservicemgmtV1beta1::UnitCondition>

Optional. Output only. A set of conditions which indicate the various conditions this resource can have. Corresponds to the JSON property conditions



1560
1561
1562
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1560

def conditions
  @conditions
end

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1565
1566
1567
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1565

def create_time
  @create_time
end

#dependenciesArray<Google::Apis::SaasservicemgmtV1beta1::UnitDependency>

Optional. Output only. Set of dependencies for this unit. Maximum 10. Corresponds to the JSON property dependencies



1570
1571
1572
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1570

def dependencies
  @dependencies
end

#dependentsArray<Google::Apis::SaasservicemgmtV1beta1::UnitDependency>

Optional. Output only. List of Units that depend on this unit. Unit can only be deprovisioned if this list is empty. Maximum 1000. Corresponds to the JSON property dependents



1576
1577
1578
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1576

def dependents
  @dependents
end

#etagString

Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. Corresponds to the JSON property etag

Returns:

  • (String)


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

def etag
  @etag
end

#input_variablesArray<Google::Apis::SaasservicemgmtV1beta1::UnitVariable>

Optional. Output only. Indicates the current input variables deployed by the unit Corresponds to the JSON property inputVariables



1589
1590
1591
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1589

def input_variables
  @input_variables
end

#labelsHash<String,String>

Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1595
1596
1597
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1595

def labels
  @labels
end

#maintenanceGoogle::Apis::SaasservicemgmtV1beta1::MaintenanceSettings

Captures requested directives for performing future maintenance on the unit. This includes a request for the unit to skip maintenance for a period of time and remain pinned to its current release as well as controls for postponing maintenance scheduled in future. Corresponds to the JSON property maintenance



1603
1604
1605
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1603

def maintenance
  @maintenance
end

#management_modeString

Optional. Immutable. Indicates whether the Unit life cycle is controlled by the user or by the system. Immutable once created. Corresponds to the JSON property managementMode

Returns:

  • (String)


1609
1610
1611
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1609

def management_mode
  @management_mode
end

#nameString

Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/project/locations/location/units/unit" Corresponds to the JSON property name

Returns:

  • (String)


1615
1616
1617
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1615

def name
  @name
end

#ongoing_operationsArray<String>

Optional. Output only. List of concurrent UnitOperations that are operating on this Unit. Corresponds to the JSON property ongoingOperations

Returns:

  • (Array<String>)


1621
1622
1623
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1621

def ongoing_operations
  @ongoing_operations
end

#output_variablesArray<Google::Apis::SaasservicemgmtV1beta1::UnitVariable>

Optional. Output only. Set of key/value pairs corresponding to output variables from execution of actuation templates. The variables are declared in actuation configs (e.g in helm chart or terraform) and the values are fetched and returned by the actuation engine upon completion of execution. Corresponds to the JSON property outputVariables



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

def output_variables
  @output_variables
end

#pending_operationsArray<String>

Optional. Output only. List of pending (wait to be executed) UnitOperations for this unit. Corresponds to the JSON property pendingOperations

Returns:

  • (Array<String>)


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

def pending_operations
  @pending_operations
end

#releaseString

Optional. Output only. The current Release object for this Unit. Corresponds to the JSON property release

Returns:

  • (String)


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

def release
  @release
end

#scheduled_operationsArray<String>

Optional. Output only. List of scheduled UnitOperations for this unit. Corresponds to the JSON property scheduledOperations

Returns:

  • (Array<String>)


1645
1646
1647
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1645

def scheduled_operations
  @scheduled_operations
end

#stateString

Optional. Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to use). Corresponds to the JSON property state

Returns:

  • (String)


1651
1652
1653
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1651

def state
  @state
end

#system_cleanup_atString

Optional. Output only. If set, indicates the time when the system will start removing the unit. Corresponds to the JSON property systemCleanupAt

Returns:

  • (String)


1657
1658
1659
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1657

def system_cleanup_at
  @system_cleanup_at
end

#system_managed_stateString

Optional. Output only. Indicates the system managed state of the unit. Corresponds to the JSON property systemManagedState

Returns:

  • (String)


1662
1663
1664
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1662

def system_managed_state
  @system_managed_state
end

#tenantString

Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) Corresponds to the JSON property tenant

Returns:

  • (String)


1669
1670
1671
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1669

def tenant
  @tenant
end

#uidString

Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. Corresponds to the JSON property uid

Returns:

  • (String)


1678
1679
1680
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1678

def uid
  @uid
end

#unit_kindString

Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. Corresponds to the JSON property unitKind

Returns:

  • (String)


1683
1684
1685
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1683

def unit_kind
  @unit_kind
end

#update_timeString

Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. Corresponds to the JSON property updateTime

Returns:

  • (String)


1690
1691
1692
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1690

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 1697

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @conditions = args[:conditions] if args.key?(:conditions)
  @create_time = args[:create_time] if args.key?(:create_time)
  @dependencies = args[:dependencies] if args.key?(:dependencies)
  @dependents = args[:dependents] if args.key?(:dependents)
  @etag = args[:etag] if args.key?(:etag)
  @input_variables = args[:input_variables] if args.key?(:input_variables)
  @labels = args[:labels] if args.key?(:labels)
  @maintenance = args[:maintenance] if args.key?(:maintenance)
  @management_mode = args[:management_mode] if args.key?(:management_mode)
  @name = args[:name] if args.key?(:name)
  @ongoing_operations = args[:ongoing_operations] if args.key?(:ongoing_operations)
  @output_variables = args[:output_variables] if args.key?(:output_variables)
  @pending_operations = args[:pending_operations] if args.key?(:pending_operations)
  @release = args[:release] if args.key?(:release)
  @scheduled_operations = args[:scheduled_operations] if args.key?(:scheduled_operations)
  @state = args[:state] if args.key?(:state)
  @system_cleanup_at = args[:system_cleanup_at] if args.key?(:system_cleanup_at)
  @system_managed_state = args[:system_managed_state] if args.key?(:system_managed_state)
  @tenant = args[:tenant] if args.key?(:tenant)
  @uid = args[:uid] if args.key?(:uid)
  @unit_kind = args[:unit_kind] if args.key?(:unit_kind)
  @update_time = args[:update_time] if args.key?(:update_time)
end