Class: Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1Instance
- Inherits:
-
Object
- Object
- Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1Instance
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/file_v1/classes.rb,
generated/google/apis/file_v1/representations.rb,
generated/google/apis/file_v1/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",
`
"rollout_metadata": `
"projects/cloud-sql/locations/global/rolloutTypes/software_update": `
"release":
"projects/cloud-sql/locations/global/releases/cloud-sql-09-28-2018",
"rollout":
"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-
canary",
`,
"projects/cloud-sql/locations/global/rolloutTypes/instance_restart": `
"release":
"projects/cloud-sql/locations/global/releases/cloud-sql-09-20-repair",
"rollout":
"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-20-repair-
100-percent",
`
`
"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
-
#consumer_defined_name ⇒ String
consumer_defined_name is the name that is set by the consumer.
-
#create_time ⇒ String
Output only.
-
#labels ⇒ Hash<String,String>
Optional.
-
#maintenance_policy_names ⇒ Hash<String,String>
The MaintenancePolicies that have been attached to the instance.
-
#maintenance_schedules ⇒ Hash<String,Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>
The MaintenanceSchedule contains the scheduling information of published maintenance schedule.
-
#name ⇒ String
Unique name of the resource.
-
#producer_metadata ⇒ Hash<String,String>
Output only.
-
#provisioned_resources ⇒ Array<Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>
Output only.
-
#rollout_metadata ⇒ Hash<String,Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata>
The map between RolloutType and the corresponding RolloutMetadata.
-
#slo_metadata ⇒ Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
SloMetadata contains resources required for proper SLO classification of the instance.
-
#software_versions ⇒ Hash<String,String>
Software versions that are used to deploy this instance.
-
#state ⇒ String
Output only.
-
#tenant_project_id ⇒ String
Output only.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudSaasacceleratorManagementProvidersV1Instance
constructor
A new instance of GoogleCloudSaasacceleratorManagementProvidersV1Instance.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ GoogleCloudSaasacceleratorManagementProvidersV1Instance
Returns a new instance of GoogleCloudSaasacceleratorManagementProvidersV1Instance
256 257 258 |
# File 'generated/google/apis/file_v1/classes.rb', line 256 def initialize(**args) update!(**args) end |
Instance Attribute Details
#consumer_defined_name ⇒ String
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
169 170 171 |
# File 'generated/google/apis/file_v1/classes.rb', line 169 def consumer_defined_name @consumer_defined_name end |
#create_time ⇒ String
Output only. Timestamp when the resource was created.
Corresponds to the JSON property createTime
174 175 176 |
# File 'generated/google/apis/file_v1/classes.rb', line 174 def create_time @create_time end |
#labels ⇒ Hash<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
181 182 183 |
# File 'generated/google/apis/file_v1/classes.rb', line 181 def labels @labels end |
#maintenance_policy_names ⇒ Hash<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
190 191 192 |
# File 'generated/google/apis/file_v1/classes.rb', line 190 def maintenance_policy_names @maintenance_policy_names end |
#maintenance_schedules ⇒ Hash<String,Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>
The MaintenanceSchedule contains the scheduling information of published
maintenance schedule.
Corresponds to the JSON property maintenanceSchedules
196 197 198 |
# File 'generated/google/apis/file_v1/classes.rb', line 196 def maintenance_schedules @maintenance_schedules end |
#name ⇒ String
Unique name of the resource. It uses the form:
projects/
project_id/locations/
location_id/instances/
instance_id`
Corresponds to the JSON property
name`
202 203 204 |
# File 'generated/google/apis/file_v1/classes.rb', line 202 def name @name end |
#producer_metadata ⇒ Hash<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
209 210 211 |
# File 'generated/google/apis/file_v1/classes.rb', line 209 def @producer_metadata end |
#provisioned_resources ⇒ Array<Google::Apis::FileV1::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
215 216 217 |
# File 'generated/google/apis/file_v1/classes.rb', line 215 def provisioned_resources @provisioned_resources end |
#rollout_metadata ⇒ Hash<String,Google::Apis::FileV1::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
225 226 227 |
# File 'generated/google/apis/file_v1/classes.rb', line 225 def @rollout_metadata end |
#slo_metadata ⇒ Google::Apis::FileV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
SloMetadata contains resources required for proper SLO classification of the
instance.
Corresponds to the JSON property sloMetadata
231 232 233 |
# File 'generated/google/apis/file_v1/classes.rb', line 231 def @slo_metadata end |
#software_versions ⇒ Hash<String,String>
Software versions that are used to deploy this instance. This can be
mutated by rollout services.
Corresponds to the JSON property softwareVersions
237 238 239 |
# File 'generated/google/apis/file_v1/classes.rb', line 237 def software_versions @software_versions end |
#state ⇒ String
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
243 244 245 |
# File 'generated/google/apis/file_v1/classes.rb', line 243 def state @state end |
#tenant_project_id ⇒ String
Output only. ID of the associated GCP tenant project.
See go/get-instance-metadata.
Corresponds to the JSON property tenantProjectId
249 250 251 |
# File 'generated/google/apis/file_v1/classes.rb', line 249 def tenant_project_id @tenant_project_id end |
#update_time ⇒ String
Output only. Timestamp when the resource was last modified.
Corresponds to the JSON property updateTime
254 255 256 |
# File 'generated/google/apis/file_v1/classes.rb', line 254 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
# File 'generated/google/apis/file_v1/classes.rb', line 261 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) @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 |