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.



2843
2844
2845
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2843

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


2669
2670
2671
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2669

def annotations
  @annotations
end

#applicationString

Optional. Reference to the AppHub Application this unit belongs to. All resources deployed in this Unit will be associated with the specified Application. Corresponds to the JSON property application

Returns:

  • (String)


2676
2677
2678
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2676

def application
  @application
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



2682
2683
2684
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2682

def conditions
  @conditions
end

#create_timeString

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

Returns:

  • (String)


2687
2688
2689
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2687

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



2692
2693
2694
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2692

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



2698
2699
2700
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2698

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)


2705
2706
2707
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2705

def etag
  @etag
end

#flag_config_nameString

Output only. This field stores the unique identifier for the flag configuration to be used by this Unit. Corresponds to the JSON property flagConfigName

Returns:

  • (String)


2711
2712
2713
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2711

def flag_config_name
  @flag_config_name
end

#flag_revisionsArray<String>

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

Returns:

  • (Array<String>)


2716
2717
2718
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2716

def flag_revisions
  @flag_revisions
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



2722
2723
2724
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2722

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


2728
2729
2730
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2728

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



2736
2737
2738
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2736

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)


2742
2743
2744
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2742

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)


2748
2749
2750
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2748

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


2754
2755
2756
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2754

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



2762
2763
2764
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2762

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


2768
2769
2770
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2768

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)


2773
2774
2775
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2773

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)


2778
2779
2780
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2778

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)


2785
2786
2787
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2785

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


2791
2792
2793
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2791

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)


2797
2798
2799
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2797

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)


2803
2804
2805
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2803

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)


2808
2809
2810
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2808

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)


2815
2816
2817
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2815

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)


2824
2825
2826
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2824

def uid
  @uid
end

#unit_groupString

Optional. Output only. Reference to the UnitGroup this unit belongs to. Corresponds to the JSON property unitGroup

Returns:

  • (String)


2829
2830
2831
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2829

def unit_group
  @unit_group
end

#unit_kindString

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

Returns:

  • (String)


2834
2835
2836
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2834

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)


2841
2842
2843
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2841

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 2848

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @application = args[:application] if args.key?(:application)
  @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_config_name = args[:flag_config_name] if args.key?(:flag_config_name)
  @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_group = args[:unit_group] if args.key?(:unit_group)
  @unit_kind = args[:unit_kind] if args.key?(:unit_kind)
  @update_time = args[:update_time] if args.key?(:update_time)
end