Class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1Instance

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

Overview

Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project=snapchat, producer-project=cloud-sql:

Instance:
`
"name":
"projects/snapchat/locations/us-east1/instances/prod-instance",
"create_time": `
"seconds": 1526406431,
`,
"labels": `
"env": "prod",
"foo": "bar"
`,
"state": READY,
"software_versions": `
"software_update": "cloud-sql-09-28-2018",
`,
"maintenance_policy_names": `
"UpdatePolicy":
"projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-
policy",
`
"tenant_project_id": "cloud-sql-test-tenant",
"producer_metadata": `
"cloud-sql-tier": "basic",
"cloud-sql-instance-size": "1G",
`,
"provisioned_resources": [
`
"resource-type": "compute-instance",
"resource-url":
"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-
b/instances/vm-1",
`
],
"maintenance_schedules": `
"csa_rollout": `
"start_time": `
"seconds": 1526406431,
`,
"end_time": `
"seconds": 1535406431,
`,
`,
"ncsa_rollout": `
"start_time": `
"seconds": 1526406431,
`,
"end_time": `
"seconds": 1535406431,
`,
`
`,
"consumer_defined_name": "my-sql-instance1",
`

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GoogleCloudSaasacceleratorManagementProvidersV1Instance

Returns a new instance of GoogleCloudSaasacceleratorManagementProvidersV1Instance.



625
626
627
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 625

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

Instance Attribute Details

#consumer_defined_nameString

consumer_defined_name is the name that is set by the consumer. On the other hand Name field represents system-assigned id of an instance so consumers are not necessarily aware of it. consumer_defined_name is used for notification/UI purposes for consumer to recognize their instances. Corresponds to the JSON property consumerDefinedName

Returns:

  • (String)


530
531
532
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 530

def consumer_defined_name
  @consumer_defined_name
end

#create_timeString

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

Returns:

  • (String)


535
536
537
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 535

def create_time
  @create_time
end

#labelsHash<String,String>

Optional. Resource labels to represent user provided metadata. Each label is a key-value pair, where both the key and the value are arbitrary strings provided by the user. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


542
543
544
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 542

def labels
  @labels
end

#maintenance_policy_namesHash<String,String>

The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the referenced policy must define the same policy type. For complete details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug. Corresponds to the JSON property maintenancePolicyNames

Returns:

  • (Hash<String,String>)


551
552
553
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 551

def maintenance_policy_names
  @maintenance_policy_names
end

#maintenance_schedulesHash<String,Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>

The MaintenanceSchedule contains the scheduling information of published maintenance schedule. Corresponds to the JSON property maintenanceSchedules



557
558
559
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 557

def maintenance_schedules
  @maintenance_schedules
end

#nameString

Unique name of the resource. It uses the form: projects/project_id/locations/location_id/instances/instance_id` Corresponds to the JSON propertyname`

Returns:

  • (String)


563
564
565
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 563

def name
  @name
end

#producer_metadataHash<String,String>

Output only. Custom string attributes used primarily to expose producer-specific information in monitoring dashboards. See go/get-instance-metadata. Corresponds to the JSON property producerMetadata

Returns:

  • (Hash<String,String>)


570
571
572
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 570

def 
  @producer_metadata
end

#provisioned_resourcesArray<Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>

Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs. See go/get-instance-metadata. Corresponds to the JSON property provisionedResources



576
577
578
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 576

def provisioned_resources
  @provisioned_resources
end

#rollout_metadataHash<String,Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata>

The map between RolloutType and the corresponding RolloutMetadata. This is only mutated by rollout service. For actuation implementation, this information is pass-through for Rollout management. Producer shall not modify by itself. For update of a single entry in this map, the update field mask shall follow this sementics: go/advanced-field-masks Corresponds to the JSON property rolloutMetadata



586
587
588
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 586

def 
  @rollout_metadata
end

#slm_instance_templateString

Link to the SLM instance template. Only populated when updating SLM instances via SSA's Actuation service adaptor. Service producers with custom control plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they should use software_versions. Corresponds to the JSON property slmInstanceTemplate

Returns:

  • (String)


594
595
596
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 594

def slm_instance_template
  @slm_instance_template
end

#slo_metadataGoogle::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata

SloMetadata contains resources required for proper SLO classification of the instance. Corresponds to the JSON property sloMetadata



600
601
602
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 600

def 
  @slo_metadata
end

#software_versionsHash<String,String>

Software versions that are used to deploy this instance. This can be mutated by rollout services. Corresponds to the JSON property softwareVersions

Returns:

  • (Hash<String,String>)


606
607
608
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 606

def software_versions
  @software_versions
end

#stateString

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)


612
613
614
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 612

def state
  @state
end

#tenant_project_idString

Output only. ID of the associated GCP tenant project. See go/get-instance-metadata. Corresponds to the JSON property tenantProjectId

Returns:

  • (String)


618
619
620
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 618

def tenant_project_id
  @tenant_project_id
end

#update_timeString

Output only. Timestamp when the resource was last modified. Corresponds to the JSON property updateTime

Returns:

  • (String)


623
624
625
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 623

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
# File 'generated/google/apis/managedidentities_v1alpha1/classes.rb', line 630

def update!(**args)
  @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
  @create_time = args[:create_time] if args.key?(:create_time)
  @labels = args[:labels] if args.key?(:labels)
  @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
  @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
  @name = args[:name] if args.key?(:name)
  @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
  @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
  @rollout_metadata = args[:rollout_metadata] if args.key?(:rollout_metadata)
  @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
  @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
  @software_versions = args[:software_versions] if args.key?(:software_versions)
  @state = args[:state] if args.key?(:state)
  @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
  @update_time = args[:update_time] if args.key?(:update_time)
end