Class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1Instance
- Inherits:
-
Object
- Object
- Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1Instance
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/managedidentities_v1beta1/classes.rb,
lib/google/apis/managedidentities_v1beta1/representations.rb,
lib/google/apis/managedidentities_v1beta1/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-
number=123456, producer-project-id=cloud-sql: json Instance: ` "name": "
projects/123456/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/123456/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", ` LINT.IfChange
Instance Attribute Summary collapse
-
#consumer_defined_name ⇒ String
consumer_defined_name is the name of the instance set by the service consumers.
-
#consumer_project_number ⇒ String
Optional.
-
#create_time ⇒ String
Output only.
-
#instance_type ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#maintenance_policy_names ⇒ Hash<String,String>
Optional.
-
#maintenance_schedules ⇒ Hash<String,Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>
The MaintenanceSchedule contains the scheduling information of published maintenance schedule with same key as software_versions.
-
#maintenance_settings ⇒ Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings
Maintenance settings associated with instance.
-
#name ⇒ String
Unique name of the resource.
-
#notification_parameters ⇒ Hash<String,Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter>
Optional.
-
#producer_metadata ⇒ Hash<String,String>
Output only.
-
#provisioned_resources ⇒ Array<Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>
Output only.
-
#slm_instance_template ⇒ String
Link to the SLM instance template.
-
#slo_metadata ⇒ Google::Apis::ManagedidentitiesV1beta1::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.
Constructor Details
#initialize(**args) ⇒ GoogleCloudSaasacceleratorManagementProvidersV1Instance
Returns a new instance of GoogleCloudSaasacceleratorManagementProvidersV1Instance.
1063 1064 1065 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1063 def initialize(**args) update!(**args) end |
Instance Attribute Details
#consumer_defined_name ⇒ String
consumer_defined_name is the name of the instance set by the service consumers.
Generally this is different from the name field which reperesents the
system-assigned id of the instance which the service consumers do not
recognize. This is a required field for tenants onboarding to Maintenance
Window notifications (go/slm-rollout-maintenance-policies#prerequisites).
Corresponds to the JSON property consumerDefinedName
941 942 943 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 941 def consumer_defined_name @consumer_defined_name end |
#consumer_project_number ⇒ String
Optional. The consumer_project_number associated with this Apigee instance.
This field is added specifically to support Apigee integration with SLM
Rollout and UMM. It represents the numerical project ID of the GCP project
that consumes this Apigee instance. It is used for SLM rollout notifications
and UMM integration, enabling proper mapping to customer projects and log
delivery for Apigee instances. This field complements consumer_project_id and
may be used for specific Apigee scenarios where the numerical ID is required.
Corresponds to the JSON property consumerProjectNumber
952 953 954 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 952 def consumer_project_number @consumer_project_number end |
#create_time ⇒ String
Output only. Timestamp when the resource was created.
Corresponds to the JSON property createTime
957 958 959 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 957 def create_time @create_time end |
#instance_type ⇒ String
Optional. The instance_type of this instance of format: projects/
project_number/locations/location_id/instanceTypes/instance_type_id.
Instance Type represents a high-level tier or SKU of the service that this
instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses '
instance_type' along with 'software_versions' to determine whether instance
needs an update or not.
Corresponds to the JSON property instanceType
967 968 969 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 967 def instance_type @instance_type 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
974 975 976 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 974 def labels @labels end |
#maintenance_policy_names ⇒ Hash<String,String>
Optional. 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 details, please refer to go/mr-user-guide. Should not be set if
maintenance_settings.maintenance_policies is set.
Corresponds to the JSON property maintenancePolicyNames
983 984 985 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 983 def maintenance_policy_names @maintenance_policy_names end |
#maintenance_schedules ⇒ Hash<String,Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>
The MaintenanceSchedule contains the scheduling information of published
maintenance schedule with same key as software_versions.
Corresponds to the JSON property maintenanceSchedules
989 990 991 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 989 def maintenance_schedules @maintenance_schedules end |
#maintenance_settings ⇒ Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings
Maintenance settings associated with instance. Allows service producers and
end users to assign settings that controls maintenance on this instance.
Corresponds to the JSON property maintenanceSettings
995 996 997 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 995 def maintenance_settings @maintenance_settings end |
#name ⇒ String
Unique name of the resource. It uses the form: projects/project_number/
locations/location_id/instances/instance_id`Note: This name is passed,
stored and logged across the rollout system. So use of consumer project_id or
any other consumer PII in the name is strongly discouraged for wipeout (go/
wipeout) compliance. See go/elysium/project_ids#storage-guidance for more
details.
Corresponds to the JSON propertyname`
1005 1006 1007 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1005 def name @name end |
#notification_parameters ⇒ Hash<String,Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter>
Optional. notification_parameter are information that service producers may
like to include that is not relevant to Rollout. This parameter will only be
passed to Gamma and Cloud Logging for notification/logging purpose.
Corresponds to the JSON property notificationParameters
1012 1013 1014 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1012 def notification_parameters @notification_parameters 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
1018 1019 1020 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1018 def @producer_metadata end |
#provisioned_resources ⇒ Array<Google::Apis::ManagedidentitiesV1beta1::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
1024 1025 1026 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1024 def provisioned_resources @provisioned_resources end |
#slm_instance_template ⇒ String
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
1032 1033 1034 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1032 def slm_instance_template @slm_instance_template end |
#slo_metadata ⇒ Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
SloMetadata contains resources required for proper SLO classification of the
instance.
Corresponds to the JSON property sloMetadata
1038 1039 1040 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1038 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
1044 1045 1046 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1044 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
1050 1051 1052 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1050 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
1056 1057 1058 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1056 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
1061 1062 1063 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1061 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 |
# File 'lib/google/apis/managedidentities_v1beta1/classes.rb', line 1068 def update!(**args) @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name) @consumer_project_number = args[:consumer_project_number] if args.key?(:consumer_project_number) @create_time = args[:create_time] if args.key?(:create_time) @instance_type = args[:instance_type] if args.key?(:instance_type) @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) @maintenance_settings = args[:maintenance_settings] if args.key?(:maintenance_settings) @name = args[:name] if args.key?(:name) @notification_parameters = args[:notification_parameters] if args.key?(:notification_parameters) @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata) @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources) @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 |