All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.memcache.v1.model.GoogleCloudSaasacceleratorManagementProvidersV1Instance Maven / Gradle / Ivy

There is a newer version: v1-rev20241010-2.0.0
Show newest version
/*
 * 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.memcache.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 Memorystore for Memcached 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/cloud-saas-mw-ug. 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/cloud-saas-mw-ug. 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/cloud-saas-mw-ug. 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