Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "create_instance", "get_backup", "get_certificate_authority" and 4 more
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `CreateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to create."},"instanceId":{"description":"Required. The ID to use for the instance, which will become the final component of the instance's resource name. This value is subject to the following restrictions: * Must be 4-63 characters in length * Must begin with a letter or digit * Must contain only lowercase letters, digits, and hyphens * Must not end with a hyphen * Must be unique within a location","type":"string"},"parent":{"description":"Required. The parent resource where this instance will be created. Format: projects/{project}/locations/{location}","type":"string"},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"}},"required":["parent","instanceId","instance"],"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the `endpoints.connections.psc_auto_connection` value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"ipVersion":{"description":"Optional. Immutable. The IP version used for the PSC auto-created endpoint. If not specified, defaults to IPV4.","enum":["IP_VERSION_UNSPECIFIED","IPV4","IPV6"],"type":"string","x-google-enum-descriptions":["Not specified. Defaults to IPV4 on CreateInstance.","IPv4 address family.","IPv6 address family."],"x-google-immutable":true},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects/<project>/locations/<region>/instances/<instance-id>","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `CreateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to create."},"instanceId":{"description":"Required. The ID to use for the instance, which will become the final component of the instance's resource name. This value is subject to the following restrictions: * Must be 4-63 characters in length * Must begin with a letter or digit * Must contain only lowercase letters, digits, and hyphens * Must not end with a hyphen * Must be unique within a location","type":"string"},"parent":{"description":"Required. The parent resource where this instance will be created. Format: projects/{project}/locations/{location}","type":"string"},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"}},"required":["parent","instanceId","instance"],"type":"object"}⟨29 unchanged words⟩ fileName":{"description":"Output only. e.g:.rdb<shard-id>.rdb","readOnly":true,"type":"string"} ⟨589 unchanged words⟩
⟨7 unchanged words⟩ {"description":"Required. The name of the instance whose certificateauthority.authority to retrieve. Format: projects/{project}/locations/{location}/instances/{instance}/certificateAuthority","type":"string"}},"required": ⟨3 unchanged words⟩
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"}⟨380 unchanged words⟩ fileName":{"description":"Output only. e.g:.rdb<shard-id>.rdb","readOnly":true,"type":"string"} ⟨296 unchanged words⟩
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Response message for `ListInstances`.","properties":{"instances":{"description":"If the {location} requested was \"-\" the response contains a list of instances from all locations. Instances in unreachable locations will be omitted.","items":{"$ref":"#/$defs/Instance"},"type":"array"},"nextPageToken":{"description":"A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.","type":"string"},"unreachable":{"description":"Locations that could not be reached.","items":{"type":"string"},"type":"array"}},"type":"object"}before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `UpdateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to update."},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"},"updateMask":{"description":"Optional. The list of fields to be updated on the instance. At least one field must be specified.","format":"google-fieldmask","pattern":"^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$","type":"string"}},"required":["instance"],"type":"object"}Authorization not required, issuer https://accounts.google.com
Certificate changed, valid to 2026-12-30
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Changed the definition of "create_instance", "get_instance", "list_instances" and 1 more
⟨4119 unchanged words⟩ properties":{"day":{"description":"Optional.AllowsThetodaydefineofschedulethethatweekrunsforspecifiedthedaymaintenanceofwindow.the
Authorization not required, issuer https://accounts.google.com
Certificate changed, valid to 2026-12-21
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Certificate changed, valid to 2026-12-11
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Changed the definition of "backup_instance", "create_instance", "delete_backup" and 6 more
⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Immutable. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."],"x-google-immutable":true},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `CreateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to create."},"instanceId":{"description":"Required. The ID to use for the instance, which will become the final component of the instance's resource name. This value is subject to the following restrictions: * Must be 4-63 characters in length * Must begin with a letter or digit * Must contain only lowercase letters, digits, and hyphens * Must not end with a hyphen * Must be unique within a location","type":"string"},"parent":{"description":"Required. The parent resource where this instance will be created. Format: projects/{project}/locations/{location}","type":"string"},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"}},"required":["parent","instanceId","instance"],"type":"object"}Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Certificate changed, valid to 2026-12-03
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Certificate changed, valid to 2026-11-27
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Authorization not required, issuer https://accounts.google.com
Certificate recorded, valid to 2026-11-02
Authorization not required, issuer https://accounts.google.com
First tool surface recorded: 14 tools (server version ESF)
Showing the latest 34 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"ipVersion":{"description":"Optional. Immutable. The IP version used for the PSC auto-created endpoint. If not specified, defaults to IPV4.","enum":["IP_VERSION_UNSPECIFIED","IPV4","IPV6"],"type":"string","x-google-enum-descriptions":["Not specified. Defaults to IPV4 on CreateInstance.","IPv4 address family.","IPv6 address family."],"x-google-immutable":true},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects/<project>/locations/<region>/instances/<instance-id>","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the `endpoints.connections.psc_auto_connection` value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the `endpoints.connections.psc_auto_connection` value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"ipVersion":{"description":"Optional. Immutable. The IP version used for the PSC auto-created endpoint. If not specified, defaults to IPV4.","enum":["IP_VERSION_UNSPECIFIED","IPV4","IPV6"],"type":"string","x-google-enum-descriptions":["Not specified. Defaults to IPV4 on CreateInstance.","IPv4 address family.","IPv6 address family."],"x-google-immutable":true},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects/<project>/locations/<region>/instances/<instance-id>","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Response message for `ListInstances`.","properties":{"instances":{"description":"If the {location} requested was \"-\" the response contains a list of instances from all locations. Instances in unreachable locations will be omitted.","items":{"$ref":"#/$defs/Instance"},"type":"array"},"nextPageToken":{"description":"A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.","type":"string"},"unreachable":{"description":"Locations that could not be reached.","items":{"type":"string"},"type":"array"}},"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the `endpoints.connections.psc_auto_connection` value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"ipVersion":{"description":"Optional. Immutable. The IP version used for the PSC auto-created endpoint. If not specified, defaults to IPV4.","enum":["IP_VERSION_UNSPECIFIED","IPV4","IPV6"],"type":"string","x-google-enum-descriptions":["Not specified. Defaults to IPV4 on CreateInstance.","IPv4 address family.","IPv6 address family."],"x-google-immutable":true},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects/<project>/locations/<region>/instances/<instance-id>","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. The day of the week for the maintenance window. This field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. The start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `UpdateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to update."},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"},"updateMask":{"description":"Optional. The list of fields to be updated on the instance. At least one field must be specified.","format":"google-fieldmask","pattern":"^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$","type":"string"}},"required":["instance"],"type":"object"}⟨3020 unchanged words⟩ properties":{"day":{"description":"Optional.AllowsThetodaydefineofschedulethethatweekrunsforspecifiedthedaymaintenanceofwindow.theThisweek.field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY"," ⟨24 unchanged words⟩ {"$ref":"#/$defs/TimeOfDay","description":"Optional.StartThe start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig" ⟨4 unchanged words⟩ for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone ⟨1168 unchanged words⟩
⟨4102 unchanged words⟩ properties":{"day":{"description":"Optional.AllowsThetodaydefineofschedulethethatweekrunsforspecifiedthedaymaintenanceofwindow.theThisweek.field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY"," ⟨24 unchanged words⟩ {"$ref":"#/$defs/TimeOfDay","description":"Optional.StartThe start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig" ⟨4 unchanged words⟩ for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone ⟨166 unchanged words⟩
⟨4119 unchanged words⟩ properties":{"day":{"description":"Optional.AllowsThetodaydefineofschedulethethatweekrunsforspecifiedthedaymaintenanceofwindow.theThisweek.field is required. You can't use `DAY_OF_WEEK_UNSPECIFIED`.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY"," ⟨24 unchanged words⟩ {"$ref":"#/$defs/TimeOfDay","description":"Optional.StartThe start time of the maintenance window in UTC. When you specify a maintenance window, `start_time` is required."}},"type":"object"},"ZoneDistributionConfig" ⟨4 unchanged words⟩ for allocation of instance resources.","properties":{"activeZones":{"description":"Output only. The exact list of zones where the instance currently has active VMs.","items":{"type":"string"},"readOnly":true,"type":"array"},"mode":{"description":"Optional. Current zone ⟨273 unchanged words⟩
after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `CreateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to create."},"instanceId":{"description":"Required. The ID to use for the instance, which will become the final component of the instance's resource name. This value is subject to the following restrictions: * Must be 4-63 characters in length * Must begin with a letter or digit * Must contain only lowercase letters, digits, and hyphens * Must not end with a hyphen * Must be unique within a location","type":"string"},"parent":{"description":"Required. The parent resource where this instance will be created. Format: projects/{project}/locations/{location}","type":"string"},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"}},"required":["parent","instanceId","instance"],"type":"object"}⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Immutable. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."],"x-google-immutable":true},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"}before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Immutable. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."],"x-google-immutable":true},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Response message for `ListInstances`.","properties":{"instances":{"description":"If the {location} requested was \"-\" the response contains a list of instances from all locations. Instances in unreachable locations will be omitted.","items":{"$ref":"#/$defs/Instance"},"type":"array"},"nextPageToken":{"description":"A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.","type":"string"},"unreachable":{"description":"Locations that could not be reached.","items":{"type":"string"},"type":"array"}},"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Response message for `ListInstances`.","properties":{"instances":{"description":"If the {location} requested was \"-\" the response contains a list of instances from all locations. Instances in unreachable locations will be omitted.","items":{"$ref":"#/$defs/Instance"},"type":"array"},"nextPageToken":{"description":"A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.","type":"string"},"unreachable":{"description":"Locations that could not be reached.","items":{"type":"string"},"type":"array"}},"type":"object"}⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}
before
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Immutable. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."],"x-google-immutable":true},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `UpdateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to update."},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"},"updateMask":{"description":"Optional. The list of fields to be updated on the instance. At least one field must be specified.","format":"google-fieldmask","pattern":"^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$","type":"string"}},"required":["instance"],"type":"object"}after
{"$defs":{"AOFConfig":{"description":"Configuration for AOF based persistence.","properties":{"appendFsync":{"description":"Optional. The fsync mode.","enum":["APPEND_FSYNC_UNSPECIFIED","NEVER","EVERY_SEC","ALWAYS"],"type":"string","x-google-enum-descriptions":["Not set. Default: EVERY_SEC","Never fsync. Normally Linux will flush data every 30 seconds with this configuration, but it's up to the kernel's exact tuning.","Fsync every second. You may lose 1 second of data if there is a disaster.","Fsync every time new write commands are appended to the AOF. The best data loss protection at the cost of performance."]}},"type":"object"},"AclPolicyInfo":{"description":"Details of the applied ACL policy.","properties":{"aclPolicyRevisionStatuses":{"description":"Output only. A list of status for various revisions of this ACL policy on the instance.","items":{"$ref":"#/$defs/AclPolicyRevisionStatus"},"readOnly":true,"type":"array"},"appliedAclPolicy":{"description":"Output only. The resource name of the applied ACL policy. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevision":{"description":"Output only. The resource name of the applied ACL policy revision. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"appliedAclPolicyRevisionNumber":{"description":"Output only. The revision number of the applied ACL policy revision.","format":"int64","readOnly":true,"type":"string"}},"type":"object"},"AclPolicyRevisionStatus":{"description":"AclPolicyRevisionStatus stores the per-revision status for an attached instance.","properties":{"aclPolicyRevision":{"description":"Output only. The resource name of the ACL policy revision this status refers to. Format: \"projects/{project}/locations/{location}/aclPolicies/{acl_policy}/revisions/{revision}\"","readOnly":true,"type":"string"},"aclPolicyRevisionNumber":{"description":"Output only. The revision number of the ACL policy revision this status refers to.","format":"int64","readOnly":true,"type":"string"},"errorMessage":{"description":"Output only. Human-readable error message providing more details for FAILED states.","readOnly":true,"type":"string"},"state":{"description":"Output only. AclPolicyRevision state.","enum":["STATE_UNSPECIFIED","APPLYING","APPLIED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","The instance is attempting to apply this revision.","The instance has successfully applied this revision.","The instance failed to apply this revision."]}},"type":"object"},"AutomatedBackupConfig":{"description":"The automated backup config for an instance.","properties":{"automatedBackupMode":{"description":"Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.","enum":["AUTOMATED_BACKUP_MODE_UNSPECIFIED","DISABLED","ENABLED"],"type":"string","x-google-enum-descriptions":["Default value. Automated backup config is not specified.","Automated backup config disabled.","Automated backup config enabled."]},"fixedFrequencySchedule":{"$ref":"#/$defs/FixedFrequencySchedule","description":"Optional. Trigger automated backups at a fixed frequency."},"retention":{"description":"Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.","format":"google-duration","type":"string"}},"type":"object"},"ConnectionDetail":{"description":"Information of each PSC connection.","properties":{"pscAutoConnection":{"$ref":"#/$defs/PscAutoConnection","description":"Immutable. Detailed information of a PSC connection that is created through service connectivity automation. Only one of this field or pscConnection should be set.","x-google-immutable":true},"pscConnection":{"$ref":"#/$defs/PscConnection","description":"Detailed information of a PSC connection that is created by the user. Only one of this field or pscAutoConnection should be set."}},"type":"object"},"CrossInstanceReplicationConfig":{"description":"Cross instance replication config.","properties":{"instanceRole":{"description":"Required. The role of the instance in cross instance replication.","enum":["INSTANCE_ROLE_UNSPECIFIED","NONE","PRIMARY","SECONDARY"],"type":"string","x-google-enum-descriptions":["instance role is not set. The behavior is equivalent to NONE.","This instance does not participate in cross instance replication. It is an independent instance and does not replicate to or from any other instances.","A instance that allows both reads and writes. Any data written to this instance is also replicated to the attached secondary instances.","A instance that allows only reads and replicates data from a primary instance."]},"membership":{"$ref":"#/$defs/Membership","description":"Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary). A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.","readOnly":true},"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Optional. Details of the primary instance that is used as the replication source for this secondary instance. This field is only set for a secondary instance."},"secondaryInstances":{"description":"Optional. List of secondary instances that are replicating from this primary instance. This field is only set for a primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"type":"array"},"updateTime":{"description":"Output only. The last time cross instance replication config was updated.","format":"date-time","readOnly":true,"type":"string"}},"required":["instanceRole"],"type":"object"},"DiscoveryEndpoint":{"description":"Represents an endpoint for clients to connect to the instance.","properties":{"address":{"description":"Output only. IP address of the exposed endpoint clients connect to.","readOnly":true,"type":"string"},"network":{"description":"Output only. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_name}.","readOnly":true,"type":"string"},"port":{"description":"Output only. The port number of the exposed endpoint.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"EncryptionInfo":{"description":"EncryptionInfo describes the encryption information of a cluster.","properties":{"encryptionType":{"description":"Output only. Type of encryption.","enum":["TYPE_UNSPECIFIED","GOOGLE_DEFAULT_ENCRYPTION","CUSTOMER_MANAGED_ENCRYPTION"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.","The data is encrypted at rest with a key that is fully managed by Google. No key version will be populated. This is the default state.","The data is encrypted at rest with a key that is managed by the customer. KMS key versions will be populated."]},"kmsKeyPrimaryState":{"description":"Output only. The state of the primary version of the KMS key perceived by the system. This field is not populated in backups.","enum":["KMS_KEY_STATE_UNSPECIFIED","ENABLED","PERMISSION_DENIED","DISABLED","DESTROYED","DESTROY_SCHEDULED","EKM_KEY_UNREACHABLE_DETECTED","BILLING_DISABLED","UNKNOWN_FAILURE"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The default value. This value is unused.","The KMS key is enabled and correctly configured.","Permission denied on the KMS key.","The KMS key is disabled.","The KMS key is destroyed.","The KMS key is scheduled to be destroyed.","The EKM key is unreachable.","Billing is disabled for the project.","All other unknown failures."]},"kmsKeyVersions":{"description":"Output only. KMS key versions that are being used to protect the data at-rest.","items":{"type":"string"},"readOnly":true,"type":"array"},"lastUpdateTime":{"description":"Output only. The most recent time when the encryption info was updated.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"FixedFrequencySchedule":{"description":"This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).","properties":{"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required."}},"required":["startTime"],"type":"object"},"GcsBackupSource":{"description":"Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances.","properties":{"uris":{"description":"Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2","items":{"type":"string"},"type":"array"}},"type":"object"},"Instance":{"description":"A Memorystore instance.","properties":{"aclPolicy":{"description":"Optional. The ACL policy for the instance. Format: projects/{project}/locations/{location}/aclPolicies/{acl_policy}","type":"string"},"aclPolicyInSync":{"deprecated":true,"description":"Output only. Deprecated: Whether the ACL rules applied to the instance are in sync.","readOnly":true,"type":"boolean"},"aclPolicyInfo":{"$ref":"#/$defs/AclPolicyInfo","description":"Output only. Details of the applied ACL policy.","readOnly":true},"allowFewerZonesDeployment":{"deprecated":true,"description":"Optional. Immutable. Deprecated, do not use.","type":"boolean","x-google-immutable":true},"asyncInstanceEndpointsDeletionEnabled":{"description":"Optional. If true, instance endpoints that are created and registered by customers can be deleted asynchronously. That is, such an instance endpoint can be de-registered before the forwarding rules in the instance endpoint are deleted.","type":"boolean"},"authorizationMode":{"description":"Optional. Authorization mode of the instance.","enum":["AUTHORIZATION_MODE_UNSPECIFIED","AUTH_DISABLED","IAM_AUTH","TOKEN_AUTH"],"type":"string","x-google-enum-descriptions":["Not set.","Authorization disabled.","IAM basic authorization.","Token based authorization."]},"automatedBackupConfig":{"$ref":"#/$defs/AutomatedBackupConfig","description":"Optional. The automated backup config for the instance."},"availableMaintenanceVersions":{"description":"Output only. This field is used to determine the available maintenance versions for the self service update.","items":{"type":"string"},"readOnly":true,"type":"array"},"backupCollection":{"description":"Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}","readOnly":true,"type":"string"},"createTime":{"description":"Output only. Creation timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"crossInstanceReplicationConfig":{"$ref":"#/$defs/CrossInstanceReplicationConfig","description":"Optional. The config for cross instance replication."},"deletionProtectionEnabled":{"description":"Optional. If set to true deletion of the instance will fail.","type":"boolean"},"discoveryEndpoints":{"deprecated":true,"description":"Output only. Deprecated: The discovery_endpoints parameter is deprecated. As a result, it will not be populated if the connections are created using endpoints parameter. Instead of this parameter, for discovery, use endpoints.connections.pscConnection and endpoints.connections.pscAutoConnection with connectionType CONNECTION_TYPE_DISCOVERY.","items":{"$ref":"#/$defs/DiscoveryEndpoint"},"readOnly":true,"type":"array"},"effectiveMaintenanceVersion":{"description":"Output only. This field represents the actual maintenance version of the instance.","readOnly":true,"type":"string"},"encryptionInfo":{"$ref":"#/$defs/EncryptionInfo","description":"Output only. Encryption information of the data at rest of the cluster.","readOnly":true},"endpoints":{"description":"Optional. Endpoints for the instance.","items":{"$ref":"#/$defs/InstanceEndpoint"},"type":"array"},"engineConfigs":{"additionalProperties":{"type":"string"},"description":"Optional. User-provided engine configurations for the instance.","type":"object"},"engineVersion":{"description":"Optional. Engine version of the instance.","type":"string"},"gcsSource":{"$ref":"#/$defs/GcsBackupSource","description":"Optional. Immutable. Backups that stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the instances. Read permission is required to import from the provided Cloud Storage Objects. Only one of this field or managedBackupSource should be set.","x-google-immutable":true},"kmsKey":{"description":"Optional. The KMS key used to encrypt the at-rest data of the cluster.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Labels to represent user-provided metadata.","type":"object"},"maintenancePolicy":{"$ref":"#/$defs/MaintenancePolicy","description":"Optional. The maintenance policy for the instance. If not provided, the maintenance event will be performed based on Memorystore internal rollout schedule."},"maintenanceSchedule":{"$ref":"#/$defs/MaintenanceSchedule","description":"Output only. Published maintenance schedule.","readOnly":true},"maintenanceVersion":{"description":"Optional. This field can be used to trigger self service update to indicate the desired maintenance version. The input to this field can be determined by the available_maintenance_versions field.","type":"string"},"managedBackupSource":{"$ref":"#/$defs/ManagedBackupSource","description":"Optional. Immutable. Backups that generated and managed by memorystore service. Only one of this field or gcsSource should be set.","x-google-immutable":true},"migrationConfig":{"$ref":"#/$defs/MigrationConfig","description":"Output only. Migration config for the instance.","readOnly":true},"mode":{"description":"Optional. Immutable. The mode config for the instance.","enum":["MODE_UNSPECIFIED","STANDALONE","CLUSTER","CLUSTER_DISABLED"],"type":"string","x-google-enum-deprecated":[false,true,false,false],"x-google-enum-descriptions":["Mode is not specified.","Deprecated: Use CLUSTER_DISABLED instead.","Instance is in cluster mode.","Cluster mode is disabled for the instance."],"x-google-immutable":true},"name":{"description":"Identifier. Unique name of the instance. Format: projects/{project}/locations/{location}/instances/{instance}","type":"string","x-google-identifier":true},"nodeConfig":{"$ref":"#/$defs/NodeConfig","description":"Output only. Configuration of individual nodes of the instance.","readOnly":true},"nodeType":{"description":"Optional. Machine type for individual nodes of the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"ondemandMaintenance":{"deprecated":true,"description":"Optional. Input only. Ondemand maintenance for the instance.","type":"boolean","writeOnly":true},"persistenceConfig":{"$ref":"#/$defs/PersistenceConfig","description":"Optional. Persistence configuration of the instance."},"pscAttachmentDetails":{"description":"Output only. Service attachment details to configure PSC connections.","items":{"$ref":"#/$defs/PscAttachmentDetail"},"readOnly":true,"type":"array"},"pscAutoConnections":{"deprecated":true,"description":"Optional. Immutable. Deprecated: Use the endpoints.connections.psc_auto_connection value instead.","items":{"$ref":"#/$defs/PscAutoConnection"},"type":"array","x-google-immutable":true},"replicaCount":{"description":"Optional. Number of replica nodes per shard. If omitted the default is 0 replicas.","format":"int32","type":"integer"},"rotateServerCertificate":{"description":"Optional. Input only. Rotate the server certificates.","type":"boolean","writeOnly":true},"satisfiesPzi":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"satisfiesPzs":{"description":"Optional. Output only. Reserved for future use.","readOnly":true,"type":"boolean"},"serverCaMode":{"description":"Optional. Immutable. The Server CA mode for the instance.","enum":["SERVER_CA_MODE_UNSPECIFIED","GOOGLE_MANAGED_PER_INSTANCE_CA","GOOGLE_MANAGED_SHARED_CA","CUSTOMER_MANAGED_CAS_CA","SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA","SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA","SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA"],"type":"string","x-google-enum-deprecated":[false,false,false,false,true,true,true],"x-google-enum-descriptions":["Server CA mode not specified.","Each instance has its own Google-managed CA.","The instance uses a Google-managed shared CA for the instance's region.","The instance uses a customer-managed CA from CAS.","Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead.","Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead.","Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead."],"x-google-immutable":true},"serverCaPool":{"description":"Optional. Immutable. The customer-managed CA pool for the instance. Only applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: \"projects/{project}/locations/{region}/caPools/{ca_pool}\".","type":"string","x-google-immutable":true},"shardCount":{"description":"Optional. Number of shards for the instance.","format":"int32","type":"integer"},"simulateMaintenanceEvent":{"description":"Optional. Input only. Simulate a maintenance event.","type":"boolean","writeOnly":true},"state":{"description":"Output only. Current state of the instance.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","UPDATING","DELETING","MIGRATING"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Instance is being created.","Instance has been created and is usable.","Instance is being updated.","Instance is being deleted.","Instance is being migrated."]},"stateInfo":{"$ref":"#/$defs/StateInfo","description":"Output only. Additional information about the state of the instance.","readOnly":true},"transitEncryptionMode":{"description":"Optional. Immutable. In-transit encryption mode of the instance.","enum":["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED","TRANSIT_ENCRYPTION_DISABLED","SERVER_AUTHENTICATION"],"type":"string","x-google-enum-descriptions":["Not set.","In-transit encryption is disabled.","Server-managed encryption is used for in-transit encryption."],"x-google-immutable":true},"uid":{"description":"Output only. System assigned, unique identifier for the instance.","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. Latest update timestamp of the instance.","format":"date-time","readOnly":true,"type":"string"},"zoneDistributionConfig":{"$ref":"#/$defs/ZoneDistributionConfig","description":"Optional. Immutable. Zone distribution configuration of the instance for node allocation.","x-google-immutable":true}},"type":"object"},"InstanceEndpoint":{"description":"InstanceEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the instance. In each group, there shall be one connection for each service attachment in the cluster.","properties":{"connections":{"description":"Optional. A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.","items":{"$ref":"#/$defs/ConnectionDetail"},"type":"array"}},"type":"object"},"MaintenancePolicy":{"description":"Maintenance policy per instance.","properties":{"createTime":{"description":"Output only. The time when the policy was created.","format":"date-time","readOnly":true,"type":"string"},"updateTime":{"description":"Output only. The time when the policy was updated.","format":"date-time","readOnly":true,"type":"string"},"weeklyMaintenanceWindow":{"description":"Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.","items":{"$ref":"#/$defs/WeeklyMaintenanceWindow"},"type":"array"}},"type":"object"},"MaintenanceSchedule":{"description":"Upcoming maintenance schedule.","properties":{"endTime":{"description":"Output only. The end time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"},"startTime":{"description":"Output only. The start time of any upcoming scheduled maintenance for this instance.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"ManagedBackupSource":{"description":"Backups that generated and managed by memorystore.","properties":{"backup":{"description":"Optional. Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under memorystore.googleapis.com.","type":"string"}},"type":"object"},"Membership":{"description":"An output only view of all the member instances participating in the cross instance replication.","properties":{"primaryInstance":{"$ref":"#/$defs/RemoteInstance","description":"Output only. The primary instance that acts as the source of replication for the secondary instances.","readOnly":true},"secondaryInstances":{"description":"Output only. The list of secondary instances replicating from the primary instance.","items":{"$ref":"#/$defs/RemoteInstance"},"readOnly":true,"type":"array"}},"type":"object"},"MigrationConfig":{"description":"Configuration for the migration of an instance.","properties":{"forceFinishMigration":{"description":"Output only. Represents a boolean flag to force migration finalization without offset catch up validation between source and target before stopping replication.","readOnly":true,"type":"boolean"},"selfManagedSource":{"$ref":"#/$defs/SelfManagedSource","description":"Output only. Configuration for migrating from a self-managed Valkey/Redis instance","readOnly":true},"state":{"description":"Output only. Migration state of the instance.","enum":["STATE_UNSPECIFIED","ROLLED_BACK","ROLLING_BACK","REPLICATION_ESTABLISHED","MIGRATED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Instance has no migration related activity. This is the initial state.","Instance is not currently migrating. The instance underwent a migration attempt that failed, and the subsequent rollback was successful. The instance is now ready for a new migration attempt if desired.","Indicates a previous migration attempt failed. The high-level instance state will be `MIGRATING`. The instance is not ready for a new migration attempt. Rollback is in progress to restore the instance to its original state. The instance will remain in this state until rollback is successful.","Instance is in the process of migration. Instance has established successful replication and is ready for cutover.","Instance is successfully migrated."]}},"type":"object"},"NodeConfig":{"description":"Represents configuration for nodes of the instance.","properties":{"sizeGb":{"description":"Output only. Memory size in GB of the node.","format":"double","readOnly":true,"type":"number"}},"type":"object"},"PersistenceConfig":{"description":"Represents persistence configuration for a instance.","properties":{"aofConfig":{"$ref":"#/$defs/AOFConfig","description":"Optional. AOF configuration. This field will be ignored if mode is not AOF."},"mode":{"description":"Optional. Current persistence mode.","enum":["PERSISTENCE_MODE_UNSPECIFIED","DISABLED","RDB","AOF"],"type":"string","x-google-enum-descriptions":["Not set.","Persistence is disabled, and any snapshot data is deleted.","RDB based persistence is enabled.","AOF based persistence is enabled."]},"rdbConfig":{"$ref":"#/$defs/RDBConfig","description":"Optional. RDB configuration. This field will be ignored if mode is not RDB."}},"type":"object"},"PscAttachmentDetail":{"description":"Configuration of a service attachment of the cluster, for creating PSC connections.","properties":{"connectionType":{"description":"Output only. Type of Psc endpoint.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"serviceAttachment":{"description":"Output only. Service attachment URI which your self-created PscConnection should use as target.","readOnly":true,"type":"string"}},"type":"object"},"PscAutoConnection":{"description":"Details of consumer resources in a PSC connection.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Output only. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","readOnly":true,"type":"string"},"ipAddress":{"description":"Output only. The IP allocated on the consumer network for the PSC forwarding rule.","readOnly":true,"type":"string"},"network":{"description":"Required. The network where the PSC endpoints are created, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Required. The consumer project_id where PSC connections are established. This should be the same project_id that the instance is being created in.","type":"string"},"pscConnectionId":{"description":"Output only. The PSC connection id of the forwarding rule connected to the service attachment.","readOnly":true,"type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","readOnly":true,"type":"string"}},"required":["projectId","network"],"type":"object"},"PscConnection":{"description":"User created Psc connection configuration.","properties":{"connectionType":{"description":"Output only. Type of the PSC connection.","enum":["CONNECTION_TYPE_UNSPECIFIED","CONNECTION_TYPE_DISCOVERY","CONNECTION_TYPE_PRIMARY","CONNECTION_TYPE_READER"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Connection Type is not set","Connection that will be used for topology discovery.","Connection that will be used as primary endpoint to access primary.","Connection that will be used as reader endpoint to access replicas."]},"forwardingRule":{"description":"Required. The URI of the consumer side forwarding rule. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}","type":"string"},"ipAddress":{"description":"Required. The IP allocated on the consumer network for the PSC forwarding rule.","type":"string"},"network":{"description":"Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_name}.","type":"string"},"port":{"description":"Optional. port will only be set for Primary/Reader or Discovery endpoint.","format":"int32","type":"integer"},"projectId":{"description":"Output only. The consumer project_id where the forwarding rule is created from.","readOnly":true,"type":"string"},"pscConnectionId":{"description":"Required. The PSC connection id of the forwarding rule connected to the service attachment.","type":"string"},"pscConnectionStatus":{"description":"Output only. The status of the PSC connection: whether a connection exists and ACTIVE or it no longer exists. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.","enum":["PSC_CONNECTION_STATUS_UNSPECIFIED","ACTIVE","NOT_FOUND"],"readOnly":true,"type":"string","x-google-enum-descriptions":["PSC connection status is not specified.","The connection is active","Connection not found"]},"serviceAttachment":{"description":"Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.","type":"string"}},"required":["pscConnectionId","ipAddress","forwardingRule","network","serviceAttachment"],"type":"object"},"RDBConfig":{"description":"Configuration for RDB based persistence.","properties":{"rdbSnapshotPeriod":{"description":"Optional. Period between RDB snapshots.","enum":["SNAPSHOT_PERIOD_UNSPECIFIED","ONE_HOUR","SIX_HOURS","TWELVE_HOURS","TWENTY_FOUR_HOURS"],"type":"string","x-google-enum-descriptions":["Not set.","One hour.","Six hours.","Twelve hours.","Twenty four hours."]},"rdbSnapshotStartTime":{"description":"Optional. Time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.","format":"date-time","type":"string"}},"type":"object"},"RemoteInstance":{"description":"Details of the remote instance associated with this instance in a cross instance replication setup.","properties":{"instance":{"description":"Optional. The full resource path of the remote instance in the format: projects//locations//instances/","type":"string"},"uid":{"description":"Output only. The unique identifier of the remote instance.","readOnly":true,"type":"string"}},"type":"object"},"SelfManagedSource":{"description":"Details of the self-managed source instance.","properties":{"ipAddress":{"description":"Required. The IP address of the source instance. This IP address should be a stable IP address that can be accessed by the Memorystore instance throughout the migration process.","type":"string"},"networkAttachment":{"description":"Required. The resource name of the Private Service Connect Network Attachment used to establish connectivity to the source instance. This network attachment has the following requirements: 1. It must be in the same project as the Memorystore instance. 2. It must be in the same region as the Memorystore instance. 3. The subnet attached to the network attachment must be in the same VPC network as the source instance nodes. Format: projects/{project}/regions/{region}/networkAttachments/{network_attachment}","type":"string"},"port":{"description":"Required. The port of the source instance. This port should be a stable port that can be accessed by the Memorystore instance throughout the migration process.","format":"int32","type":"integer"}},"required":["ipAddress","port","networkAttachment"],"type":"object"},"StateInfo":{"description":"Additional information about the state of the instance.","properties":{"updateInfo":{"$ref":"#/$defs/UpdateInfo","description":"Output only. Describes ongoing update when instance state is UPDATING.","readOnly":true}},"type":"object"},"TimeOfDay":{"description":"Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.","properties":{"hours":{"description":"Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.","format":"int32","type":"integer"},"minutes":{"description":"Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.","format":"int32","type":"integer"},"nanos":{"description":"Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.","format":"int32","type":"integer"},"seconds":{"description":"Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateInfo":{"description":"Represents information about instance with state UPDATING.","properties":{"targetEngineVersion":{"description":"Output only. Target engine version for the instance.","readOnly":true,"type":"string"},"targetNodeType":{"description":"Output only. Target node type for the instance.","enum":["NODE_TYPE_UNSPECIFIED","SHARED_CORE_NANO","HIGHMEM_MEDIUM","HIGHMEM_XLARGE","STANDARD_SMALL","CUSTOM_MICRO","CUSTOM_MINI","HIGHCPU_MEDIUM","STANDARD_LARGE","HIGHMEM_2XLARGE","CUSTOM_PICO"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Not set.","Shared core nano.","High memory medium.","High memory extra large.","Standard small.","Custom micro.","Custom mini.","High cpu medium.","Standard large.","High memory 2xlarge.","Custom pico."]},"targetReplicaCount":{"description":"Output only. Target number of replica nodes per shard for the instance.","format":"int32","readOnly":true,"type":"integer"},"targetShardCount":{"description":"Output only. Target number of shards for the instance.","format":"int32","readOnly":true,"type":"integer"}},"type":"object"},"WeeklyMaintenanceWindow":{"description":"Time window specified for weekly operations.","properties":{"day":{"description":"Optional. Allows to define schedule that runs specified day of the week.","enum":["DAY_OF_WEEK_UNSPECIFIED","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","x-google-enum-descriptions":["The day of the week is unspecified.","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},"startTime":{"$ref":"#/$defs/TimeOfDay","description":"Optional. Start time of the window in UTC."}},"type":"object"},"ZoneDistributionConfig":{"description":"Zone distribution configuration for allocation of instance resources.","properties":{"mode":{"description":"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.","enum":["ZONE_DISTRIBUTION_MODE_UNSPECIFIED","MULTI_ZONE","SINGLE_ZONE"],"type":"string","x-google-enum-descriptions":["Not Set. Default: MULTI_ZONE","Distribute resources across 3 zones picked at random within the region.","Provision resources in a single zone. Zone field must be specified."]},"zone":{"description":"Optional. Defines zone where all resources will be allocated with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.","type":"string"},"zones":{"description":"Optional. Specify the zones of a multi-zone instance where Memorystore instance allocates resources. This flag isn't applicable for single-zone instances.","items":{"type":"string"},"type":"array"}},"type":"object"}},"description":"Request message for `UpdateInstance`.","properties":{"instance":{"$ref":"#/$defs/Instance","description":"Required. The instance to update."},"requestId":{"description":"Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).","type":"string"},"updateMask":{"description":"Optional. The list of fields to be updated on the instance. At least one field must be specified.","format":"google-fieldmask","pattern":"^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$","type":"string"}},"required":["instance"],"type":"object"}⟨216 unchanged words⟩ the operation in case of failure or cancellation. Only one of this field or response should be set."},"metadata":{"additionalProperties":{"description" ⟨166 unchanged words⟩ ()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.","type":"object"}},"type":"object"}