# nvmet.host_subsys.create

Create an association between a host and a subsystem (subsys).

This will enable the host to access the subsystem, even if the subsystem does not have the allow_any_host attribute set.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: nvmet_host_subsys_create

#### nvmet_host_subsys_create

Type: object

Host-subsystem association configuration data for creation.

No Additional Properties

##

#### Host Id

Type: integer

ID of the NVMe-oF host to authorize.

##

#### Subsys Id

Type: integer

ID of the NVMe-oF subsystem to grant access to.

##

#### NVMetHostSubsysEntry

Type: object

The created host-subsystem association.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the host-subsystem association.

##

#### NVMetHostEntry

Type: object

NVMe-oF host that is authorized to access the subsystem.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the NVMe-oF host.

##

#### Hostnqn

Type: string

NQN of the host that will connect to this TrueNAS.

Must be at least `1` characters long

##

#### Dhchap Key

Default: null

If set, the secret that the host must present when connecting.

A suitable secret can be generated using `nvme gen-dhchap-key`, or by using the `nvmet.host.generate_key` API.

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Dhchap Ctrl Key

Default: null

If set, the secret that this TrueNAS will present to the host when the host is connecting (Bi-Directional Authentication).

A suitable secret can be generated using `nvme gen-dhchap-key`, or by using the `nvmet.host.generate_key` API.

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Dhchap Dhgroup

Default: null

If selected, the DH (Diffie-Hellman) key exchange built on top of CHAP to be used for authentication.

## Any of

Type: enum (of string)

##### Must be one of:

- "2048-BIT"
- "3072-BIT"
- "4096-BIT"
- "6144-BIT"
- "8192-BIT"

Type: null

##

#### Dhchap Hash

Type: enum (of string) Default: "SHA-256"

HMAC (Hashed Message Authentication Code) to be used in conjunction if a `dhchap_dhgroup` is selected.

##### Must be one of:

- "SHA-256"
- "SHA-384"
- "SHA-512"

##

#### NVMetSubsysEntry

Type: object

NVMe-oF subsystem that the host is authorized to access.

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

Required roles: SHARING_NVME_TARGET_WRITE