# Modifying a Shared File System

#### Function

This API is used to modify the name and description of a shared file system.

#### URI

- PUT /v2/{project_id}/shares/{share_id}
- Parameter description

  Parameter | Mandatory | Type | Description
  --- | --- | --- | ---
  share_id | Yes | String | Specifies the ID of the shared file system.
  project_id | Yes | String | Specifies the project ID of the operator.

#### Request

- Parameter description

  Parameter | Mandatory | Type | Description
  --- | --- | --- | ---
  share | Yes | Object | Specifies the share object.

- Description of the share field

  Parameter | Mandatory | Type | Description
  --- | --- | --- | ---
  display_name | No | String | Specifies the new name of the shared file system. The value consists of 0 to 255 characters.
  display_description | No | String | Describes the shared file system. The value contains 0 to 255 characters.
  is_public | No | Boolean | (Supported by API v2.8 and later versions.) Specifies whether a file system can be publicly seen. If it is set to true, the file system can be seen publicly. If it is set to false, the file system can be seen privately. The default value is false.

- Example request

      {
          "share": {
              "display_name": "testshare",
              "display_description": "test"
          }
      }

#### Response

- Parameter description

  Parameter | Type | Description
  --- | --- | ---
  share | Object | Specifies the share object.

- Description of the share field

  Parameter | Type | Description
  --- | --- | ---
  links | Array | Specifies the links of shared file systems.
  availability_zone | String | Specifies the availability zone.
  share_server_id | String | Specifies the ID for managing share services.
  share_network_id | String | Specifies the ID of the share network. This parameter is reserved, because share network management is not supported currently.
  snapshot_id | String | Specifies the ID of the source snapshot that is used to create the shared file system. This parameter is reserved, because snapshots are not supported currently.
  snapshot_support | Boolean | Specifies whether snapshots are supported. This parameter is reserved, because snapshots are not supported currently.
  id | String | Specifies the ID of the shared file system.
  size | Integer | Specifies the size (GB) of the shared file system.
  share_group_id | String | (Supported by API versions from v2.31 to v2.42) Specifies the ID of a consistency group. This parameter is reserved, because consistency groups are not supported currently.
  project_id | String | Specifies the ID of the project to which the shared file system belongs.
  metadata | Object | Sets one or more metadata key and value pairs as a dictionary of strings. share_used is the key, and the corresponding value is the used capacity of the shared file system in the unit of Bytes.
  status | String | Specifies the status of the shared file system.
  task_state | String | Specifies the data migration status. This parameter is reserved, because data migration is not supported currently.
  has_replicas | Boolean | (Supported by API versions from v2.11 to v2.42) Specifies whether any replication exists. This parameter is reserved, because replication is not supported currently.
  replication_type | String | (Supported by API versions from v2.11 to v2.42) Specifies the replication type. This parameter is reserved, because replication is not supported currently.
  description | String | Describes the shared file system.
  host | String | Specifies the name of the host. This field is visible only to the administrator.
  name | String | Specifies the name of the shared file system.
  created_at | String | Specifies the date and time stamp when the shared file system was created.
  access_rules_status | String | (Supported by API versions from v2.10 to v2.27.) Specifies the configuration status of the access rule. Possible values are active (effective), error (configuration failed), and syncing (configuration in progress).
  share_proto | String | Specifies the protocol for sharing file systems.
  volume_type | String | Specifies the volume type. The definition of this parameter is the same as that of share_type.
  share_type_name | String | Specifies the storage service type assigned for the shared file system, such as high-performance storage (composed of SSDs) and large-capacity storage (composed of SATA disks).
  share_type | String | Specifies the ID of the share type.
  export_locations | Array | Lists the mount locations. Currently, only a single mount location is supported. This parameter exists only when X-Openstack-Manila-Api-Version specified in the request header is smaller than 2.8.
  export_location | String | Specifies the mount location. This parameter exists only when X-Openstack-Manila-Api-Version specified in the request header is smaller than 2.8.
  is_public | Boolean | (Supported by API versions from v2.8 to v2.42). Specifies whether a file system can be publicly seen. If it is set to true, the file system can be seen publicly. If it is set to false, the file system can be seen privately. The default value is false.
  source_share_group_snapshot_member_id | String | (Supported by API v2.31 and later versions.) Specifies the ID of a consistency snapshot source. Currently, the consistency group is not supported. This field is reserved.
  revert_to_snapshot_support | Boolean | (Supported by API v2.27 and later versions.) Specifies whether reversion to snapshot is supported. Currently, snapshot is not supported. This field is reserved.
  create_share_from_snapshot_support | Boolean | (Supported by API v2.24 and later versions.) Specifies whether creating file systems from snapshot is supported. Currently, snapshot is not supported. This field is reserved.
  mount_snapshot_support | Boolean | (Supported by API v2.32 and later versions.) Specifies whether snapshot mounting is supported. Currently, snapshot is not supported. This field is reserved.
  user_id | String | (Supported by API v2.16 and later versions.) Specifies the user ID.

- Example response

      {
        "share": {
          "status": "available",
          "share_type_name": "sla",
          "description": "test",
          "links": [
            {
              "href": "https://192.168.196.47:8796/v2/07412155bf474db9a2f697fd978593d7/shares/f26d867f-9876-433d-8db2-25d210f29309",
              "rel": "self"
            },
            {
              "href": "https://192.168.196.47:8796/07412155bf474db9a2f697fd978593d7/shares/f26d867f-9876-433d-8db2-25d210f29309",
              "rel": "bookmark"
            }
          ],
          "availability_zone": "az1.dc1",
          "share_network_id": null,
          "share_server_id": null,
          "share_group_id": null,
          "host": "DJ38@a4588256-3880-4136-b3c9-4c3aade8a84b#a4588256-3880-4136-b3c9-4c3aade8a84b",
          "revert_to_snapshot_support": null,
          "access_rules_status": "active",
          "snapshot_id": null,
          "create_share_from_snapshot_support": null,
          "is_public": true,
          "task_state": null,
          "snapshot_support": true,
          "id": "f26d867f-9876-433d-8db2-25d210f29309",
          "size": 1,
          "source_share_group_snapshot_member_id": null,
          "user_id": "daa3f8f8d7254465841da769298a76f6",
          "name": "manila share",
          "share_type": "8ae4e74e-83f4-4980-8ab8-e637f9294e0b",
          "has_replicas": false,
          "replication_type": null,
          "created_at": "2018-12-25T08:45:22.525899",
          "share_proto": "NFS",
          "volume_type": "sla",
          "mount_snapshot_support": null,
          "project_id": "07412155bf474db9a2f697fd978593d7",
          "metadata": {
            "share_key": "test",
            "share_used": "1",
          }
        }
      }

#### Status Codes

- Normal

  200

- Abnormal

  Status Code | Description
  --- | ---
  400 Bad Request | The server failed to process the request.
  401 Unauthorized | You must enter a username and the password to access the requested page.
  403 Forbidden | Access to the requested page is forbidden.
  404 Not Found | The requested page was not found.
  405 Method Not Allowed | You are not allowed to use the method specified in the request.
  406 Not Acceptable | The response generated by the server could not be accepted by the client.
  407 Proxy Authentication Required | You must use the proxy server for authentication. Then the request can be processed.
  408 Request Timeout | The request timed out.
  409 Conflict | The request could not be processed due to a conflict.
  500 Internal Server Error | Failed to complete the request because of an internal service error.
  501 Not Implemented | Failed to complete the request because the server does not support the requested function.
  502 Bad Gateway | Failed to complete the request because the request is invalid.
  503 Service Unavailable | Failed to complete the request because the service is unavailable.
  504 Gateway Timeout | A gateway timeout error occurred.

Parent topic: File Sharing