# ReplicaSet

In-Memory DB replica set with support for a single instance or a In-Memory DB replication in **leader follower** mode. The mode is determined by the number of replicas. One replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.

This tag groups all operations for replicaset.

## Retrieve all ReplicaSet

> This endpoint enables retrieving all ReplicaSet using\
> pagination and optional filters.<br>

```json
{"openapi":"3.0.3","info":{"title":"In-Memory DB API","version":"1.0.0"},"tags":[{"name":"ReplicaSet","description":"In-Memory DB replica set with support for a single instance\nor a In-Memory DB replication in **leader follower** mode.\nThe mode is determined by the number of replicas.\nOne replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.\n\nThis tag groups all operations for replicaset.\n"}],"servers":[{"url":"https://in-memory-db.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://in-memory-db.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://in-memory-db.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://in-memory-db.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://in-memory-db.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://in-memory-db.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://in-memory-db.us-las.ionos.com","description":"service endpoint for location us-las"},{"url":"https://in-memory-db.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://in-memory-db.fr-par.ionos.com","description":"service endpoint for location fr-par"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"parameters":{"paginationOffset":{"name":"offset","in":"query","description":"The first element (of the total list of elements) to include in the response. Use this parameter together with the limit for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},"paginationLimit":{"name":"limit","in":"query","description":"The maximum number of elements to return. Use this parameter together with the offset for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":100,"minimum":1,"maximum":1000}},"displayNameQuery":{"name":"filter.name","in":"query","description":"Response filter to list only items contain\nthe specified name. The value is case insensitive and matched on the\n'displayName' field.\n","required":false,"schema":{"type":"string"}}},"schemas":{"ReplicaSetReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of ReplicaSet resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of ReplicaSet resources.","type":"string"},"items":{"description":"The list of ReplicaSet resources.","type":"array","items":{"$ref":"#/components/schemas/ReplicaSetRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"ReplicaSetRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the ReplicaSet.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["replicaset"]},"href":{"description":"The URL of the ReplicaSet.","type":"string"},"metadata":{"$ref":"#/components/schemas/ReplicaSetMetadata"},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSetMetadata":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"},{"type":"object","required":["dnsName"],"properties":{"dnsName":{"$ref":"#/components/schemas/DnsName"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"type":"string","enum":["AVAILABLE","BUSY","FAILED","UNKNOWN"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"DnsName":{"type":"string","description":"The DNS name pointing to your replica set. Will be used to connect to the active/standalone instance.\n"},"ReplicaSet":{"description":"Properties with all data needed to create a new In-Memory DB replication.\n","required":["displayName","version","replicas","resources","persistenceMode","evictionPolicy","connections","credentials"],"type":"object","properties":{"displayName":{"type":"string","description":"The human readable name of your replica set."},"version":{"$ref":"#/components/schemas/Version"},"replicas":{"$ref":"#/components/schemas/Replicas"},"resources":{"$ref":"#/components/schemas/Resources"},"persistenceMode":{"$ref":"#/components/schemas/PersistenceMode"},"evictionPolicy":{"$ref":"#/components/schemas/EvictionPolicy"},"connections":{"type":"array","minItems":1,"maxItems":1,"description":"The network connection for your replica set. Only one connection is\nallowed.\n","items":{"$ref":"#/components/schemas/Connection"}},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"},"backup":{"$ref":"#/components/schemas/BackupProperties"},"credentials":{"$ref":"#/components/schemas/User"},"initialSnapshotId":{"type":"string","format":"uuid","description":"The ID of a snapshot to restore the replica set from.\nIf set, the replica set will be created from the snapshot.\n"}}},"Version":{"type":"string","description":"The In-Memory DB version of your replica set."},"Replicas":{"type":"integer","description":"The total number of replicas in the replica set (one active and n-1 passive).\nIn case of a standalone instance, the value is 1. In all other cases, the value is >1.\nThe replicas will not be available as read replicas, they are only standby for a failure\nof the active instance.\n","minimum":1,"maximum":5},"Resources":{"type":"object","description":"The resources of the individual replicas.\n","required":["cores","ram","storage"],"properties":{"cores":{"$ref":"#/components/schemas/Cores"},"ram":{"$ref":"#/components/schemas/Ram"},"storage":{"type":"integer","description":"The size of the storage in GB.\nThe size is derived from the amount of RAM and the persistence mode\nand is not configurable.\n","readOnly":true}}},"Cores":{"type":"integer","description":"The number of CPU cores per instance.","minimum":1,"maximum":31},"Ram":{"type":"integer","description":"The amount of memory per instance in gigabytes (GB).","minimum":4,"maximum":256},"PersistenceMode":{"type":"string","enum":["None","AOF","RDB","RDB_AOF"],"description":"Specifies How and If data is persisted.\n| Mode                          | Description |\n|-------------------------------|-------------|\n| **None**                      | Data is inMemory only and will not be persisted. Useful for cache only applications. |\n| **AOF** (Append Only File)    | AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset. Commands are logged using the same format as the In-Memory DB protocol itself. |\n| **RDB**                       | RDB persistence performs snapshots of the current in memory state. |\n| **RDB_AOF**                   | Booth, RDB and AOF persistence are enabled. |\n","default":"None"},"EvictionPolicy":{"type":"string","description":"The eviction policy for the replica set.\nThe default value is `allkeys-lru`.\n| Policy                | Description |\n|-----------------------|-------------|\n| **noeviction**        | No eviction policy is used. In-Memory DB will never remove any data. If the memory limit is reached, an error will be returned on write operations. |\n| **allkeys-lru**       | The least recently used keys will be removed first. |\n| **allkeys-lfu**       | The least frequently used keys will be removed first. |\n| **allkeys-random**    | Random keys will be removed. |\n| **volatile-lru**      | The least recently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-lfu**      | The least frequently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-random**   | Random keys will be removed, but only among keys with the `expire` field set to `true`. |\n| **volatile-ttl**      | The key with the nearest time to live will be removed first, but only among keys with the `expire` field set to `true`. |\n","enum":["noeviction","allkeys-lru","allkeys-lfu","allkeys-random","volatile-lru","volatile-lfu","volatile-random","volatile-ttl"],"default":"allkeys-lru"},"Connection":{"description":"Details about the network connection for your instance.","properties":{"datacenterId":{"description":"The datacenter to connect your instance to.","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"cidr":{"type":"string","description":"The IP and subnet for your instance.\nNote the following unavailable IP ranges:\n10.210.0.0/16\n10.212.0.0/14\n"}},"required":["datacenterId","lanId","cidr"],"type":"object"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"BackupProperties":{"description":"Properties configuring the backup of the replicaset.\n","properties":{"location":{"$ref":"#/components/schemas/BackupLocation"}},"type":"object"},"BackupLocation":{"type":"string","description":"The S3 location where the backups will be stored."},"User":{"description":"Credentials for the In-Memory DB replicaset.","properties":{"username":{"$ref":"#/components/schemas/Username"},"password":{"oneOf":[{"$ref":"#/components/schemas/PlaintextPassword"},{"$ref":"#/components/schemas/HashedPassword"}]}},"required":["username","password"],"type":"object"},"Username":{"description":"The username for the initial In-Memory DB user. Some system usernames\nare restricted (e.g. `\"admin\"`, `\"standby\"`).\n","minLength":1,"maxLength":16,"pattern":"^[a-zA-Z0-9_]{1,16}$","type":"string"},"PlaintextPassword":{"type":"string","description":"The password for a In-Memory DB user.","writeOnly":true,"minLength":10,"maxLength":63},"HashedPassword":{"type":"object","description":"The hashed password for a In-Memory DB user.","writeOnly":true,"required":["algorithm","hash"],"properties":{"algorithm":{"type":"string","enum":["SHA-256"]},"hash":{"type":"string","minLength":64,"maxLength":64}}},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/replicasets":{"get":{"operationId":"replicasetsGet","summary":"Retrieve all ReplicaSet","description":"This endpoint enables retrieving all ReplicaSet using\npagination and optional filters.\n","parameters":[{"$ref":"#/components/parameters/paginationOffset"},{"$ref":"#/components/parameters/paginationLimit"},{"$ref":"#/components/parameters/displayNameQuery"}],"tags":["ReplicaSet"],"responses":{"200":{"description":"Returned all requested ReplicaSet successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Create ReplicaSet

> Creates a new ReplicaSet.\
> \
> The full ReplicaSet needs to be provided to create the object.\
> Optional data will be filled with defaults or left empty.<br>

```json
{"openapi":"3.0.3","info":{"title":"In-Memory DB API","version":"1.0.0"},"tags":[{"name":"ReplicaSet","description":"In-Memory DB replica set with support for a single instance\nor a In-Memory DB replication in **leader follower** mode.\nThe mode is determined by the number of replicas.\nOne replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.\n\nThis tag groups all operations for replicaset.\n"}],"servers":[{"url":"https://in-memory-db.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://in-memory-db.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://in-memory-db.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://in-memory-db.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://in-memory-db.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://in-memory-db.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://in-memory-db.us-las.ionos.com","description":"service endpoint for location us-las"},{"url":"https://in-memory-db.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://in-memory-db.fr-par.ionos.com","description":"service endpoint for location fr-par"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"ReplicaSetCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSet":{"description":"Properties with all data needed to create a new In-Memory DB replication.\n","required":["displayName","version","replicas","resources","persistenceMode","evictionPolicy","connections","credentials"],"type":"object","properties":{"displayName":{"type":"string","description":"The human readable name of your replica set."},"version":{"$ref":"#/components/schemas/Version"},"replicas":{"$ref":"#/components/schemas/Replicas"},"resources":{"$ref":"#/components/schemas/Resources"},"persistenceMode":{"$ref":"#/components/schemas/PersistenceMode"},"evictionPolicy":{"$ref":"#/components/schemas/EvictionPolicy"},"connections":{"type":"array","minItems":1,"maxItems":1,"description":"The network connection for your replica set. Only one connection is\nallowed.\n","items":{"$ref":"#/components/schemas/Connection"}},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"},"backup":{"$ref":"#/components/schemas/BackupProperties"},"credentials":{"$ref":"#/components/schemas/User"},"initialSnapshotId":{"type":"string","format":"uuid","description":"The ID of a snapshot to restore the replica set from.\nIf set, the replica set will be created from the snapshot.\n"}}},"Version":{"type":"string","description":"The In-Memory DB version of your replica set."},"Replicas":{"type":"integer","description":"The total number of replicas in the replica set (one active and n-1 passive).\nIn case of a standalone instance, the value is 1. In all other cases, the value is >1.\nThe replicas will not be available as read replicas, they are only standby for a failure\nof the active instance.\n","minimum":1,"maximum":5},"Resources":{"type":"object","description":"The resources of the individual replicas.\n","required":["cores","ram","storage"],"properties":{"cores":{"$ref":"#/components/schemas/Cores"},"ram":{"$ref":"#/components/schemas/Ram"},"storage":{"type":"integer","description":"The size of the storage in GB.\nThe size is derived from the amount of RAM and the persistence mode\nand is not configurable.\n","readOnly":true}}},"Cores":{"type":"integer","description":"The number of CPU cores per instance.","minimum":1,"maximum":31},"Ram":{"type":"integer","description":"The amount of memory per instance in gigabytes (GB).","minimum":4,"maximum":256},"PersistenceMode":{"type":"string","enum":["None","AOF","RDB","RDB_AOF"],"description":"Specifies How and If data is persisted.\n| Mode                          | Description |\n|-------------------------------|-------------|\n| **None**                      | Data is inMemory only and will not be persisted. Useful for cache only applications. |\n| **AOF** (Append Only File)    | AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset. Commands are logged using the same format as the In-Memory DB protocol itself. |\n| **RDB**                       | RDB persistence performs snapshots of the current in memory state. |\n| **RDB_AOF**                   | Booth, RDB and AOF persistence are enabled. |\n","default":"None"},"EvictionPolicy":{"type":"string","description":"The eviction policy for the replica set.\nThe default value is `allkeys-lru`.\n| Policy                | Description |\n|-----------------------|-------------|\n| **noeviction**        | No eviction policy is used. In-Memory DB will never remove any data. If the memory limit is reached, an error will be returned on write operations. |\n| **allkeys-lru**       | The least recently used keys will be removed first. |\n| **allkeys-lfu**       | The least frequently used keys will be removed first. |\n| **allkeys-random**    | Random keys will be removed. |\n| **volatile-lru**      | The least recently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-lfu**      | The least frequently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-random**   | Random keys will be removed, but only among keys with the `expire` field set to `true`. |\n| **volatile-ttl**      | The key with the nearest time to live will be removed first, but only among keys with the `expire` field set to `true`. |\n","enum":["noeviction","allkeys-lru","allkeys-lfu","allkeys-random","volatile-lru","volatile-lfu","volatile-random","volatile-ttl"],"default":"allkeys-lru"},"Connection":{"description":"Details about the network connection for your instance.","properties":{"datacenterId":{"description":"The datacenter to connect your instance to.","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"cidr":{"type":"string","description":"The IP and subnet for your instance.\nNote the following unavailable IP ranges:\n10.210.0.0/16\n10.212.0.0/14\n"}},"required":["datacenterId","lanId","cidr"],"type":"object"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"BackupProperties":{"description":"Properties configuring the backup of the replicaset.\n","properties":{"location":{"$ref":"#/components/schemas/BackupLocation"}},"type":"object"},"BackupLocation":{"type":"string","description":"The S3 location where the backups will be stored."},"User":{"description":"Credentials for the In-Memory DB replicaset.","properties":{"username":{"$ref":"#/components/schemas/Username"},"password":{"oneOf":[{"$ref":"#/components/schemas/PlaintextPassword"},{"$ref":"#/components/schemas/HashedPassword"}]}},"required":["username","password"],"type":"object"},"Username":{"description":"The username for the initial In-Memory DB user. Some system usernames\nare restricted (e.g. `\"admin\"`, `\"standby\"`).\n","minLength":1,"maxLength":16,"pattern":"^[a-zA-Z0-9_]{1,16}$","type":"string"},"PlaintextPassword":{"type":"string","description":"The password for a In-Memory DB user.","writeOnly":true,"minLength":10,"maxLength":63},"HashedPassword":{"type":"object","description":"The hashed password for a In-Memory DB user.","writeOnly":true,"required":["algorithm","hash"],"properties":{"algorithm":{"type":"string","enum":["SHA-256"]},"hash":{"type":"string","minLength":64,"maxLength":64}}},"ReplicaSetRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the ReplicaSet.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["replicaset"]},"href":{"description":"The URL of the ReplicaSet.","type":"string"},"metadata":{"$ref":"#/components/schemas/ReplicaSetMetadata"},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSetMetadata":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"},{"type":"object","required":["dnsName"],"properties":{"dnsName":{"$ref":"#/components/schemas/DnsName"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"type":"string","enum":["AVAILABLE","BUSY","FAILED","UNKNOWN"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"DnsName":{"type":"string","description":"The DNS name pointing to your replica set. Will be used to connect to the active/standalone instance.\n"},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnsupportedMediaType":{"description":"### Unsupported Media Type\nThe request has an unsupported media type.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnprocessableEntity":{"description":"### Unprocessable Entity\nThe request was well-formed but was unable to be followed due to semantic errors.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/replicasets":{"post":{"operationId":"replicasetsPost","summary":"Create ReplicaSet","tags":["ReplicaSet"],"description":"Creates a new ReplicaSet.\n\nThe full ReplicaSet needs to be provided to create the object.\nOptional data will be filled with defaults or left empty.\n","requestBody":{"description":"ReplicaSet to create.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetCreate"}}}},"responses":{"201":{"description":"ReplicaSet successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/UnprocessableEntity"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Retrieve ReplicaSet

> Returns the ReplicaSet by ID.

```json
{"openapi":"3.0.3","info":{"title":"In-Memory DB API","version":"1.0.0"},"tags":[{"name":"ReplicaSet","description":"In-Memory DB replica set with support for a single instance\nor a In-Memory DB replication in **leader follower** mode.\nThe mode is determined by the number of replicas.\nOne replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.\n\nThis tag groups all operations for replicaset.\n"}],"servers":[{"url":"https://in-memory-db.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://in-memory-db.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://in-memory-db.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://in-memory-db.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://in-memory-db.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://in-memory-db.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://in-memory-db.us-las.ionos.com","description":"service endpoint for location us-las"},{"url":"https://in-memory-db.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://in-memory-db.fr-par.ionos.com","description":"service endpoint for location fr-par"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"ReplicaSetRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the ReplicaSet.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["replicaset"]},"href":{"description":"The URL of the ReplicaSet.","type":"string"},"metadata":{"$ref":"#/components/schemas/ReplicaSetMetadata"},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSetMetadata":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"},{"type":"object","required":["dnsName"],"properties":{"dnsName":{"$ref":"#/components/schemas/DnsName"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"type":"string","enum":["AVAILABLE","BUSY","FAILED","UNKNOWN"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"DnsName":{"type":"string","description":"The DNS name pointing to your replica set. Will be used to connect to the active/standalone instance.\n"},"ReplicaSet":{"description":"Properties with all data needed to create a new In-Memory DB replication.\n","required":["displayName","version","replicas","resources","persistenceMode","evictionPolicy","connections","credentials"],"type":"object","properties":{"displayName":{"type":"string","description":"The human readable name of your replica set."},"version":{"$ref":"#/components/schemas/Version"},"replicas":{"$ref":"#/components/schemas/Replicas"},"resources":{"$ref":"#/components/schemas/Resources"},"persistenceMode":{"$ref":"#/components/schemas/PersistenceMode"},"evictionPolicy":{"$ref":"#/components/schemas/EvictionPolicy"},"connections":{"type":"array","minItems":1,"maxItems":1,"description":"The network connection for your replica set. Only one connection is\nallowed.\n","items":{"$ref":"#/components/schemas/Connection"}},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"},"backup":{"$ref":"#/components/schemas/BackupProperties"},"credentials":{"$ref":"#/components/schemas/User"},"initialSnapshotId":{"type":"string","format":"uuid","description":"The ID of a snapshot to restore the replica set from.\nIf set, the replica set will be created from the snapshot.\n"}}},"Version":{"type":"string","description":"The In-Memory DB version of your replica set."},"Replicas":{"type":"integer","description":"The total number of replicas in the replica set (one active and n-1 passive).\nIn case of a standalone instance, the value is 1. In all other cases, the value is >1.\nThe replicas will not be available as read replicas, they are only standby for a failure\nof the active instance.\n","minimum":1,"maximum":5},"Resources":{"type":"object","description":"The resources of the individual replicas.\n","required":["cores","ram","storage"],"properties":{"cores":{"$ref":"#/components/schemas/Cores"},"ram":{"$ref":"#/components/schemas/Ram"},"storage":{"type":"integer","description":"The size of the storage in GB.\nThe size is derived from the amount of RAM and the persistence mode\nand is not configurable.\n","readOnly":true}}},"Cores":{"type":"integer","description":"The number of CPU cores per instance.","minimum":1,"maximum":31},"Ram":{"type":"integer","description":"The amount of memory per instance in gigabytes (GB).","minimum":4,"maximum":256},"PersistenceMode":{"type":"string","enum":["None","AOF","RDB","RDB_AOF"],"description":"Specifies How and If data is persisted.\n| Mode                          | Description |\n|-------------------------------|-------------|\n| **None**                      | Data is inMemory only and will not be persisted. Useful for cache only applications. |\n| **AOF** (Append Only File)    | AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset. Commands are logged using the same format as the In-Memory DB protocol itself. |\n| **RDB**                       | RDB persistence performs snapshots of the current in memory state. |\n| **RDB_AOF**                   | Booth, RDB and AOF persistence are enabled. |\n","default":"None"},"EvictionPolicy":{"type":"string","description":"The eviction policy for the replica set.\nThe default value is `allkeys-lru`.\n| Policy                | Description |\n|-----------------------|-------------|\n| **noeviction**        | No eviction policy is used. In-Memory DB will never remove any data. If the memory limit is reached, an error will be returned on write operations. |\n| **allkeys-lru**       | The least recently used keys will be removed first. |\n| **allkeys-lfu**       | The least frequently used keys will be removed first. |\n| **allkeys-random**    | Random keys will be removed. |\n| **volatile-lru**      | The least recently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-lfu**      | The least frequently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-random**   | Random keys will be removed, but only among keys with the `expire` field set to `true`. |\n| **volatile-ttl**      | The key with the nearest time to live will be removed first, but only among keys with the `expire` field set to `true`. |\n","enum":["noeviction","allkeys-lru","allkeys-lfu","allkeys-random","volatile-lru","volatile-lfu","volatile-random","volatile-ttl"],"default":"allkeys-lru"},"Connection":{"description":"Details about the network connection for your instance.","properties":{"datacenterId":{"description":"The datacenter to connect your instance to.","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"cidr":{"type":"string","description":"The IP and subnet for your instance.\nNote the following unavailable IP ranges:\n10.210.0.0/16\n10.212.0.0/14\n"}},"required":["datacenterId","lanId","cidr"],"type":"object"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"BackupProperties":{"description":"Properties configuring the backup of the replicaset.\n","properties":{"location":{"$ref":"#/components/schemas/BackupLocation"}},"type":"object"},"BackupLocation":{"type":"string","description":"The S3 location where the backups will be stored."},"User":{"description":"Credentials for the In-Memory DB replicaset.","properties":{"username":{"$ref":"#/components/schemas/Username"},"password":{"oneOf":[{"$ref":"#/components/schemas/PlaintextPassword"},{"$ref":"#/components/schemas/HashedPassword"}]}},"required":["username","password"],"type":"object"},"Username":{"description":"The username for the initial In-Memory DB user. Some system usernames\nare restricted (e.g. `\"admin\"`, `\"standby\"`).\n","minLength":1,"maxLength":16,"pattern":"^[a-zA-Z0-9_]{1,16}$","type":"string"},"PlaintextPassword":{"type":"string","description":"The password for a In-Memory DB user.","writeOnly":true,"minLength":10,"maxLength":63},"HashedPassword":{"type":"object","description":"The hashed password for a In-Memory DB user.","writeOnly":true,"required":["algorithm","hash"],"properties":{"algorithm":{"type":"string","enum":["SHA-256"]},"hash":{"type":"string","minLength":64,"maxLength":64}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/replicasets/{replicasetId}":{"get":{"operationId":"replicasetsFindById","summary":"Retrieve ReplicaSet","tags":["ReplicaSet"],"description":"Returns the ReplicaSet by ID.","parameters":[{"name":"replicasetId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the ReplicaSet."}],"responses":{"200":{"description":"Getting ReplicaSet was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Ensure ReplicaSet

> Ensures that the ReplicaSet with the provided ID is created or modified.\
> The full ReplicaSet needs to be provided to ensure\
> (either update or create) the ReplicaSet. Non present data will\
> only be filled with defaults or left empty, but not take\
> previous values into consideration.<br>

```json
{"openapi":"3.0.3","info":{"title":"In-Memory DB API","version":"1.0.0"},"tags":[{"name":"ReplicaSet","description":"In-Memory DB replica set with support for a single instance\nor a In-Memory DB replication in **leader follower** mode.\nThe mode is determined by the number of replicas.\nOne replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.\n\nThis tag groups all operations for replicaset.\n"}],"servers":[{"url":"https://in-memory-db.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://in-memory-db.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://in-memory-db.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://in-memory-db.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://in-memory-db.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://in-memory-db.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://in-memory-db.us-las.ionos.com","description":"service endpoint for location us-las"},{"url":"https://in-memory-db.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://in-memory-db.fr-par.ionos.com","description":"service endpoint for location fr-par"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"ReplicaSetEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the ReplicaSet.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSet":{"description":"Properties with all data needed to create a new In-Memory DB replication.\n","required":["displayName","version","replicas","resources","persistenceMode","evictionPolicy","connections","credentials"],"type":"object","properties":{"displayName":{"type":"string","description":"The human readable name of your replica set."},"version":{"$ref":"#/components/schemas/Version"},"replicas":{"$ref":"#/components/schemas/Replicas"},"resources":{"$ref":"#/components/schemas/Resources"},"persistenceMode":{"$ref":"#/components/schemas/PersistenceMode"},"evictionPolicy":{"$ref":"#/components/schemas/EvictionPolicy"},"connections":{"type":"array","minItems":1,"maxItems":1,"description":"The network connection for your replica set. Only one connection is\nallowed.\n","items":{"$ref":"#/components/schemas/Connection"}},"maintenanceWindow":{"$ref":"#/components/schemas/MaintenanceWindow"},"backup":{"$ref":"#/components/schemas/BackupProperties"},"credentials":{"$ref":"#/components/schemas/User"},"initialSnapshotId":{"type":"string","format":"uuid","description":"The ID of a snapshot to restore the replica set from.\nIf set, the replica set will be created from the snapshot.\n"}}},"Version":{"type":"string","description":"The In-Memory DB version of your replica set."},"Replicas":{"type":"integer","description":"The total number of replicas in the replica set (one active and n-1 passive).\nIn case of a standalone instance, the value is 1. In all other cases, the value is >1.\nThe replicas will not be available as read replicas, they are only standby for a failure\nof the active instance.\n","minimum":1,"maximum":5},"Resources":{"type":"object","description":"The resources of the individual replicas.\n","required":["cores","ram","storage"],"properties":{"cores":{"$ref":"#/components/schemas/Cores"},"ram":{"$ref":"#/components/schemas/Ram"},"storage":{"type":"integer","description":"The size of the storage in GB.\nThe size is derived from the amount of RAM and the persistence mode\nand is not configurable.\n","readOnly":true}}},"Cores":{"type":"integer","description":"The number of CPU cores per instance.","minimum":1,"maximum":31},"Ram":{"type":"integer","description":"The amount of memory per instance in gigabytes (GB).","minimum":4,"maximum":256},"PersistenceMode":{"type":"string","enum":["None","AOF","RDB","RDB_AOF"],"description":"Specifies How and If data is persisted.\n| Mode                          | Description |\n|-------------------------------|-------------|\n| **None**                      | Data is inMemory only and will not be persisted. Useful for cache only applications. |\n| **AOF** (Append Only File)    | AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset. Commands are logged using the same format as the In-Memory DB protocol itself. |\n| **RDB**                       | RDB persistence performs snapshots of the current in memory state. |\n| **RDB_AOF**                   | Booth, RDB and AOF persistence are enabled. |\n","default":"None"},"EvictionPolicy":{"type":"string","description":"The eviction policy for the replica set.\nThe default value is `allkeys-lru`.\n| Policy                | Description |\n|-----------------------|-------------|\n| **noeviction**        | No eviction policy is used. In-Memory DB will never remove any data. If the memory limit is reached, an error will be returned on write operations. |\n| **allkeys-lru**       | The least recently used keys will be removed first. |\n| **allkeys-lfu**       | The least frequently used keys will be removed first. |\n| **allkeys-random**    | Random keys will be removed. |\n| **volatile-lru**      | The least recently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-lfu**      | The least frequently used keys will be removed first, but only among keys with the `expire` field set to `true`. |\n| **volatile-random**   | Random keys will be removed, but only among keys with the `expire` field set to `true`. |\n| **volatile-ttl**      | The key with the nearest time to live will be removed first, but only among keys with the `expire` field set to `true`. |\n","enum":["noeviction","allkeys-lru","allkeys-lfu","allkeys-random","volatile-lru","volatile-lfu","volatile-random","volatile-ttl"],"default":"allkeys-lru"},"Connection":{"description":"Details about the network connection for your instance.","properties":{"datacenterId":{"description":"The datacenter to connect your instance to.","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"cidr":{"type":"string","description":"The IP and subnet for your instance.\nNote the following unavailable IP ranges:\n10.210.0.0/16\n10.212.0.0/14\n"}},"required":["datacenterId","lanId","cidr"],"type":"object"},"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"BackupProperties":{"description":"Properties configuring the backup of the replicaset.\n","properties":{"location":{"$ref":"#/components/schemas/BackupLocation"}},"type":"object"},"BackupLocation":{"type":"string","description":"The S3 location where the backups will be stored."},"User":{"description":"Credentials for the In-Memory DB replicaset.","properties":{"username":{"$ref":"#/components/schemas/Username"},"password":{"oneOf":[{"$ref":"#/components/schemas/PlaintextPassword"},{"$ref":"#/components/schemas/HashedPassword"}]}},"required":["username","password"],"type":"object"},"Username":{"description":"The username for the initial In-Memory DB user. Some system usernames\nare restricted (e.g. `\"admin\"`, `\"standby\"`).\n","minLength":1,"maxLength":16,"pattern":"^[a-zA-Z0-9_]{1,16}$","type":"string"},"PlaintextPassword":{"type":"string","description":"The password for a In-Memory DB user.","writeOnly":true,"minLength":10,"maxLength":63},"HashedPassword":{"type":"object","description":"The hashed password for a In-Memory DB user.","writeOnly":true,"required":["algorithm","hash"],"properties":{"algorithm":{"type":"string","enum":["SHA-256"]},"hash":{"type":"string","minLength":64,"maxLength":64}}},"ReplicaSetRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the ReplicaSet.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["replicaset"]},"href":{"description":"The URL of the ReplicaSet.","type":"string"},"metadata":{"$ref":"#/components/schemas/ReplicaSetMetadata"},"properties":{"$ref":"#/components/schemas/ReplicaSet"}}},"ReplicaSetMetadata":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"},{"type":"object","required":["dnsName"],"properties":{"dnsName":{"$ref":"#/components/schemas/DnsName"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"type":"string","enum":["AVAILABLE","BUSY","FAILED","UNKNOWN"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"DnsName":{"type":"string","description":"The DNS name pointing to your replica set. Will be used to connect to the active/standalone instance.\n"},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Conflict":{"description":"### Conflict\nThe UUID is already taken by another party, follow the guides to generate UUIDs uniquely.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnsupportedMediaType":{"description":"### Unsupported Media Type\nThe request has an unsupported media type.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnprocessableEntity":{"description":"### Unprocessable Entity\nThe request was well-formed but was unable to be followed due to semantic errors.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/replicasets/{replicasetId}":{"put":{"operationId":"replicasetsPut","summary":"Ensure ReplicaSet","tags":["ReplicaSet"],"description":"Ensures that the ReplicaSet with the provided ID is created or modified.\nThe full ReplicaSet needs to be provided to ensure\n(either update or create) the ReplicaSet. Non present data will\nonly be filled with defaults or left empty, but not take\nprevious values into consideration.\n","parameters":[{"name":"replicasetId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the ReplicaSet."}],"requestBody":{"description":"update ReplicaSet","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetEnsure"}}}},"responses":{"200":{"description":"ReplicaSet successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetRead"}}}},"201":{"description":"ReplicaSet successfully ensured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicaSetRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/UnprocessableEntity"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Delete ReplicaSet

> Deletes the specified ReplicaSet.

```json
{"openapi":"3.0.3","info":{"title":"In-Memory DB API","version":"1.0.0"},"tags":[{"name":"ReplicaSet","description":"In-Memory DB replica set with support for a single instance\nor a In-Memory DB replication in **leader follower** mode.\nThe mode is determined by the number of replicas.\nOne replica is **standalone**, everything else an **In-Memory DB replication** as *leader follower* mode with one active and n-1 passive replicas.\n\nThis tag groups all operations for replicaset.\n"}],"servers":[{"url":"https://in-memory-db.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://in-memory-db.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://in-memory-db.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://in-memory-db.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://in-memory-db.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://in-memory-db.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://in-memory-db.us-las.ionos.com","description":"service endpoint for location us-las"},{"url":"https://in-memory-db.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://in-memory-db.fr-par.ionos.com","description":"service endpoint for location fr-par"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}}},"paths":{"/replicasets/{replicasetId}":{"delete":{"operationId":"replicasetsDelete","summary":"Delete ReplicaSet","tags":["ReplicaSet"],"description":"Deletes the specified ReplicaSet.","parameters":[{"name":"replicasetId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the ReplicaSet."}],"responses":{"202":{"description":"Deleting ReplicaSet was successful."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```
