oci 2.3.1 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,32 @@ require 'date'
6
6
  module OCI
7
7
  # CreateExportDetails model.
8
8
  class FileStorage::Models::CreateExportDetails # rubocop:disable Metrics/LineLength
9
+ # Export options for the new export. If left unspecified,
10
+ # defaults to:
11
+ #
12
+ # [
13
+ # {
14
+ # \"source\" : \"0.0.0.0/0\",
15
+ # \"requirePrivilegedSourcePort\" : false,
16
+ # \"access\" : \"READ_WRITE\",
17
+ # \"identitySquash\" : \"NONE\"
18
+ # }
19
+ # ]
20
+ #
21
+ # **Note:** Mount targets do not have Internet-routable IP
22
+ # addresses. Therefore they will not be reachable from the
23
+ # Internet, even if an associated `ClientOptions` item has
24
+ # a source of `0.0.0.0/0`.
25
+ #
26
+ # **If set to the empty array then the export will not be
27
+ # visible to any clients.**
28
+ #
29
+ # The export's `exportOptions` can be changed after creation
30
+ # using the `UpdateExport` operation.
31
+ #
32
+ # @return [Array<OCI::FileStorage::Models::ClientOptions>]
33
+ attr_accessor :export_options
34
+
9
35
  # **[Required]** The OCID of this export's export set.
10
36
  # @return [String]
11
37
  attr_accessor :export_set_id
@@ -27,6 +53,7 @@ module OCI
27
53
  def self.attribute_map
28
54
  {
29
55
  # rubocop:disable Style/SymbolLiteral
56
+ 'export_options': :'exportOptions',
30
57
  'export_set_id': :'exportSetId',
31
58
  'file_system_id': :'fileSystemId',
32
59
  'path': :'path'
@@ -38,6 +65,7 @@ module OCI
38
65
  def self.swagger_types
39
66
  {
40
67
  # rubocop:disable Style/SymbolLiteral
68
+ 'export_options': :'Array<OCI::FileStorage::Models::ClientOptions>',
41
69
  'export_set_id': :'String',
42
70
  'file_system_id': :'String',
43
71
  'path': :'String'
@@ -51,6 +79,7 @@ module OCI
51
79
 
52
80
  # Initializes the object
53
81
  # @param [Hash] attributes Model attributes in the form of hash
82
+ # @option attributes [Array<OCI::FileStorage::Models::ClientOptions>] :export_options The value to assign to the {#export_options} property
54
83
  # @option attributes [String] :export_set_id The value to assign to the {#export_set_id} property
55
84
  # @option attributes [String] :file_system_id The value to assign to the {#file_system_id} property
56
85
  # @option attributes [String] :path The value to assign to the {#path} property
@@ -60,6 +89,12 @@ module OCI
60
89
  # convert string to symbol for hash key
61
90
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
62
91
 
92
+ self.export_options = attributes[:'exportOptions'] if attributes[:'exportOptions']
93
+
94
+ raise 'You cannot provide both :exportOptions and :export_options' if attributes.key?(:'exportOptions') && attributes.key?(:'export_options')
95
+
96
+ self.export_options = attributes[:'export_options'] if attributes[:'export_options']
97
+
63
98
  self.export_set_id = attributes[:'exportSetId'] if attributes[:'exportSetId']
64
99
 
65
100
  raise 'You cannot provide both :exportSetId and :export_set_id' if attributes.key?(:'exportSetId') && attributes.key?(:'export_set_id')
@@ -85,6 +120,7 @@ module OCI
85
120
  def ==(other)
86
121
  return true if equal?(other)
87
122
  self.class == other.class &&
123
+ export_options == other.export_options &&
88
124
  export_set_id == other.export_set_id &&
89
125
  file_system_id == other.file_system_id &&
90
126
  path == other.path
@@ -103,7 +139,7 @@ module OCI
103
139
  # Calculates hash code according to all attributes.
104
140
  # @return [Fixnum] Hash code
105
141
  def hash
106
- [export_set_id, file_system_id, path].hash
142
+ [export_options, export_set_id, file_system_id, path].hash
107
143
  end
108
144
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
109
145
 
@@ -6,7 +6,7 @@ require 'date'
6
6
  module OCI
7
7
  # CreateSnapshotDetails model.
8
8
  class FileStorage::Models::CreateSnapshotDetails # rubocop:disable Metrics/LineLength
9
- # **[Required]** The OCID of this export's file system.
9
+ # **[Required]** The OCID of the file system to take a snapshot of.
10
10
  # @return [String]
11
11
  attr_accessor :file_system_id
12
12
 
@@ -36,6 +36,9 @@ module OCI
36
36
  # No two non-'DELETED' export resources in the same export set can
37
37
  # reference the same file system.
38
38
  #
39
+ # Use `exportOptions` to control access to an export. For more information, see
40
+ # [Export Options](https://docs.us-phoenix-1.oraclecloud.com/Content/File/Tasks/exportoptions.htm).
41
+ #
39
42
  class FileStorage::Models::Export # rubocop:disable Metrics/LineLength
40
43
  LIFECYCLE_STATE_ENUM = [
41
44
  LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
@@ -45,6 +48,35 @@ module OCI
45
48
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
46
49
  ].freeze
47
50
 
51
+ # **[Required]** Policies that apply to NFS requests made through this
52
+ # export. `exportOptions` contains a sequential list of
53
+ # `ClientOptions`. Each `ClientOptions` item defines the
54
+ # export options that are applied to a specified
55
+ # set of clients.
56
+ #
57
+ # For each NFS request, the first `ClientOptions` option
58
+ # in the list whose `source` attribute matches the source
59
+ # IP address of the request is applied.
60
+ #
61
+ # If a client source IP address does not match the `source`
62
+ # property of any `ClientOptions` in the list, then the
63
+ # export will be invisible to that client. This export will
64
+ # not be returned by `MOUNTPROC_EXPORT` calls made by the client
65
+ # and any attempt to mount or access the file system through
66
+ # this export will result in an error.
67
+ #
68
+ # **Exports without defined `ClientOptions` are invisible to all clients.**
69
+ #
70
+ # If one export is invisible to a particular client, associated file
71
+ # systems may still be accessible through other exports on the same
72
+ # or different mount targets.
73
+ # To completely deny client access to a file system, be sure that the client
74
+ # source IP address is not included in any export for any mount target
75
+ # associated with the file system.
76
+ #
77
+ # @return [Array<OCI::FileStorage::Models::ClientOptions>]
78
+ attr_accessor :export_options
79
+
48
80
  # **[Required]** The OCID of this export's export set.
49
81
  # @return [String]
50
82
  attr_accessor :export_set_id
@@ -82,6 +114,7 @@ module OCI
82
114
  def self.attribute_map
83
115
  {
84
116
  # rubocop:disable Style/SymbolLiteral
117
+ 'export_options': :'exportOptions',
85
118
  'export_set_id': :'exportSetId',
86
119
  'file_system_id': :'fileSystemId',
87
120
  'id': :'id',
@@ -96,6 +129,7 @@ module OCI
96
129
  def self.swagger_types
97
130
  {
98
131
  # rubocop:disable Style/SymbolLiteral
132
+ 'export_options': :'Array<OCI::FileStorage::Models::ClientOptions>',
99
133
  'export_set_id': :'String',
100
134
  'file_system_id': :'String',
101
135
  'id': :'String',
@@ -112,6 +146,7 @@ module OCI
112
146
 
113
147
  # Initializes the object
114
148
  # @param [Hash] attributes Model attributes in the form of hash
149
+ # @option attributes [Array<OCI::FileStorage::Models::ClientOptions>] :export_options The value to assign to the {#export_options} property
115
150
  # @option attributes [String] :export_set_id The value to assign to the {#export_set_id} property
116
151
  # @option attributes [String] :file_system_id The value to assign to the {#file_system_id} property
117
152
  # @option attributes [String] :id The value to assign to the {#id} property
@@ -124,6 +159,12 @@ module OCI
124
159
  # convert string to symbol for hash key
125
160
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
126
161
 
162
+ self.export_options = attributes[:'exportOptions'] if attributes[:'exportOptions']
163
+
164
+ raise 'You cannot provide both :exportOptions and :export_options' if attributes.key?(:'exportOptions') && attributes.key?(:'export_options')
165
+
166
+ self.export_options = attributes[:'export_options'] if attributes[:'export_options']
167
+
127
168
  self.export_set_id = attributes[:'exportSetId'] if attributes[:'exportSetId']
128
169
 
129
170
  raise 'You cannot provide both :exportSetId and :export_set_id' if attributes.key?(:'exportSetId') && attributes.key?(:'export_set_id')
@@ -178,6 +219,7 @@ module OCI
178
219
  def ==(other)
179
220
  return true if equal?(other)
180
221
  self.class == other.class &&
222
+ export_options == other.export_options &&
181
223
  export_set_id == other.export_set_id &&
182
224
  file_system_id == other.file_system_id &&
183
225
  id == other.id &&
@@ -199,7 +241,7 @@ module OCI
199
241
  # Calculates hash code according to all attributes.
200
242
  # @return [Fixnum] Hash code
201
243
  def hash
202
- [export_set_id, file_system_id, id, lifecycle_state, path, time_created].hash
244
+ [export_options, export_set_id, file_system_id, id, lifecycle_state, path, time_created].hash
203
245
  end
204
246
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
205
247
 
@@ -58,7 +58,7 @@ module OCI
58
58
  # @return [Integer]
59
59
  attr_accessor :max_fs_stat_bytes
60
60
 
61
- # Controls the maximum `ffiles`, `ffiles`, and `afiles`
61
+ # Controls the maximum `tfiles`, `ffiles`, and `afiles`
62
62
  # values reported by `NFS FSSTAT` calls through any associated
63
63
  # mount targets. This is an advanced feature. For most
64
64
  # applications, use the default value. The
@@ -0,0 +1,155 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
6
+ module OCI
7
+ # UpdateExportDetails model.
8
+ class FileStorage::Models::UpdateExportDetails # rubocop:disable Metrics/LineLength
9
+ # New export options for the export.
10
+ #
11
+ # **Setting to the empty array will make the export invisible to all clients.**
12
+ #
13
+ # Leaving unset will leave the `exportOptions` unchanged.
14
+ #
15
+ # @return [Array<OCI::FileStorage::Models::ClientOptions>]
16
+ attr_accessor :export_options
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ # rubocop:disable Style/SymbolLiteral
22
+ 'export_options': :'exportOptions'
23
+ # rubocop:enable Style/SymbolLiteral
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ # rubocop:disable Style/SymbolLiteral
31
+ 'export_options': :'Array<OCI::FileStorage::Models::ClientOptions>'
32
+ # rubocop:enable Style/SymbolLiteral
33
+ }
34
+ end
35
+
36
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
37
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
38
+
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ # @option attributes [Array<OCI::FileStorage::Models::ClientOptions>] :export_options The value to assign to the {#export_options} property
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
48
+
49
+ self.export_options = attributes[:'exportOptions'] if attributes[:'exportOptions']
50
+
51
+ raise 'You cannot provide both :exportOptions and :export_options' if attributes.key?(:'exportOptions') && attributes.key?(:'export_options')
52
+
53
+ self.export_options = attributes[:'export_options'] if attributes[:'export_options']
54
+ end
55
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
56
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
57
+
58
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
59
+
60
+
61
+ # Checks equality by comparing each attribute.
62
+ # @param [Object] other the other object to be compared
63
+ def ==(other)
64
+ return true if equal?(other)
65
+ self.class == other.class &&
66
+ export_options == other.export_options
67
+ end
68
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
69
+
70
+ # @see the `==` method
71
+ # @param [Object] other the other object to be compared
72
+ def eql?(other)
73
+ self == other
74
+ end
75
+
76
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
77
+
78
+
79
+ # Calculates hash code according to all attributes.
80
+ # @return [Fixnum] Hash code
81
+ def hash
82
+ [export_options].hash
83
+ end
84
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
85
+
86
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
87
+
88
+
89
+ # Builds the object from hash
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ # @return [Object] Returns the model itself
92
+ def build_from_hash(attributes)
93
+ return nil unless attributes.is_a?(Hash)
94
+ self.class.swagger_types.each_pair do |key, type|
95
+ if type =~ /^Array<(.*)>/i
96
+ # check to ensure the input is an array given that the the attribute
97
+ # is documented as an array but the input is not
98
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
99
+ public_method("#{key}=").call(
100
+ attributes[self.class.attribute_map[key]]
101
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
102
+ )
103
+ end
104
+ elsif !attributes[self.class.attribute_map[key]].nil?
105
+ public_method("#{key}=").call(
106
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
107
+ )
108
+ end
109
+ # or else data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+
112
+ self
113
+ end
114
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
115
+
116
+ # Returns the string representation of the object
117
+ # @return [String] String presentation of the object
118
+ def to_s
119
+ to_hash.to_s
120
+ end
121
+
122
+ # Returns the object in the form of hash
123
+ # @return [Hash] Returns the object in the form of hash
124
+ def to_hash
125
+ hash = {}
126
+ self.class.attribute_map.each_pair do |attr, param|
127
+ value = public_method(attr).call
128
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
129
+ hash[param] = _to_hash(value)
130
+ end
131
+ hash
132
+ end
133
+
134
+ private
135
+
136
+ # Outputs non-array value in the form of hash
137
+ # For object, use to_hash. Otherwise, just return the value
138
+ # @param [Object] value Any valid value
139
+ # @return [Hash] Returns the value in the form of hash
140
+ def _to_hash(value)
141
+ if value.is_a?(Array)
142
+ value.compact.map { |v| _to_hash(v) }
143
+ elsif value.is_a?(Hash)
144
+ {}.tap do |hash|
145
+ value.each { |k, v| hash[k] = _to_hash(v) }
146
+ end
147
+ elsif value.respond_to? :to_hash
148
+ value.to_hash
149
+ else
150
+ value
151
+ end
152
+ end
153
+ end
154
+ end
155
+ # rubocop:enable Lint/UnneededCopDisableDirective
@@ -16,6 +16,14 @@ module OCI
16
16
  # @return [String]
17
17
  attr_accessor :compartment_id
18
18
 
19
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
20
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
21
+ #
22
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
23
+ #
24
+ # @return [Hash<String, Hash<String, Object>>]
25
+ attr_accessor :defined_tags
26
+
19
27
  # **[Required]** A user-friendly name. It does not have to be unique, and it is changeable.
20
28
  # Avoid entering confidential information.
21
29
  #
@@ -24,6 +32,14 @@ module OCI
24
32
  # @return [String]
25
33
  attr_accessor :display_name
26
34
 
35
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
36
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
37
+ #
38
+ # Example: `{\"Department\": \"Finance\"}`
39
+ #
40
+ # @return [Hash<String, String>]
41
+ attr_accessor :freeform_tags
42
+
27
43
  # @return [Hash<String, OCI::LoadBalancer::Models::HostnameDetails>]
28
44
  attr_accessor :hostnames
29
45
 
@@ -72,7 +88,9 @@ module OCI
72
88
  'backend_sets': :'backendSets',
73
89
  'certificates': :'certificates',
74
90
  'compartment_id': :'compartmentId',
91
+ 'defined_tags': :'definedTags',
75
92
  'display_name': :'displayName',
93
+ 'freeform_tags': :'freeformTags',
76
94
  'hostnames': :'hostnames',
77
95
  'is_private': :'isPrivate',
78
96
  'listeners': :'listeners',
@@ -90,7 +108,9 @@ module OCI
90
108
  'backend_sets': :'Hash<String, OCI::LoadBalancer::Models::BackendSetDetails>',
91
109
  'certificates': :'Hash<String, OCI::LoadBalancer::Models::CertificateDetails>',
92
110
  'compartment_id': :'String',
111
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
93
112
  'display_name': :'String',
113
+ 'freeform_tags': :'Hash<String, String>',
94
114
  'hostnames': :'Hash<String, OCI::LoadBalancer::Models::HostnameDetails>',
95
115
  'is_private': :'BOOLEAN',
96
116
  'listeners': :'Hash<String, OCI::LoadBalancer::Models::ListenerDetails>',
@@ -110,7 +130,9 @@ module OCI
110
130
  # @option attributes [Hash<String, OCI::LoadBalancer::Models::BackendSetDetails>] :backend_sets The value to assign to the {#backend_sets} property
111
131
  # @option attributes [Hash<String, OCI::LoadBalancer::Models::CertificateDetails>] :certificates The value to assign to the {#certificates} property
112
132
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
133
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
113
134
  # @option attributes [String] :display_name The value to assign to the {#display_name} property
135
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
114
136
  # @option attributes [Hash<String, OCI::LoadBalancer::Models::HostnameDetails>] :hostnames The value to assign to the {#hostnames} property
115
137
  # @option attributes [BOOLEAN] :is_private The value to assign to the {#is_private} property
116
138
  # @option attributes [Hash<String, OCI::LoadBalancer::Models::ListenerDetails>] :listeners The value to assign to the {#listeners} property
@@ -137,12 +159,24 @@ module OCI
137
159
 
138
160
  self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
139
161
 
162
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
163
+
164
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
165
+
166
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
167
+
140
168
  self.display_name = attributes[:'displayName'] if attributes[:'displayName']
141
169
 
142
170
  raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
143
171
 
144
172
  self.display_name = attributes[:'display_name'] if attributes[:'display_name']
145
173
 
174
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
175
+
176
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
177
+
178
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
179
+
146
180
  self.hostnames = attributes[:'hostnames'] if attributes[:'hostnames']
147
181
 
148
182
  self.is_private = attributes[:'isPrivate'] unless attributes[:'isPrivate'].nil?
@@ -187,7 +221,9 @@ module OCI
187
221
  backend_sets == other.backend_sets &&
188
222
  certificates == other.certificates &&
189
223
  compartment_id == other.compartment_id &&
224
+ defined_tags == other.defined_tags &&
190
225
  display_name == other.display_name &&
226
+ freeform_tags == other.freeform_tags &&
191
227
  hostnames == other.hostnames &&
192
228
  is_private == other.is_private &&
193
229
  listeners == other.listeners &&
@@ -209,7 +245,7 @@ module OCI
209
245
  # Calculates hash code according to all attributes.
210
246
  # @return [Fixnum] Hash code
211
247
  def hash
212
- [backend_sets, certificates, compartment_id, display_name, hostnames, is_private, listeners, path_route_sets, shape_name, subnet_ids].hash
248
+ [backend_sets, certificates, compartment_id, defined_tags, display_name, freeform_tags, hostnames, is_private, listeners, path_route_sets, shape_name, subnet_ids].hash
213
249
  end
214
250
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
215
251