Create

POST v1/access_control_records

Description

Add an access control record to the specified volume.

Normal Response Codes

201 202

HTTP Error Codes

400 401 403 404 405 408 409 500 501 503

Detail Codes

SM_acl_scope_overlap

SM_cannot_read_object

SM_ealready

SM_in_use_lun

SM_invalid_arg_value

SM_invalid_path_variable

SM_invalid_query_param

SM_iscsi_all_access_not_available

SM_iscsi_svc_not_available

SM_limit_peacl

SM_limit_volacl

SM_malformed_url

SM_missing_arg

SM_multi_protocol_access_not_supported

SM_no_available_lun

SM_no_common_lun

SM_no_iscsi_lun_assignment

SM_no_method_for_URL_pattern

SM_no_operation_found

SM_no_path_found

SM_no_vvol_support

SM_pe_igroup_protocol_mismatched

SM_pe_multi_protocol_access_not_supported

SM_snapshot_offline

SM_specified_snapshot_lun

SM_too_many

SM_unexpected_arg

SM_unexpected_child

SM_unexpected_query_param

SM_unknown

SM_version_name

SM_vol_offline

SM_volsnap_already_exported

Request

Parameter Type JSON Type Description Default Mandatory Deprecated
apply_to NsAccessApplyTo string enum Type of object this access control record applies to. Possible values: 'volume', 'snapshot', 'both', 'pe', 'vvol_volume', 'vvol_snapshot'. 'both' false  
chap_user_id NsObjectID string Identifier for the CHAP user. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'. ''; which allows any CHAP user false  
initiator_group_id NsObjectID string Identifier for the initiator group. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'. ''; which allows any initiators false  
lun NsUnsignedLong number If this access control record applies to a regular volume, this attribute is the volume's LUN (Logical Unit Number). If the access protocol is iSCSI, the LUN will be 0. However, if the access protocol is Fibre Channel, the LUN will be in the range from 0 to 2047. If this record applies to a Virtual Volume, this attribute is the volume's secondary LUN in the range from 0 to 199999, for both iSCSI and Fibre Channel. If the record applies to a OpenstackV2 volume, the LUN will be in the range from 0 to 2047, for both iSCSI and Fibre Channel. If this record applies to a protocol endpoint, this attribute is not meaningful. Unsigned 64-bit integer. Example: 1234. (Represents LUN for regular volume and secondary LUN for Virtual Volume. This attribute is not meaningful for protocol endpoint.) false  
vol_id NsObjectID string Identifier for the volume this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'. (ID of the volume. If this record does not apply to a protocol endpoint, this attribute is required. If this record applies to a protocol endpoint, this attribute is not meaningful and should not be specified.) false  
pe_id NsObjectID string Identifier for the protocol endpoint this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'. (ID of the protocol endpoint. If this record applies to a protocol endpoint or a Virtual Volume, this attribute is required. Otherwise, this attribute is not meaningful and should not be specified.) false  
snap_id NsObjectID string Identifier for the snapshot this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'. (ID of the VVol snapshot. If this record applies to a VVol snapshot, this attribute is required. Otherwise, this attribute is not meaningful and should not be specified.) false  
pe_ids NsObjectIDList Array of NsObjectID List of candidate protocol endpoints that may be used to access the Virtual Volume. One of them will be selected for the access control record. This field is required only when creating an access control record for a Virtual Volume. A list of object ids.   false  

JSON Request


            

{
   "data" : {
      "apply_to" : "both",
      "chap_user_id" : "0100000000000004d3000000000000000000000004",
      "initiator_group_id" : "0200000000000004d3000000000000000000000005",
      "vol_id" : "0600000000000004d3000000000000000000000017"
   }
}


{
    "data": {
        "apply_to": "pe",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "pe_id": "2e00000000000004d3000000000000000000000001"
    }
}


{
    "data": {
        "apply_to": "vvol_volume",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "pe_ids": [
            "2e00000000000004d3000000000000000000000001",
            "2e00000000000004d3000000000000000000000002"
        ],
        "vol_id": "0600000000000004d3000000000000000000000005"
    }
}


{
    "data": {
        "apply_to": "vvol_snapshot",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "pe_ids": [
            "2e00000000000004d3000000000000000000000001",
            "2e00000000000004d3000000000000000000000002"
        ],
        "snap_id": "0400000000000004d3000000000000000500000001",
        "vol_id": "0600000000000004d3000000000000000000000005"
    }
}

        
         

Response

Parameter Type JSON Type Description Deprecated
id NsObjectID string Identifier for the access control record. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
apply_to NsAccessApplyTo string enum Type of object this access control record applies to. Possible values: 'volume', 'snapshot', 'both', 'pe', 'vvol_volume', 'vvol_snapshot'.  
chap_user_id NsObjectID string Identifier for the CHAP user. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
chap_user_name NsObjectNameOrAny string Name of the CHAP user. String of up to 64 alphanumeric characters or standalone wildcard character '*' to represent any object name, - and . and : are allowed after first character. Examples: 'myobject-5', '*'.  
initiator_group_id NsObjectID string Identifier for the initiator group. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
initiator_group_name NsObjectNameOrAny string Name of the initiator group. String of up to 64 alphanumeric characters or standalone wildcard character '*' to represent any object name, - and . and : are allowed after first character. Examples: 'myobject-5', '*'.  
lun NsUnsignedLong number If this access control record applies to a regular volume, this attribute is the volume's LUN (Logical Unit Number). If the access protocol is iSCSI, the LUN will be 0. However, if the access protocol is Fibre Channel, the LUN will be in the range from 0 to 2047. If this record applies to a Virtual Volume, this attribute is the volume's secondary LUN in the range from 0 to 199999, for both iSCSI and Fibre Channel. If the record applies to a OpenstackV2 volume, the LUN will be in the range from 0 to 2047, for both iSCSI and Fibre Channel. If this record applies to a protocol endpoint, this attribute is not meaningful. Unsigned 64-bit integer. Example: 1234.  
vol_id NsObjectID string Identifier for the volume this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
vol_name NsVolSnapName string Name of the volume this access control record applies to. String of up to 215 alphanumeric, hyphenated, colon, or period-separated characters; but cannot begin with hyphen, colon or period. This type is used for object sets containing volumes, snapshots, snapshot collections and protocol endpoints.  
vol_agent_type NsAgentType string enum External management agent type. Possible values: 'none', 'smis', 'vvol', 'openstack', 'openstackv2'.  
pe_id NsObjectID string Identifier for the protocol endpoint this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
pe_name NsVolSnapName string Name of the protocol endpoint this access control record applies to. String of up to 215 alphanumeric, hyphenated, colon, or period-separated characters; but cannot begin with hyphen, colon or period. This type is used for object sets containing volumes, snapshots, snapshot collections and protocol endpoints.  
pe_lun NsUnsignedLong number LUN (Logical Unit Number) to associate with this protocol endpoint. Valid LUNs are in the 0-2047 range. Unsigned 64-bit integer. Example: 1234.  
snap_id NsObjectID string Identifier for the snapshot this access control record applies to. A 42 digit hexadecimal number. Example: '2a0df0fe6f7dc7bb16000000000000000000004817'.  
snap_name NsVolSnapName string Name of the snapshot this access control record applies to. String of up to 215 alphanumeric, hyphenated, colon, or period-separated characters; but cannot begin with hyphen, colon or period. This type is used for object sets containing volumes, snapshots, snapshot collections and protocol endpoints.  
snapluns NsSnapLunInfoList Array of NsSnapLunInfo Information about the snapshot LUNs associated with this access control record. This field is meaningful when the online snapshot can be accessed as a LUN in the group. Information about the snapshot LUNs as presented in the access_control_records object set. This information is available only for Fibre Channel.  
creation_time NsTime number Time when this access control record was created. Seconds since last epoch i.e. 00:00 January 1, 1970. Example: '3400'.  
last_modified NsTime number Time when this access control record was last modified. Seconds since last epoch i.e. 00:00 January 1, 1970. Example: '3400'.  
access_protocol NsAccessProtocol string enum Access protocol of the volume. Possible values: 'iscsi', 'fc'.  

JSON Response


            

{
   "data" : {
      "apply_to" : "both",
      "initiator_group_name" : "initiatorgrp0.227931934731664",
      "last_modified" : 1426776528,
      "access_protocol" : "iscsi",
      "initiator_group_id" : "0200000000000004d3000000000000000000000005",
      "chap_user_name" : "chapuser0.649425628633377",
      "vol_id" : "0600000000000004d3000000000000000000000017",
      "lun" : 0,
      "chap_user_id" : "0100000000000004d3000000000000000000000004",
      "vol_name" : "vol0.512194647294567",
      "creation_time" : 1426776528,
      "id" : "0d00000000000004d3000000000000000000000001"
   }
}


{
    "data": {
        "access_protocol": "iscsi",
        "apply_to": "pe",
        "chap_user_id": "",
        "chap_user_name": "*",
        "creation_time": 1436195137,
        "id": "0d00000000000004d3000000000000000000000001",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "initiator_group_name": "initiatorgrp0.0770883749156717",
        "last_modified": 1436195138,
        "lun": null,
        "pe_id": "2e00000000000004d3000000000000000000000001",
        "pe_lun": 0,
        "pe_name": "pe0.616334002089339",
        "snap_id": "",
        "snap_name": "",
        "snapluns": null,
        "vol_id": "",
        "vol_name": ""
    }
}


{
    "data": {
        "access_protocol": "iscsi",
        "apply_to": "vvol_volume",
        "chap_user_id": "",
        "chap_user_name": "*",
        "creation_time": 1436195138,
        "id": "0d00000000000004d3000000000000000000000002",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "initiator_group_name": "initiatorgrp0.0770883749156717",
        "last_modified": 1436195138,
        "lun": 0,
        "pe_id": "2e00000000000004d3000000000000000000000001",
        "pe_lun": 0,
        "pe_name": "pe0.616334002089339",
        "snap_id": "",
        "snap_name": "",
        "snapluns": null,
        "vol_id": "0600000000000004d3000000000000000000000005",
        "vol_name": "vol0.971473796366812"
    }
}


{
    "data": {
        "access_protocol": "iscsi",
        "apply_to": "vvol_snapshot",
        "chap_user_id": "",
        "chap_user_name": "*",
        "creation_time": 1436195138,
        "id": "0d00000000000004d3000000000000000000000003",
        "initiator_group_id": "0200000000000004d3000000000000000000000001",
        "initiator_group_name": "initiatorgrp0.0770883749156717",
        "last_modified": 1436195138,
        "lun": 1,
        "pe_id": "2e00000000000004d3000000000000000000000001",
        "pe_lun": 0,
        "pe_name": "pe0.616334002089339",
        "snap_id": "0400000000000004d3000000000000000500000001",
        "snap_name": "vol0.971473796366812-snap",
        "snapluns": null,
        "vol_id": "0600000000000004d3000000000000000000000005",
        "vol_name": "vol0.971473796366812"
    }
}