Class: OCI::FileStorage::Models::Export
- Inherits:
-
Object
- Object
- OCI::FileStorage::Models::Export
- Defined in:
- lib/oci/file_storage/models/export.rb
Overview
A file system and the path that you can use to mount it. Each export resource belongs to exactly one export set.
The export's path attribute is not a path in the referenced file system, but the value used by clients for the path component of the remotetarget argument when mounting the file system.
The path must start with a slash (/) followed by a sequence of zero or more slash-separated path elements. For any two export resources associated with the same export set, except those in a 'DELETED' state, the path element sequence for the first export resource can't contain the complete path element sequence of the second export resource.
For example, the following are acceptable:
-
/example and /path
-
/example1 and /example2
-
/example and /example1
The following examples are not acceptable: * /example and /example/path * / and /example
Paths may not end in a slash (/). No path element can be a period (.) or two periods in sequence (..). All path elements must be 255 bytes or less.
No two non-'DELETED' export resources in the same export set can reference the same file system.
Use exportOptions
to control access to an export. For more information, see Export Options.
Constant Summary collapse
- LIFECYCLE_STATE_ENUM =
[ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze, LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze, LIFECYCLE_STATE_DELETING = 'DELETING'.freeze, LIFECYCLE_STATE_DELETED = 'DELETED'.freeze, LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze ].freeze
Instance Attribute Summary collapse
-
#export_options ⇒ Array<OCI::FileStorage::Models::ClientOptions>
[Required] Policies that apply to NFS requests made through this export.
-
#export_set_id ⇒ String
[Required] The OCID of this export's export set.
-
#file_system_id ⇒ String
[Required] The OCID of this export's file system.
-
#id ⇒ String
[Required] The OCID of this export.
-
#is_idmap_groups_for_sys_auth ⇒ BOOLEAN
Whether or not the export should use ID mapping for Unix groups rather than the group list provided within an NFS request's RPC header.
-
#lifecycle_state ⇒ String
[Required] The current state of this export.
-
#path ⇒ String
[Required] Path used to access the associated file system.
-
#time_created ⇒ DateTime
[Required] The date and time the export was created, expressed in RFC 3339 timestamp format.
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ Export
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Constructor Details
#initialize(attributes = {}) ⇒ Export
Initializes the object
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/oci/file_storage/models/export.rb', line 165 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self. = attributes[:'exportOptions'] if attributes[:'exportOptions'] raise 'You cannot provide both :exportOptions and :export_options' if attributes.key?(:'exportOptions') && attributes.key?(:'export_options') self. = attributes[:'export_options'] if attributes[:'export_options'] self.export_set_id = attributes[:'exportSetId'] if attributes[:'exportSetId'] raise 'You cannot provide both :exportSetId and :export_set_id' if attributes.key?(:'exportSetId') && attributes.key?(:'export_set_id') self.export_set_id = attributes[:'export_set_id'] if attributes[:'export_set_id'] self.file_system_id = attributes[:'fileSystemId'] if attributes[:'fileSystemId'] raise 'You cannot provide both :fileSystemId and :file_system_id' if attributes.key?(:'fileSystemId') && attributes.key?(:'file_system_id') self.file_system_id = attributes[:'file_system_id'] if attributes[:'file_system_id'] self.id = attributes[:'id'] if attributes[:'id'] self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState'] raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state') self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state'] self.path = attributes[:'path'] if attributes[:'path'] self.is_idmap_groups_for_sys_auth = attributes[:'isIdmapGroupsForSysAuth'] unless attributes[:'isIdmapGroupsForSysAuth'].nil? raise 'You cannot provide both :isIdmapGroupsForSysAuth and :is_idmap_groups_for_sys_auth' if attributes.key?(:'isIdmapGroupsForSysAuth') && attributes.key?(:'is_idmap_groups_for_sys_auth') self.is_idmap_groups_for_sys_auth = attributes[:'is_idmap_groups_for_sys_auth'] unless attributes[:'is_idmap_groups_for_sys_auth'].nil? self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated'] raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created') self.time_created = attributes[:'time_created'] if attributes[:'time_created'] end |
Instance Attribute Details
#export_options ⇒ Array<OCI::FileStorage::Models::ClientOptions>
[Required] Policies that apply to NFS requests made through this export. exportOptions
contains a sequential list of ClientOptions
. Each ClientOptions
item defines the export options that are applied to a specified set of clients.
For each NFS request, the first ClientOptions
option in the list whose source
attribute matches the source IP address of the request is applied.
If a client source IP address does not match the source
property of any ClientOptions
in the list, then the export will be invisible to that client. This export will not be returned by MOUNTPROC_EXPORT
calls made by the client and any attempt to mount or access the file system through this export will result in an error.
Exports without defined ClientOptions
are invisible to all clients.
If one export is invisible to a particular client, associated file systems may still be accessible through other exports on the same or different mount targets. To completely deny client access to a file system, be sure that the client source IP address is not included in any export for any mount target associated with the file system.
80 81 82 |
# File 'lib/oci/file_storage/models/export.rb', line 80 def @export_options end |
#export_set_id ⇒ String
[Required] The OCID of this export's export set.
84 85 86 |
# File 'lib/oci/file_storage/models/export.rb', line 84 def export_set_id @export_set_id end |
#file_system_id ⇒ String
[Required] The OCID of this export's file system.
88 89 90 |
# File 'lib/oci/file_storage/models/export.rb', line 88 def file_system_id @file_system_id end |
#id ⇒ String
[Required] The OCID of this export.
92 93 94 |
# File 'lib/oci/file_storage/models/export.rb', line 92 def id @id end |
#is_idmap_groups_for_sys_auth ⇒ BOOLEAN
Whether or not the export should use ID mapping for Unix groups rather than the group list provided within an NFS request's RPC header. When this flag is true the Unix UID from the RPC header is used to retrieve the list of secondary groups from a the ID mapping subsystem. The primary GID is always taken from the RPC header. If ID mapping is not configured, incorrectly configured, unavailable, or cannot be used to determine a list of secondary groups then an empty secondary group list is used for authorization. If the number of groups exceeds the limit of 256 groups, the list retrieved from LDAP is truncated to the first 256 groups read.
109 110 111 |
# File 'lib/oci/file_storage/models/export.rb', line 109 def is_idmap_groups_for_sys_auth @is_idmap_groups_for_sys_auth end |
#lifecycle_state ⇒ String
[Required] The current state of this export.
96 97 98 |
# File 'lib/oci/file_storage/models/export.rb', line 96 def lifecycle_state @lifecycle_state end |
#path ⇒ String
[Required] Path used to access the associated file system.
Avoid entering confidential information.
Example: /accounting
105 106 107 |
# File 'lib/oci/file_storage/models/export.rb', line 105 def path @path end |
#time_created ⇒ DateTime
[Required] The date and time the export was created, expressed in RFC 3339 timestamp format.
Example: 2016-08-25T21:10:29.600Z
117 118 119 |
# File 'lib/oci/file_storage/models/export.rb', line 117 def time_created @time_created end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/oci/file_storage/models/export.rb', line 120 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'export_options': :'exportOptions', 'export_set_id': :'exportSetId', 'file_system_id': :'fileSystemId', 'id': :'id', 'lifecycle_state': :'lifecycleState', 'path': :'path', 'is_idmap_groups_for_sys_auth': :'isIdmapGroupsForSysAuth', 'time_created': :'timeCreated' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/oci/file_storage/models/export.rb', line 136 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'export_options': :'Array<OCI::FileStorage::Models::ClientOptions>', 'export_set_id': :'String', 'file_system_id': :'String', 'id': :'String', 'lifecycle_state': :'String', 'path': :'String', 'is_idmap_groups_for_sys_auth': :'BOOLEAN', 'time_created': :'DateTime' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/oci/file_storage/models/export.rb', line 232 def ==(other) return true if equal?(other) self.class == other.class && == other. && export_set_id == other.export_set_id && file_system_id == other.file_system_id && id == other.id && lifecycle_state == other.lifecycle_state && path == other.path && is_idmap_groups_for_sys_auth == other.is_idmap_groups_for_sys_auth && time_created == other.time_created end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
# File 'lib/oci/file_storage/models/export.rb', line 269 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
249 250 251 |
# File 'lib/oci/file_storage/models/export.rb', line 249 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
258 259 260 |
# File 'lib/oci/file_storage/models/export.rb', line 258 def hash [, export_set_id, file_system_id, id, lifecycle_state, path, is_idmap_groups_for_sys_auth, time_created].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
302 303 304 305 306 307 308 309 310 311 |
# File 'lib/oci/file_storage/models/export.rb', line 302 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
296 297 298 |
# File 'lib/oci/file_storage/models/export.rb', line 296 def to_s to_hash.to_s end |