Class: Google::Apis::SaasservicemgmtV1::Unit

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/saasservicemgmt_v1/classes.rb,
lib/google/apis/saasservicemgmt_v1/representations.rb,
lib/google/apis/saasservicemgmt_v1/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.



1636
1637
1638
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1636

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>)


1480
1481
1482
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1480

def annotations
  @annotations
end

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

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



1486
1487
1488
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1486

def conditions
  @conditions
end

#create_timeString

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

Returns:

  • (String)


1491
1492
1493
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1491

def create_time
  @create_time
end

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

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



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

def dependencies
  @dependencies
end

#dependentsArray<Google::Apis::SaasservicemgmtV1::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



1502
1503
1504
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1502

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)


1509
1510
1511
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1509

def etag
  @etag
end

#flag_revisionsArray<String>

Optional. Output only. Flag revisions used by this Unit. Corresponds to the JSON property flagRevisions

Returns:

  • (Array<String>)


1514
1515
1516
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1514

def flag_revisions
  @flag_revisions
end

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

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



1520
1521
1522
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1520

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>)


1526
1527
1528
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1526

def labels
  @labels
end

#maintenanceGoogle::Apis::SaasservicemgmtV1::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



1534
1535
1536
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1534

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)


1540
1541
1542
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1540

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)


1546
1547
1548
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1546

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>)


1552
1553
1554
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1552

def ongoing_operations
  @ongoing_operations
end

#output_variablesArray<Google::Apis::SaasservicemgmtV1::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



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

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>)


1566
1567
1568
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1566

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)


1571
1572
1573
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1571

def release
  @release
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


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

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Output only. Indicates whether the resource location satisfies Zone Separation constraints. This is false by default. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


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

def satisfies_pzs
  @satisfies_pzs
end

#scheduled_operationsArray<String>

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

Returns:

  • (Array<String>)


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

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)


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

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)


1601
1602
1603
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1601

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)


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

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)


1613
1614
1615
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1613

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)


1622
1623
1624
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1622

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)


1627
1628
1629
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1627

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)


1634
1635
1636
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1634

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
# File 'lib/google/apis/saasservicemgmt_v1/classes.rb', line 1641

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)
  @flag_revisions = args[:flag_revisions] if args.key?(:flag_revisions)
  @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)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @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