> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/api-reference/storage-and-backup/network-file-storage/models.md).

# Models

## The ClusterReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ClusterReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Cluster resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Cluster resources.","type":"string"},"items":{"description":"The list of Cluster resources.","type":"array","items":{"$ref":"#/components/schemas/ClusterRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"ClusterRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Cluster.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["cluster"]},"href":{"description":"The URL of the Cluster.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithUsage"},"properties":{"$ref":"#/components/schemas/Cluster"}}},"MetadataWithUsage":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["used"],"properties":{"used":{"type":"integer","format":"int64","description":"The storage capacity currently taken up by the customer's files in bytes, or 0 on error.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}},"Cluster":{"type":"object","description":"Network File Storage cluster\n","required":["name","connections"],"properties":{"name":{"type":"string","description":"Name of the cluster"},"connections":{"type":"array","items":{"type":"object","required":["datacenterId","ipAddress","lan"],"properties":{"datacenterId":{"type":"string","format":"uuid","description":"The ID of the datacenter where the Network File Storage cluster is located.\n"},"lan":{"type":"string","description":"The LAN to which the Network File Storage cluster must be connected.\n"},"ipAddress":{"type":"string","description":"The IP address and prefix of the Network File Storage cluster. Must be specified in CIDR notation. Both IPv4 and IPv6 addresses are supported.\n"}}},"minItems":1,"maxItems":1},"nfs":{"type":"object","properties":{"minVersion":{"type":"string","description":"The minimum version of the NFS protocol.\n* `4.2` - NFSv4.2\n","default":"4.2"}}},"size":{"type":"integer","description":"The size of the Network File Storage cluster in TiB or GiB. Note that the cluster size cannot be reduced after provisioning.\nThis value determines the billing fees.\n- When `sizeUnit` is `TiB`, the allowed values are between 2 and 42.\n- When `sizeUnit` is `GiB`, the allowed values are between 2048 and 43008.\n","default":2},"sizeUnit":{"type":"string","description":"The type of the size for the Network File Storage cluster which can be TiB or GiB.","default":"TiB"}}},"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}}}}}}
```

## The ClusterRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ClusterRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Cluster.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["cluster"]},"href":{"description":"The URL of the Cluster.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithUsage"},"properties":{"$ref":"#/components/schemas/Cluster"}}},"MetadataWithUsage":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["used"],"properties":{"used":{"type":"integer","format":"int64","description":"The storage capacity currently taken up by the customer's files in bytes, or 0 on error.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}},"Cluster":{"type":"object","description":"Network File Storage cluster\n","required":["name","connections"],"properties":{"name":{"type":"string","description":"Name of the cluster"},"connections":{"type":"array","items":{"type":"object","required":["datacenterId","ipAddress","lan"],"properties":{"datacenterId":{"type":"string","format":"uuid","description":"The ID of the datacenter where the Network File Storage cluster is located.\n"},"lan":{"type":"string","description":"The LAN to which the Network File Storage cluster must be connected.\n"},"ipAddress":{"type":"string","description":"The IP address and prefix of the Network File Storage cluster. Must be specified in CIDR notation. Both IPv4 and IPv6 addresses are supported.\n"}}},"minItems":1,"maxItems":1},"nfs":{"type":"object","properties":{"minVersion":{"type":"string","description":"The minimum version of the NFS protocol.\n* `4.2` - NFSv4.2\n","default":"4.2"}}},"size":{"type":"integer","description":"The size of the Network File Storage cluster in TiB or GiB. Note that the cluster size cannot be reduced after provisioning.\nThis value determines the billing fees.\n- When `sizeUnit` is `TiB`, the allowed values are between 2 and 42.\n- When `sizeUnit` is `GiB`, the allowed values are between 2048 and 43008.\n","default":2},"sizeUnit":{"type":"string","description":"The type of the size for the Network File Storage cluster which can be TiB or GiB.","default":"TiB"}}}}}}
```

## The ClusterEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ClusterEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Cluster.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Cluster"}}},"Cluster":{"type":"object","description":"Network File Storage cluster\n","required":["name","connections"],"properties":{"name":{"type":"string","description":"Name of the cluster"},"connections":{"type":"array","items":{"type":"object","required":["datacenterId","ipAddress","lan"],"properties":{"datacenterId":{"type":"string","format":"uuid","description":"The ID of the datacenter where the Network File Storage cluster is located.\n"},"lan":{"type":"string","description":"The LAN to which the Network File Storage cluster must be connected.\n"},"ipAddress":{"type":"string","description":"The IP address and prefix of the Network File Storage cluster. Must be specified in CIDR notation. Both IPv4 and IPv6 addresses are supported.\n"}}},"minItems":1,"maxItems":1},"nfs":{"type":"object","properties":{"minVersion":{"type":"string","description":"The minimum version of the NFS protocol.\n* `4.2` - NFSv4.2\n","default":"4.2"}}},"size":{"type":"integer","description":"The size of the Network File Storage cluster in TiB or GiB. Note that the cluster size cannot be reduced after provisioning.\nThis value determines the billing fees.\n- When `sizeUnit` is `TiB`, the allowed values are between 2 and 42.\n- When `sizeUnit` is `GiB`, the allowed values are between 2048 and 43008.\n","default":2},"sizeUnit":{"type":"string","description":"The type of the size for the Network File Storage cluster which can be TiB or GiB.","default":"TiB"}}}}}}
```

## The ClusterCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ClusterCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Cluster"}}},"Cluster":{"type":"object","description":"Network File Storage cluster\n","required":["name","connections"],"properties":{"name":{"type":"string","description":"Name of the cluster"},"connections":{"type":"array","items":{"type":"object","required":["datacenterId","ipAddress","lan"],"properties":{"datacenterId":{"type":"string","format":"uuid","description":"The ID of the datacenter where the Network File Storage cluster is located.\n"},"lan":{"type":"string","description":"The LAN to which the Network File Storage cluster must be connected.\n"},"ipAddress":{"type":"string","description":"The IP address and prefix of the Network File Storage cluster. Must be specified in CIDR notation. Both IPv4 and IPv6 addresses are supported.\n"}}},"minItems":1,"maxItems":1},"nfs":{"type":"object","properties":{"minVersion":{"type":"string","description":"The minimum version of the NFS protocol.\n* `4.2` - NFSv4.2\n","default":"4.2"}}},"size":{"type":"integer","description":"The size of the Network File Storage cluster in TiB or GiB. Note that the cluster size cannot be reduced after provisioning.\nThis value determines the billing fees.\n- When `sizeUnit` is `TiB`, the allowed values are between 2 and 42.\n- When `sizeUnit` is `GiB`, the allowed values are between 2048 and 43008.\n","default":2},"sizeUnit":{"type":"string","description":"The type of the size for the Network File Storage cluster which can be TiB or GiB.","default":"TiB"}}}}}}
```

## The ShareReadList object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ShareReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Share resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Share resources.","type":"string"},"items":{"description":"The list of Share resources.","type":"array","items":{"$ref":"#/components/schemas/ShareRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"ShareRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Share.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["share"]},"href":{"description":"The URL of the Share.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithPath"},"properties":{"$ref":"#/components/schemas/Share"}}},"MetadataWithPath":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["nfsPath"],"properties":{"nfsPath":{"type":"string","description":"The path of the NFS export (currently equal to the UUID of the share).\nOn a machine with access to the share, mount it using the following command: `mount -t nfs <cluster-ip>:<nfs-path> <target-dir>`\n","readOnly":true},"used":{"type":"integer","format":"int64","description":"The storage capacity currently used by files stored in this share, in bytes.\nThis field is omitted when usage information is not available.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}},"Share":{"type":"object","description":"A share represents a directory on a Network File Storage cluster, where options like quotas can be set for the directory.\n","required":["name","clientGroups"],"properties":{"name":{"type":"string","description":"Name of the share"},"quota":{"type":"integer","description":"The quota for the export in MiB, which can limit the amount of data stored. Setting the quota to 0 will disable it.\n","default":0,"minimum":0},"gid":{"type":"integer","description":"The group ID that will own the exported directory and be used as the `anongid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"uid":{"type":"integer","description":"The user ID that will own the exported directory and be used as the `anonuid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"clientGroups":{"type":"array","minItems":1,"description":"Client groups are the virtual machines connecting to the Network File Storage cluster.\n","items":{"type":"object","properties":{"description":{"type":"string","description":"Optional description for the client group.\n"},"ipNetworks":{"type":"array","items":{"type":"string","description":"The allowed host or network to which the export is being shared.\nThe IP address can be either IPv4 or IPv6 and has to be given with CIDR notation.\nThis setting will always supersede the list of hosts.\nOnly use this field if you want the share access on the entire network. In case you need to grant access to specific hosts, leave this field blank.\n"}},"hosts":{"type":"array","items":{"type":"string","description":"A single host allowed to connect to the share. The host can be specified using an IP address,\nwhich can be either IPv4 or IPv6.\n"}},"nfs":{"type":"object","description":"NFS specific configurations.\n","properties":{"squash":{"type":"string","description":"The NFS squash mode for the export can be set to:\n* `none` - No squash mode, no mapping. The share directory will be owned by the given UID/GID. (`no_all_squash,no_root_squash`)\n* `root-anonymous` - Map root user to the anonymous UID/GID. The share directory will be owned by the given UID/GID. (`root_squash,anonuid=<uid>,anongid=<gid>`)\n* `all-anonymous` - Map all users an internal anonymous UID/GID. The given UID/GID will be ignored. (`all_squash,anonuid=<uid>,anongid=<gid>`)\n","enum":["none","root-anonymous","all-anonymous"],"default":"none"}}}}}}}},"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}}}}}}
```

## The ShareRead object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ShareRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Share.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["share"]},"href":{"description":"The URL of the Share.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithPath"},"properties":{"$ref":"#/components/schemas/Share"}}},"MetadataWithPath":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["nfsPath"],"properties":{"nfsPath":{"type":"string","description":"The path of the NFS export (currently equal to the UUID of the share).\nOn a machine with access to the share, mount it using the following command: `mount -t nfs <cluster-ip>:<nfs-path> <target-dir>`\n","readOnly":true},"used":{"type":"integer","format":"int64","description":"The storage capacity currently used by files stored in this share, in bytes.\nThis field is omitted when usage information is not available.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}},"Share":{"type":"object","description":"A share represents a directory on a Network File Storage cluster, where options like quotas can be set for the directory.\n","required":["name","clientGroups"],"properties":{"name":{"type":"string","description":"Name of the share"},"quota":{"type":"integer","description":"The quota for the export in MiB, which can limit the amount of data stored. Setting the quota to 0 will disable it.\n","default":0,"minimum":0},"gid":{"type":"integer","description":"The group ID that will own the exported directory and be used as the `anongid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"uid":{"type":"integer","description":"The user ID that will own the exported directory and be used as the `anonuid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"clientGroups":{"type":"array","minItems":1,"description":"Client groups are the virtual machines connecting to the Network File Storage cluster.\n","items":{"type":"object","properties":{"description":{"type":"string","description":"Optional description for the client group.\n"},"ipNetworks":{"type":"array","items":{"type":"string","description":"The allowed host or network to which the export is being shared.\nThe IP address can be either IPv4 or IPv6 and has to be given with CIDR notation.\nThis setting will always supersede the list of hosts.\nOnly use this field if you want the share access on the entire network. In case you need to grant access to specific hosts, leave this field blank.\n"}},"hosts":{"type":"array","items":{"type":"string","description":"A single host allowed to connect to the share. The host can be specified using an IP address,\nwhich can be either IPv4 or IPv6.\n"}},"nfs":{"type":"object","description":"NFS specific configurations.\n","properties":{"squash":{"type":"string","description":"The NFS squash mode for the export can be set to:\n* `none` - No squash mode, no mapping. The share directory will be owned by the given UID/GID. (`no_all_squash,no_root_squash`)\n* `root-anonymous` - Map root user to the anonymous UID/GID. The share directory will be owned by the given UID/GID. (`root_squash,anonuid=<uid>,anongid=<gid>`)\n* `all-anonymous` - Map all users an internal anonymous UID/GID. The given UID/GID will be ignored. (`all_squash,anonuid=<uid>,anongid=<gid>`)\n","enum":["none","root-anonymous","all-anonymous"],"default":"none"}}}}}}}}}}}
```

## The ShareEnsure object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ShareEnsure":{"type":"object","required":["id","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Share.","format":"uuid"},"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Share"}}},"Share":{"type":"object","description":"A share represents a directory on a Network File Storage cluster, where options like quotas can be set for the directory.\n","required":["name","clientGroups"],"properties":{"name":{"type":"string","description":"Name of the share"},"quota":{"type":"integer","description":"The quota for the export in MiB, which can limit the amount of data stored. Setting the quota to 0 will disable it.\n","default":0,"minimum":0},"gid":{"type":"integer","description":"The group ID that will own the exported directory and be used as the `anongid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"uid":{"type":"integer","description":"The user ID that will own the exported directory and be used as the `anonuid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"clientGroups":{"type":"array","minItems":1,"description":"Client groups are the virtual machines connecting to the Network File Storage cluster.\n","items":{"type":"object","properties":{"description":{"type":"string","description":"Optional description for the client group.\n"},"ipNetworks":{"type":"array","items":{"type":"string","description":"The allowed host or network to which the export is being shared.\nThe IP address can be either IPv4 or IPv6 and has to be given with CIDR notation.\nThis setting will always supersede the list of hosts.\nOnly use this field if you want the share access on the entire network. In case you need to grant access to specific hosts, leave this field blank.\n"}},"hosts":{"type":"array","items":{"type":"string","description":"A single host allowed to connect to the share. The host can be specified using an IP address,\nwhich can be either IPv4 or IPv6.\n"}},"nfs":{"type":"object","description":"NFS specific configurations.\n","properties":{"squash":{"type":"string","description":"The NFS squash mode for the export can be set to:\n* `none` - No squash mode, no mapping. The share directory will be owned by the given UID/GID. (`no_all_squash,no_root_squash`)\n* `root-anonymous` - Map root user to the anonymous UID/GID. The share directory will be owned by the given UID/GID. (`root_squash,anonuid=<uid>,anongid=<gid>`)\n* `all-anonymous` - Map all users an internal anonymous UID/GID. The given UID/GID will be ignored. (`all_squash,anonuid=<uid>,anongid=<gid>`)\n","enum":["none","root-anonymous","all-anonymous"],"default":"none"}}}}}}}}}}}
```

## The ShareCreate object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"ShareCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Share"}}},"Share":{"type":"object","description":"A share represents a directory on a Network File Storage cluster, where options like quotas can be set for the directory.\n","required":["name","clientGroups"],"properties":{"name":{"type":"string","description":"Name of the share"},"quota":{"type":"integer","description":"The quota for the export in MiB, which can limit the amount of data stored. Setting the quota to 0 will disable it.\n","default":0,"minimum":0},"gid":{"type":"integer","description":"The group ID that will own the exported directory and be used as the `anongid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"uid":{"type":"integer","description":"The user ID that will own the exported directory and be used as the `anonuid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"clientGroups":{"type":"array","minItems":1,"description":"Client groups are the virtual machines connecting to the Network File Storage cluster.\n","items":{"type":"object","properties":{"description":{"type":"string","description":"Optional description for the client group.\n"},"ipNetworks":{"type":"array","items":{"type":"string","description":"The allowed host or network to which the export is being shared.\nThe IP address can be either IPv4 or IPv6 and has to be given with CIDR notation.\nThis setting will always supersede the list of hosts.\nOnly use this field if you want the share access on the entire network. In case you need to grant access to specific hosts, leave this field blank.\n"}},"hosts":{"type":"array","items":{"type":"string","description":"A single host allowed to connect to the share. The host can be specified using an IP address,\nwhich can be either IPv4 or IPv6.\n"}},"nfs":{"type":"object","description":"NFS specific configurations.\n","properties":{"squash":{"type":"string","description":"The NFS squash mode for the export can be set to:\n* `none` - No squash mode, no mapping. The share directory will be owned by the given UID/GID. (`no_all_squash,no_root_squash`)\n* `root-anonymous` - Map root user to the anonymous UID/GID. The share directory will be owned by the given UID/GID. (`root_squash,anonuid=<uid>,anongid=<gid>`)\n* `all-anonymous` - Map all users an internal anonymous UID/GID. The given UID/GID will be ignored. (`all_squash,anonuid=<uid>,anongid=<gid>`)\n","enum":["none","root-anonymous","all-anonymous"],"default":"none"}}}}}}}}}}}
```

## The Cluster object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"Cluster":{"type":"object","description":"Network File Storage cluster\n","required":["name","connections"],"properties":{"name":{"type":"string","description":"Name of the cluster"},"connections":{"type":"array","items":{"type":"object","required":["datacenterId","ipAddress","lan"],"properties":{"datacenterId":{"type":"string","format":"uuid","description":"The ID of the datacenter where the Network File Storage cluster is located.\n"},"lan":{"type":"string","description":"The LAN to which the Network File Storage cluster must be connected.\n"},"ipAddress":{"type":"string","description":"The IP address and prefix of the Network File Storage cluster. Must be specified in CIDR notation. Both IPv4 and IPv6 addresses are supported.\n"}}},"minItems":1,"maxItems":1},"nfs":{"type":"object","properties":{"minVersion":{"type":"string","description":"The minimum version of the NFS protocol.\n* `4.2` - NFSv4.2\n","default":"4.2"}}},"size":{"type":"integer","description":"The size of the Network File Storage cluster in TiB or GiB. Note that the cluster size cannot be reduced after provisioning.\nThis value determines the billing fees.\n- When `sizeUnit` is `TiB`, the allowed values are between 2 and 42.\n- When `sizeUnit` is `GiB`, the allowed values are between 2048 and 43008.\n","default":2},"sizeUnit":{"type":"string","description":"The type of the size for the Network File Storage cluster which can be TiB or GiB.","default":"TiB"}}}}}}
```

## The Share object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"Share":{"type":"object","description":"A share represents a directory on a Network File Storage cluster, where options like quotas can be set for the directory.\n","required":["name","clientGroups"],"properties":{"name":{"type":"string","description":"Name of the share"},"quota":{"type":"integer","description":"The quota for the export in MiB, which can limit the amount of data stored. Setting the quota to 0 will disable it.\n","default":0,"minimum":0},"gid":{"type":"integer","description":"The group ID that will own the exported directory and be used as the `anongid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"uid":{"type":"integer","description":"The user ID that will own the exported directory and be used as the `anonuid` NFS option in squash modes `root-anonymous` and `all-anonymous`.\n","default":65534,"maximum":65534},"clientGroups":{"type":"array","minItems":1,"description":"Client groups are the virtual machines connecting to the Network File Storage cluster.\n","items":{"type":"object","properties":{"description":{"type":"string","description":"Optional description for the client group.\n"},"ipNetworks":{"type":"array","items":{"type":"string","description":"The allowed host or network to which the export is being shared.\nThe IP address can be either IPv4 or IPv6 and has to be given with CIDR notation.\nThis setting will always supersede the list of hosts.\nOnly use this field if you want the share access on the entire network. In case you need to grant access to specific hosts, leave this field blank.\n"}},"hosts":{"type":"array","items":{"type":"string","description":"A single host allowed to connect to the share. The host can be specified using an IP address,\nwhich can be either IPv4 or IPv6.\n"}},"nfs":{"type":"object","description":"NFS specific configurations.\n","properties":{"squash":{"type":"string","description":"The NFS squash mode for the export can be set to:\n* `none` - No squash mode, no mapping. The share directory will be owned by the given UID/GID. (`no_all_squash,no_root_squash`)\n* `root-anonymous` - Map root user to the anonymous UID/GID. The share directory will be owned by the given UID/GID. (`root_squash,anonuid=<uid>,anongid=<gid>`)\n* `all-anonymous` - Map all users an internal anonymous UID/GID. The given UID/GID will be ignored. (`all_squash,anonuid=<uid>,anongid=<gid>`)\n","enum":["none","root-anonymous","all-anonymous"],"default":"none"}}}}}}}}}}}
```

## The MetadataWithStatus object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}}}}}
```

## The MetadataWithUsage object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"MetadataWithUsage":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["used"],"properties":{"used":{"type":"integer","format":"int64","description":"The storage capacity currently taken up by the customer's files in bytes, or 0 on error.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}}}}}
```

## The MetadataWithPath object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"MetadataWithPath":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["nfsPath"],"properties":{"nfsPath":{"type":"string","description":"The path of the NFS export (currently equal to the UUID of the share).\nOn a machine with access to the share, mount it using the following command: `mount -t nfs <cluster-ip>:<nfs-path> <target-dir>`\n","readOnly":true},"used":{"type":"integer","format":"int64","description":"The storage capacity currently used by files stored in this share, in bytes.\nThis field is omitted when usage information is not available.\n","readOnly":true}}}]},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["status"],"properties":{"status":{"type":"string","description":"The status of the resource can be one of the following:\n* `AVAILABLE` - The resource exists and is healthy.\n* `PROVISIONING` - The resource is being created or updated.\n* `DESTROYING` - A delete command was issued, and the resource is being deleted.\n* `FAILED` - The resource failed, with details provided in `statusMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true},"statusMessage":{"type":"string","description":"The error message when the status is `FAILED`.\n","readOnly":true}}}]},"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}}}}}}
```

## The Error object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"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"}}}}}}}}}
```

## The Metadata object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"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}}}}}}
```

## The Pagination object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"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}}}}}}
```

## The Offset object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true}}}}
```

## The Limit object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"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}}}}
```

## The Links object

```json
{"openapi":"3.0.3","info":{"title":"IONOS CLOUD - Network File Storage API","version":"0.1.6"},"components":{"schemas":{"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}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/api-reference/storage-and-backup/network-file-storage/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
