oci 2.3.1 → 2.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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