# nvmet.namespace.create

Create a NVMe target namespace in a subsystem (subsys).

This will expose the namespace to any hosts permitted to access the subsystem.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: nvmet_namespace_create

#### nvmet_namespace_create

Type: object

NVMe-oF namespace configuration data for creation.

No Additional Properties

##

#### Nsid

Default: null

Namespace ID (NSID).

Each namespace within a subsystem has an associated NSID, unique within that subsystem.

If not supplied during `namespace` creation then the next available NSID will be used.

## Any of

Type: integer

Value must be greater or equal to `1` and strictly lesser than `4294967295`

Type: null

##

#### Device Type

Type: enum (of string)

Type of device (or file) used to implement the namespace.

##### Must be one of:

- "ZVOL"
- "FILE"

##

#### Device Path

Type: string

Normalized path to the device or file for the namespace.

Must be at least `1` characters long

##

#### Filesize

Default: null

When `device_type` is "FILE" then this will be the size of the file in bytes.

## Any of

Type: integer
Type: null

##

#### Enabled

Type: boolean Default: true

If `enabled` is `False` then the namespace will not be accessible.

Some namespace configuration changes are blocked when that namespace is enabled.

##

#### Subsys Id

Type: integer

ID of the NVMe-oF subsystem to contain this namespace.

##

#### NVMetNamespaceEntry

Type: object

The created NVMe-oF namespace configuration.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the NVMe-oF namespace.

##

#### Nsid

Default: null

Namespace ID (NSID).

Each namespace within a subsystem has an associated NSID, unique within that subsystem.

If not supplied during `namespace` creation then the next available NSID will be used.

## Any of

Type: integer

Value must be greater or equal to `1` and strictly lesser than `4294967295`

Type: null

##

#### NVMetSubsysEntry

Type: object

NVMe-oF subsystem that contains this namespace.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the NVMe-oF subsystem.

##

#### Name

Type: string

Human readable name for the subsystem.

If `subnqn` is not provided on creation, then this name will be appended to the `basenqn` from `nvmet.global.config` to generate a subnqn.

Must be at least `1` characters long

##

#### Subnqn

Default: null

NVMe Qualified Name (NQN) for the subsystem.

If not provided during creation, will be auto-generated by appending the `name` to the `basenqn` from `nvmet.global.config`.

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Serial

Type: string

Serial number assigned to the subsystem.

##

#### Allow Any Host

Type: boolean Default: false

Any host can access the storage associated with this subsystem (i.e. no access control).

##

#### Pi Enable

Default: null

Enable Protection Information (PI) for data integrity checking.

## Any of

Type: boolean
Type: null

##

#### Qid Max

Default: null

Maximum number of queue IDs allowed for this subsystem.

## Any of

Type: integer
Type: null

##

#### Ieee Oui

Default: null

IEEE Organizationally Unique Identifier for the subsystem.

## Any of

Type: string
Type: null

##

#### Ana

Default: null

If set to either `True` or `False`, then override the global `ana` setting from `nvmet.global.config` for this subsystem only.

If `null`, then the global `ana` setting will take effect.

## Any of

Type: boolean
Type: null

##

#### Hosts

Default: []

List of host ids which have access to this subsystem.

Only populated on query if `extra.options.verbose` is set.

## Any of

Type: array of integer
No Additional Items

##### Each item of this array must be:

Type: integer
Type: null

##

#### Namespaces

Default: []

List of namespaces ids in this subsystem.

Only populated on query if `extra.options.verbose` is set.

## Any of

Type: array of integer
No Additional Items

##### Each item of this array must be:

Type: integer
Type: null

##

#### Ports

Default: []

List of ports ids on which this subsystem is available.

Only populated on query if `extra.options.verbose` is set.

## Any of

Type: array of integer
No Additional Items

##### Each item of this array must be:

Type: integer
Type: null

##

#### Device Type

Type: enum (of string)

Type of device (or file) used to implement the namespace.

##### Must be one of:

- "ZVOL"
- "FILE"

##

#### Device Path

Type: string

Path to the device or file being used to implement the namespace.

When `device_type` is:

- "ZVOL": `device_path` is e.g. "zvol/poolname/zvolname"
- "FILE": `device_path` is e.g. "/mnt/poolmnt/path/to/file". The file will be created if necessary.

Must be at least `1` characters long

##

#### Filesize

Default: null

When `device_type` is "FILE" then this will be the size of the file in bytes.

## Any of

Type: integer
Type: null

##

#### Device Uuid

Type: string

Unique device identifier for the namespace.

Must be at least `1` characters long

##

#### Device Nguid

Type: string

Namespace Globally Unique Identifier for the namespace.

Must be at least `1` characters long

##

#### Enabled

Type: boolean Default: true

If `enabled` is `False` then the namespace will not be accessible.

Some namespace configuration changes are blocked when that namespace is enabled.

##

#### Locked

Reflect the locked state of the namespace.

The underlying `device_path` could be an encrypted ZVOL, or a file on an encrypted dataset. In either case `locked` will be `True` if the underlying entity is locked.

## Any of

Type: boolean
Type: null

Required roles: SHARING_NVME_TARGET_WRITE