/
nfs_export.go
159 lines (109 loc) · 7.78 KB
/
nfs_export.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
* Isilon SDK
*
* Isilon SDK - Language bindings for the OneFS API
*
* API version: 5
* Contact: sdk@isilon.com
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package isi_sdk_8_1_0
// Specifies configuration values for NFS exports.
type NfsExport struct {
// True if all directories under the specified paths are mountable.
AllDirs bool `json:"all_dirs,omitempty"`
// Specifies the block size returned by the NFS statfs procedure.
BlockSize int32 `json:"block_size,omitempty"`
// True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommoate legacy client requirements.
CanSetTime bool `json:"can_set_time,omitempty"`
// True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
CaseInsensitive bool `json:"case_insensitive,omitempty"`
// True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
CasePreserving bool `json:"case_preserving,omitempty"`
// True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
ChownRestricted bool `json:"chown_restricted,omitempty"`
// Specifies the clients with root access to the export.
Clients []string `json:"clients,omitempty"`
// True if NFS commit requests execute asynchronously.
CommitAsynchronous bool `json:"commit_asynchronous,omitempty"`
// Specifies the user-defined string that is used to identify the export.
Description string `json:"description,omitempty"`
// Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.
DirectoryTransferSize int32 `json:"directory_transfer_size,omitempty"`
// Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.
Encoding string `json:"encoding,omitempty"`
// Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
LinkMax int32 `json:"link_max,omitempty"`
// User and group mapping.
MapAll *NfsSettingsExportSettingsMapAll `json:"map_all,omitempty"`
// User and group mapping.
MapFailure *NfsSettingsExportSettingsMapAll `json:"map_failure,omitempty"`
// True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.
MapFull bool `json:"map_full,omitempty"`
// True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.
MapLookupUid bool `json:"map_lookup_uid,omitempty"`
// User and group mapping.
MapNonRoot *NfsSettingsExportSettingsMapAll `json:"map_non_root,omitempty"`
// Determines whether searches for users specified in 'map_all', 'map_root' or 'map_nonroot' are retried if the search fails.
MapRetry bool `json:"map_retry,omitempty"`
// User and group mapping.
MapRoot *NfsSettingsExportSettingsMapAll `json:"map_root,omitempty"`
// Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
MaxFileSize int32 `json:"max_file_size,omitempty"`
// Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
NameMaxSize int32 `json:"name_max_size,omitempty"`
// True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.
NoTruncate bool `json:"no_truncate,omitempty"`
// Specifies the paths under /ifs that are exported.
Paths []string `json:"paths,omitempty"`
// True if the export is set to read-only.
ReadOnly bool `json:"read_only,omitempty"`
// Specifies the clients with read-only access to the export.
ReadOnlyClients []string `json:"read_only_clients,omitempty"`
// Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
ReadTransferMaxSize int32 `json:"read_transfer_max_size,omitempty"`
// Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
ReadTransferMultiple int32 `json:"read_transfer_multiple,omitempty"`
// Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
ReadTransferSize int32 `json:"read_transfer_size,omitempty"`
// Specifies the clients with both read and write access to the export, even when the export is set to read-only.
ReadWriteClients []string `json:"read_write_clients,omitempty"`
// True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.
Readdirplus bool `json:"readdirplus,omitempty"`
// Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)
ReaddirplusPrefetch int32 `json:"readdirplus_prefetch,omitempty"`
// Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).
Return32bitFileIds bool `json:"return_32bit_file_ids,omitempty"`
// Clients that have root access to the export.
RootClients []string `json:"root_clients,omitempty"`
// Specifies the authentication types that are supported for this export.
SecurityFlavors []string `json:"security_flavors,omitempty"`
// True if set attribute operations execute asynchronously.
SetattrAsynchronous bool `json:"setattr_asynchronous,omitempty"`
// Specifies the snapshot for all mounts.
Snapshot string `json:"snapshot,omitempty"`
// True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.
Symlinks bool `json:"symlinks,omitempty"`
// Specifies the resolution of all time values that are returned to the clients
TimeDelta float32 `json:"time_delta,omitempty"`
// Specifies the synchronization type.
WriteDatasyncAction string `json:"write_datasync_action,omitempty"`
// Specifies the synchronization type.
WriteDatasyncReply string `json:"write_datasync_reply,omitempty"`
// Specifies the synchronization type.
WriteFilesyncAction string `json:"write_filesync_action,omitempty"`
// Specifies the synchronization type.
WriteFilesyncReply string `json:"write_filesync_reply,omitempty"`
// Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
WriteTransferMaxSize int32 `json:"write_transfer_max_size,omitempty"`
// Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
WriteTransferMultiple int32 `json:"write_transfer_multiple,omitempty"`
// Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.
WriteTransferSize int32 `json:"write_transfer_size,omitempty"`
// Specifies the synchronization type.
WriteUnstableAction string `json:"write_unstable_action,omitempty"`
// Specifies the synchronization type.
WriteUnstableReply string `json:"write_unstable_reply,omitempty"`
// Specifies the zone in which the export is valid.
Zone string `json:"zone,omitempty"`
}