com.google.api.services.file.v1.model.GoogleCloudSaasacceleratorManagementProvidersV1Instance Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.file.v1.model;
/**
* 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
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Filestore API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class GoogleCloudSaasacceleratorManagementProvidersV1Instance extends com.google.api.client.json.GenericJson {
/**
* 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).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String consumerDefinedName;
/**
* Output only. Timestamp when the resource was created.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String createTime;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String instanceType;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map labels;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map maintenancePolicyNames;
/**
* The MaintenanceSchedule contains the scheduling information of published maintenance schedule
* with same key as software_versions.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map maintenanceSchedules;
/**
* Optional. The MaintenanceSettings associated with instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings maintenanceSettings;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map notificationParameters;
/**
* Output only. Custom string attributes used primarily to expose producer-specific information in
* monitoring dashboards. See go/get-instance-metadata.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map producerMetadata;
/**
* Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs.
* See go/get-instance-metadata.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List provisionedResources;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String slmInstanceTemplate;
/**
* Output only. SLO metadata for instance classification in the Standardized dataplane SLO
* platform. See go/cloud-ssa-standard-slo for feature description.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata sloMetadata;
/**
* Software versions that are used to deploy this instance. This can be mutated by rollout
* services.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map softwareVersions;
/**
* Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to
* use).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String state;
/**
* Output only. ID of the associated GCP tenant project. See go/get-instance-metadata.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String tenantProjectId;
/**
* Output only. Timestamp when the resource was last modified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String updateTime;
/**
* 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).
* @return value or {@code null} for none
*/
public java.lang.String getConsumerDefinedName() {
return consumerDefinedName;
}
/**
* 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).
* @param consumerDefinedName consumerDefinedName or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setConsumerDefinedName(java.lang.String consumerDefinedName) {
this.consumerDefinedName = consumerDefinedName;
return this;
}
/**
* Output only. Timestamp when the resource was created.
* @return value or {@code null} for none
*/
public String getCreateTime() {
return createTime;
}
/**
* Output only. Timestamp when the resource was created.
* @param createTime createTime or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setCreateTime(String createTime) {
this.createTime = createTime;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.lang.String getInstanceType() {
return instanceType;
}
/**
* 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.
* @param instanceType instanceType or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setInstanceType(java.lang.String instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.util.Map getLabels() {
return labels;
}
/**
* 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.
* @param labels labels or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setLabels(java.util.Map labels) {
this.labels = labels;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.util.Map getMaintenancePolicyNames() {
return maintenancePolicyNames;
}
/**
* 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.
* @param maintenancePolicyNames maintenancePolicyNames or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setMaintenancePolicyNames(java.util.Map maintenancePolicyNames) {
this.maintenancePolicyNames = maintenancePolicyNames;
return this;
}
/**
* The MaintenanceSchedule contains the scheduling information of published maintenance schedule
* with same key as software_versions.
* @return value or {@code null} for none
*/
public java.util.Map getMaintenanceSchedules() {
return maintenanceSchedules;
}
/**
* The MaintenanceSchedule contains the scheduling information of published maintenance schedule
* with same key as software_versions.
* @param maintenanceSchedules maintenanceSchedules or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setMaintenanceSchedules(java.util.Map maintenanceSchedules) {
this.maintenanceSchedules = maintenanceSchedules;
return this;
}
/**
* Optional. The MaintenanceSettings associated with instance.
* @return value or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings getMaintenanceSettings() {
return maintenanceSettings;
}
/**
* Optional. The MaintenanceSettings associated with instance.
* @param maintenanceSettings maintenanceSettings or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setMaintenanceSettings(GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings maintenanceSettings) {
this.maintenanceSettings = maintenanceSettings;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* 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.
* @param name name or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.util.Map getNotificationParameters() {
return notificationParameters;
}
/**
* 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.
* @param notificationParameters notificationParameters or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setNotificationParameters(java.util.Map notificationParameters) {
this.notificationParameters = notificationParameters;
return this;
}
/**
* Output only. Custom string attributes used primarily to expose producer-specific information in
* monitoring dashboards. See go/get-instance-metadata.
* @return value or {@code null} for none
*/
public java.util.Map getProducerMetadata() {
return producerMetadata;
}
/**
* Output only. Custom string attributes used primarily to expose producer-specific information in
* monitoring dashboards. See go/get-instance-metadata.
* @param producerMetadata producerMetadata or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setProducerMetadata(java.util.Map producerMetadata) {
this.producerMetadata = producerMetadata;
return this;
}
/**
* Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs.
* See go/get-instance-metadata.
* @return value or {@code null} for none
*/
public java.util.List getProvisionedResources() {
return provisionedResources;
}
/**
* Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs.
* See go/get-instance-metadata.
* @param provisionedResources provisionedResources or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setProvisionedResources(java.util.List provisionedResources) {
this.provisionedResources = provisionedResources;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public java.lang.String getSlmInstanceTemplate() {
return slmInstanceTemplate;
}
/**
* 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.
* @param slmInstanceTemplate slmInstanceTemplate or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setSlmInstanceTemplate(java.lang.String slmInstanceTemplate) {
this.slmInstanceTemplate = slmInstanceTemplate;
return this;
}
/**
* Output only. SLO metadata for instance classification in the Standardized dataplane SLO
* platform. See go/cloud-ssa-standard-slo for feature description.
* @return value or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata getSloMetadata() {
return sloMetadata;
}
/**
* Output only. SLO metadata for instance classification in the Standardized dataplane SLO
* platform. See go/cloud-ssa-standard-slo for feature description.
* @param sloMetadata sloMetadata or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setSloMetadata(GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata sloMetadata) {
this.sloMetadata = sloMetadata;
return this;
}
/**
* Software versions that are used to deploy this instance. This can be mutated by rollout
* services.
* @return value or {@code null} for none
*/
public java.util.Map getSoftwareVersions() {
return softwareVersions;
}
/**
* Software versions that are used to deploy this instance. This can be mutated by rollout
* services.
* @param softwareVersions softwareVersions or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setSoftwareVersions(java.util.Map softwareVersions) {
this.softwareVersions = softwareVersions;
return this;
}
/**
* Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to
* use).
* @return value or {@code null} for none
*/
public java.lang.String getState() {
return state;
}
/**
* Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to
* use).
* @param state state or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setState(java.lang.String state) {
this.state = state;
return this;
}
/**
* Output only. ID of the associated GCP tenant project. See go/get-instance-metadata.
* @return value or {@code null} for none
*/
public java.lang.String getTenantProjectId() {
return tenantProjectId;
}
/**
* Output only. ID of the associated GCP tenant project. See go/get-instance-metadata.
* @param tenantProjectId tenantProjectId or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setTenantProjectId(java.lang.String tenantProjectId) {
this.tenantProjectId = tenantProjectId;
return this;
}
/**
* Output only. Timestamp when the resource was last modified.
* @return value or {@code null} for none
*/
public String getUpdateTime() {
return updateTime;
}
/**
* Output only. Timestamp when the resource was last modified.
* @param updateTime updateTime or {@code null} for none
*/
public GoogleCloudSaasacceleratorManagementProvidersV1Instance setUpdateTime(String updateTime) {
this.updateTime = updateTime;
return this;
}
@Override
public GoogleCloudSaasacceleratorManagementProvidersV1Instance set(String fieldName, Object value) {
return (GoogleCloudSaasacceleratorManagementProvidersV1Instance) super.set(fieldName, value);
}
@Override
public GoogleCloudSaasacceleratorManagementProvidersV1Instance clone() {
return (GoogleCloudSaasacceleratorManagementProvidersV1Instance) super.clone();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy