oci 2.5.3 → 2.5.4

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/dns/dns_client.rb +21 -12
  4. data/lib/oci/dns/models/create_steering_policy_attachment_details.rb +4 -7
  5. data/lib/oci/dns/models/create_steering_policy_details.rb +63 -52
  6. data/lib/oci/dns/models/create_zone_details.rb +10 -5
  7. data/lib/oci/dns/models/record.rb +3 -1
  8. data/lib/oci/dns/models/record_operation.rb +4 -0
  9. data/lib/oci/dns/models/steering_policy.rb +64 -54
  10. data/lib/oci/dns/models/steering_policy_answer.rb +55 -8
  11. data/lib/oci/dns/models/steering_policy_attachment.rb +8 -7
  12. data/lib/oci/dns/models/steering_policy_attachment_summary.rb +2 -3
  13. data/lib/oci/dns/models/steering_policy_filter_answer_data.rb +3 -1
  14. data/lib/oci/dns/models/steering_policy_filter_rule.rb +12 -3
  15. data/lib/oci/dns/models/steering_policy_filter_rule_case.rb +8 -0
  16. data/lib/oci/dns/models/steering_policy_health_rule.rb +9 -0
  17. data/lib/oci/dns/models/steering_policy_health_rule_case.rb +7 -0
  18. data/lib/oci/dns/models/steering_policy_limit_rule.rb +11 -1
  19. data/lib/oci/dns/models/steering_policy_limit_rule_case.rb +12 -1
  20. data/lib/oci/dns/models/steering_policy_priority_answer_data.rb +6 -0
  21. data/lib/oci/dns/models/steering_policy_priority_rule.rb +11 -2
  22. data/lib/oci/dns/models/steering_policy_priority_rule_case.rb +8 -0
  23. data/lib/oci/dns/models/steering_policy_rule.rb +28 -24
  24. data/lib/oci/dns/models/steering_policy_summary.rb +62 -53
  25. data/lib/oci/dns/models/steering_policy_weighted_answer_data.rb +5 -0
  26. data/lib/oci/dns/models/steering_policy_weighted_rule.rb +11 -2
  27. data/lib/oci/dns/models/steering_policy_weighted_rule_case.rb +8 -0
  28. data/lib/oci/dns/models/update_steering_policy_attachment_details.rb +5 -1
  29. data/lib/oci/dns/models/update_steering_policy_details.rb +64 -52
  30. data/lib/oci/dns/models/update_zone_details.rb +10 -5
  31. data/lib/oci/dns/models/zone.rb +10 -5
  32. data/lib/oci/dns/models/zone_summary.rb +10 -5
  33. data/lib/oci/object_storage/models/bucket.rb +12 -11
  34. data/lib/oci/object_storage/models/bucket_summary.rb +4 -4
  35. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +3 -3
  36. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +3 -3
  37. data/lib/oci/object_storage/models/copy_object_details.rb +22 -13
  38. data/lib/oci/object_storage/models/create_bucket_details.rb +5 -5
  39. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +2 -2
  40. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +6 -3
  41. data/lib/oci/object_storage/models/list_objects.rb +2 -2
  42. data/lib/oci/object_storage/models/multipart_upload.rb +4 -4
  43. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +5 -4
  44. data/lib/oci/object_storage/models/namespace_metadata.rb +4 -4
  45. data/lib/oci/object_storage/models/object_lifecycle_rule.rb +3 -3
  46. data/lib/oci/object_storage/models/object_name_filter.rb +76 -6
  47. data/lib/oci/object_storage/models/object_summary.rb +2 -2
  48. data/lib/oci/object_storage/models/pattern_details.rb +208 -0
  49. data/lib/oci/object_storage/models/preauthenticated_request.rb +9 -7
  50. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +3 -1
  51. data/lib/oci/object_storage/models/rename_object_details.rb +5 -5
  52. data/lib/oci/object_storage/models/restore_objects_details.rb +2 -2
  53. data/lib/oci/object_storage/models/update_bucket_details.rb +5 -5
  54. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +4 -4
  55. data/lib/oci/object_storage/models/work_request.rb +11 -10
  56. data/lib/oci/object_storage/models/work_request_error.rb +4 -4
  57. data/lib/oci/object_storage/models/work_request_log_entry.rb +3 -1
  58. data/lib/oci/object_storage/models/work_request_resource.rb +4 -4
  59. data/lib/oci/object_storage/models/work_request_summary.rb +11 -10
  60. data/lib/oci/object_storage/object_storage.rb +1 -0
  61. data/lib/oci/object_storage/object_storage_client.rb +117 -93
  62. data/lib/oci/object_storage/object_storage_client_composite_operations.rb +2 -2
  63. data/lib/oci/version.rb +1 -1
  64. metadata +3 -2
@@ -4,47 +4,56 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
8
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
7
+ # The parameters required by Object Storage to process a request to copy an object to another bucket.
8
+ #
9
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
10
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
9
11
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
10
12
  #
11
13
  class ObjectStorage::Models::CopyObjectDetails # rubocop:disable Metrics/LineLength
12
- # **[Required]** The name of the object to be copied
14
+ # **[Required]** The name of the object to be copied.
13
15
  # @return [String]
14
16
  attr_accessor :source_object_name
15
17
 
16
- # The entity tag to match the target object.
18
+ # The entity tag (ETag) to match against that of the source object. Used to confirm that the source object
19
+ # with a given name is the version of that object storing a specified ETag.
20
+ #
17
21
  # @return [String]
18
22
  attr_accessor :source_object_if_match_e_tag
19
23
 
20
- # **[Required]** The destination region object will be copied to. Please specify name of the region, for example \"us-ashburn-1\".
24
+ # **[Required]** The destination region the object will be copied to, for example \"us-ashburn-1\".
21
25
  # @return [String]
22
26
  attr_accessor :destination_region
23
27
 
24
- # **[Required]** The destination namespace object will be copied to.
28
+ # **[Required]** The destination Object Storage namespace the object will be copied to.
25
29
  # @return [String]
26
30
  attr_accessor :destination_namespace
27
31
 
28
- # **[Required]** The destination bucket object will be copied to.
32
+ # **[Required]** The destination bucket the object will be copied to.
29
33
  # @return [String]
30
34
  attr_accessor :destination_bucket
31
35
 
32
- # **[Required]** The destination name for the copy object.
36
+ # **[Required]** The name of the destination object resulting from the copy operation.
33
37
  # @return [String]
34
38
  attr_accessor :destination_object_name
35
39
 
36
- # The entity tag to match the target object.
40
+ # The entity tag (ETag) to match against that of the destination object (an object intended to be overwritten).
41
+ # Used to confirm that the destination object stored under a given name is the version of that object
42
+ # storing a specified entity tag.
43
+ #
37
44
  # @return [String]
38
45
  attr_accessor :destination_object_if_match_e_tag
39
46
 
40
- # The entity tag to not match the target object.
47
+ # The entity tag (ETag) to avoid matching. The only valid value is '*', which indicates that the request should fail
48
+ # if the object already exists in the destination bucket.
49
+ #
41
50
  # @return [String]
42
51
  attr_accessor :destination_object_if_none_match_e_tag
43
52
 
44
53
  # Arbitrary string keys and values for the user-defined metadata for the object. Keys must be in
45
- # \"opc-meta-*\" format. Avoid entering confidential information. If user enter value in this field, the value
46
- # will become the object metadata for destination Object. If no value pass in, the destination object will have
47
- # the exact object metadata as source object.
54
+ # \"opc-meta-*\" format. Avoid entering confidential information. Metadata key-value pairs entered
55
+ # in this field are assigned to the destination object. If you enter no metadata values, the destination
56
+ # object will inherit any existing metadata values associated with the source object.
48
57
  #
49
58
  # @return [Hash<String, String>]
50
59
  attr_accessor :destination_object_metadata
@@ -4,8 +4,8 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
8
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
7
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
8
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
9
9
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
10
10
  #
11
11
  class ObjectStorage::Models::CreateBucketDetails # rubocop:disable Metrics/LineLength
@@ -20,8 +20,8 @@ module OCI
20
20
  STORAGE_TIER_ARCHIVE = 'Archive'.freeze
21
21
  ].freeze
22
22
 
23
- # **[Required]** The name of the bucket. Valid characters are uppercase or lowercase letters,
24
- # numbers, and dashes. Bucket names must be unique within the namespace. Avoid entering confidential information.
23
+ # **[Required]** The name of the bucket. Valid characters are uppercase or lowercase letters, numbers, and dashes.
24
+ # Bucket names must be unique within an Object Storage namespace. Avoid entering confidential information.
25
25
  # example: Example: my-new-bucket1
26
26
  #
27
27
  # @return [String]
@@ -66,7 +66,7 @@ module OCI
66
66
  # @return [Hash<String, Hash<String, Object>>]
67
67
  attr_accessor :defined_tags
68
68
 
69
- # The OCID of a KMS key id used to call KMS to generate data key, decrypt the encrypted data key
69
+ # The OCID of a KMS key id used to call KMS to generate the data key or decrypt the encrypted data key.
70
70
  # @return [String]
71
71
  attr_accessor :kms_key_id
72
72
 
@@ -4,8 +4,8 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
8
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
7
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
8
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
9
9
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
10
10
  #
11
11
  class ObjectStorage::Models::CreateMultipartUploadDetails # rubocop:disable Metrics/LineLength
@@ -13,11 +13,13 @@ module OCI
13
13
  ACCESS_TYPE_ANY_OBJECT_WRITE = 'AnyObjectWrite'.freeze
14
14
  ].freeze
15
15
 
16
- # **[Required]** A user-specified name for the pre-authenticated request. Helpful for management purposes.
16
+ # **[Required]** A user-specified name for the pre-authenticated request. Names can be helpful in managing pre-authenticated requests.
17
17
  # @return [String]
18
18
  attr_accessor :name
19
19
 
20
- # The name of object that is being granted access to by the pre-authenticated request. This can be null and if it is, the pre-authenticated request grants access to the entire bucket.
20
+ # The name of the object that is being granted access to by the pre-authenticated request. Avoid entering confidential
21
+ # information. The object name can be null and if so, the pre-authenticated request grants access to the entire bucket.
22
+ #
21
23
  # @return [String]
22
24
  attr_accessor :object_name
23
25
 
@@ -25,7 +27,8 @@ module OCI
25
27
  # @return [String]
26
28
  attr_reader :access_type
27
29
 
28
- # **[Required]** The expiration date for the pre-authenticated request as per [RFC 3339](https://tools.ietf.org/rfc/rfc3339). After this date the pre-authenticated request will no longer be valid.
30
+ # **[Required]** The expiration date for the pre-authenticated request as per [RFC 3339](https://tools.ietf.org/rfc/rfc3339).
31
+ # After this date the pre-authenticated request will no longer be valid.
29
32
  #
30
33
  # @return [DateTime]
31
34
  attr_accessor :time_expires
@@ -4,8 +4,8 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
8
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
7
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
8
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
9
9
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
10
10
  #
11
11
  class ObjectStorage::Models::ListObjects # rubocop:disable Metrics/LineLength
@@ -8,14 +8,14 @@ module OCI
8
8
  # objects that are too large for a single upload operation. With multipart uploads, individual parts of an object can be
9
9
  # uploaded in parallel to reduce the amount of time you spend uploading. Multipart uploads can also minimize the impact
10
10
  # of network failures by letting you retry a failed part upload instead of requiring you to retry an entire object upload.
11
- # See [Managing Multipart Uploads](https://docs.cloud.oracle.com/Content/Object/Tasks/managingmultipartuploads.htm).
11
+ # See [Using Multipart Uploads](https://docs.cloud.oracle.com/Content/Object/Tasks/usingmultipartuploads.htm).
12
12
  #
13
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
14
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
13
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
14
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
15
15
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
16
16
  #
17
17
  class ObjectStorage::Models::MultipartUpload # rubocop:disable Metrics/LineLength
18
- # **[Required]** The namespace in which the in-progress multipart upload is stored.
18
+ # **[Required]** The Object Storage namespace in which the in-progress multipart upload is stored.
19
19
  # @return [String]
20
20
  attr_accessor :namespace
21
21
 
@@ -4,13 +4,14 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # Get summary information about multipart uploads.
8
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
9
- # talk to an administrator. If you're an administrator who needs to write policies to give users access,
7
+ # Gets summary information about multipart uploads.
8
+ #
9
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
10
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access,
10
11
  # see [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
11
12
  #
12
13
  class ObjectStorage::Models::MultipartUploadPartSummary # rubocop:disable Metrics/LineLength
13
- # **[Required]** The current entity tag for the part.
14
+ # **[Required]** The current entity tag (ETag) for the part.
14
15
  # @return [String]
15
16
  attr_accessor :etag
16
17
 
@@ -4,18 +4,18 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # A NamespaceMetadata is a map for storing namespace and defaultS3CompartmentId, defaultSwiftCompartmentId.
7
+ # NamespaceMetadata maps a namespace string to defaultS3CompartmentId and defaultSwiftCompartmentId values.
8
8
  #
9
9
  class ObjectStorage::Models::NamespaceMetadata # rubocop:disable Metrics/LineLength
10
- # **[Required]** The namespace to which the metadata belongs.
10
+ # **[Required]** The Object Storage namespace to which the metadata belongs.
11
11
  # @return [String]
12
12
  attr_accessor :namespace
13
13
 
14
- # **[Required]** The default compartment ID for an S3 client.
14
+ # **[Required]** If the field is set, specifies the default compartment assignment for the Amazon S3 Compatibility API.
15
15
  # @return [String]
16
16
  attr_accessor :default_s3_compartment_id
17
17
 
18
- # **[Required]** The default compartment ID for a Swift client.
18
+ # **[Required]** If the field is set, specifies the default compartment assignment for the Swift API.
19
19
  # @return [String]
20
20
  attr_accessor :default_swift_compartment_id
21
21
 
@@ -5,8 +5,8 @@ require 'logger'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective
7
7
  module OCI
8
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
9
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
8
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
9
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
10
10
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
11
11
  #
12
12
  class ObjectStorage::Models::ObjectLifecycleRule # rubocop:disable Metrics/LineLength
@@ -21,7 +21,7 @@ module OCI
21
21
  attr_accessor :name
22
22
 
23
23
  # **[Required]** The action of the object lifecycle policy rule. Rules using the action 'ARCHIVE' move objects into the
24
- # [Archival Storage tier](https://docs.cloud.oracle.com/Content/Archive/Concepts/archivestorageoverview.htm). Rules using the action
24
+ # [Archive Storage tier](https://docs.cloud.oracle.com/Content/Archive/Concepts/archivestorageoverview.htm). Rules using the action
25
25
  # 'DELETE' permanently delete objects from buckets. 'ARCHIVE' and 'DELETE' are the only two supported
26
26
  # actions at this time.
27
27
  #
@@ -4,8 +4,10 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # A filter that compares object names to a set of object name prefixes to determine if a rule applies to a
8
- # given object.
7
+ # A filter that compares object names to a set of prefixes or patterns to determine if a rule applies to a
8
+ # given object. The filter can contain include glob patterns, exclude glob patterns and inclusion prefixes.
9
+ # The inclusion prefixes property is kept for backward compatibility. It is recommended to use inclusion patterns
10
+ # instead of prefixes. Exclusions take precedence over inclusions.
9
11
  #
10
12
  class ObjectStorage::Models::ObjectNameFilter # rubocop:disable Metrics/LineLength
11
13
  # An array of object name prefixes that the rule will apply to. An empty array means to include all objects.
@@ -13,11 +15,61 @@ module OCI
13
15
  # @return [Array<String>]
14
16
  attr_accessor :inclusion_prefixes
15
17
 
18
+ # An array of glob patterns to match the object names to include. An empty array includes all objects in the
19
+ # bucket. Exclusion patterns take precedence over inclusion patterns.
20
+ # A Glob pattern is a sequence of characters to match text. Any character that appears in the pattern, other
21
+ # than the special pattern characters described below, matches itself.
22
+ # Glob patterns must be between 1 and 1024 characters.
23
+ #
24
+ # The special pattern characters have the following meanings:
25
+ #
26
+ # \\ Escapes the following character
27
+ # * Matches any string of characters.
28
+ # ? Matches any single character .
29
+ # [...] Matches a group of characters. A group of characters can be:
30
+ # A set of characters, for example: [Zafg9@]. This matches any character in the brackets.
31
+ # A range of characters, for example: [a-z]. This matches any character in the range.
32
+ # [a-f] is equivalent to [abcdef].
33
+ # For character ranges only the CHARACTER-CHARACTER pattern is supported.
34
+ # [ab-yz] is not valid
35
+ # [a-mn-z] is not valid
36
+ # Character ranges can not start with ^ or :
37
+ # To include a '-' in the range, make it the first or last character.
38
+ #
39
+ # @return [Array<String>]
40
+ attr_accessor :inclusion_patterns
41
+
42
+ # An array of glob patterns to match the object names to exclude. An empty array is ignored. Exclusion
43
+ # patterns take precedence over inclusion patterns.
44
+ # A Glob pattern is a sequence of characters to match text. Any character that appears in the pattern, other
45
+ # than the special pattern characters described below, matches itself.
46
+ # Glob patterns must be between 1 and 1024 characters.
47
+ #
48
+ # The special pattern characters have the following meanings:
49
+ #
50
+ # \\ Escapes the following character
51
+ # * Matches any string of characters.
52
+ # ? Matches any single character .
53
+ # [...] Matches a group of characters. A group of characters can be:
54
+ # A set of characters, for example: [Zafg9@]. This matches any character in the brackets.
55
+ # A range of characters, for example: [a-z]. This matches any character in the range.
56
+ # [a-f] is equivalent to [abcdef].
57
+ # For character ranges only the CHARACTER-CHARACTER pattern is supported.
58
+ # [ab-yz] is not valid
59
+ # [a-mn-z] is not valid
60
+ # Character ranges can not start with ^ or :
61
+ # To include a '-' in the range, make it the first or last character.
62
+ #
63
+ # @return [Array<String>]
64
+ attr_accessor :exclusion_patterns
65
+
16
66
  # Attribute mapping from ruby-style variable name to JSON key.
17
67
  def self.attribute_map
18
68
  {
19
69
  # rubocop:disable Style/SymbolLiteral
20
- 'inclusion_prefixes': :'inclusionPrefixes'
70
+ 'inclusion_prefixes': :'inclusionPrefixes',
71
+ 'inclusion_patterns': :'inclusionPatterns',
72
+ 'exclusion_patterns': :'exclusionPatterns'
21
73
  # rubocop:enable Style/SymbolLiteral
22
74
  }
23
75
  end
@@ -26,7 +78,9 @@ module OCI
26
78
  def self.swagger_types
27
79
  {
28
80
  # rubocop:disable Style/SymbolLiteral
29
- 'inclusion_prefixes': :'Array<String>'
81
+ 'inclusion_prefixes': :'Array<String>',
82
+ 'inclusion_patterns': :'Array<String>',
83
+ 'exclusion_patterns': :'Array<String>'
30
84
  # rubocop:enable Style/SymbolLiteral
31
85
  }
32
86
  end
@@ -38,6 +92,8 @@ module OCI
38
92
  # Initializes the object
39
93
  # @param [Hash] attributes Model attributes in the form of hash
40
94
  # @option attributes [Array<String>] :inclusion_prefixes The value to assign to the {#inclusion_prefixes} property
95
+ # @option attributes [Array<String>] :inclusion_patterns The value to assign to the {#inclusion_patterns} property
96
+ # @option attributes [Array<String>] :exclusion_patterns The value to assign to the {#exclusion_patterns} property
41
97
  def initialize(attributes = {})
42
98
  return unless attributes.is_a?(Hash)
43
99
 
@@ -49,6 +105,18 @@ module OCI
49
105
  raise 'You cannot provide both :inclusionPrefixes and :inclusion_prefixes' if attributes.key?(:'inclusionPrefixes') && attributes.key?(:'inclusion_prefixes')
50
106
 
51
107
  self.inclusion_prefixes = attributes[:'inclusion_prefixes'] if attributes[:'inclusion_prefixes']
108
+
109
+ self.inclusion_patterns = attributes[:'inclusionPatterns'] if attributes[:'inclusionPatterns']
110
+
111
+ raise 'You cannot provide both :inclusionPatterns and :inclusion_patterns' if attributes.key?(:'inclusionPatterns') && attributes.key?(:'inclusion_patterns')
112
+
113
+ self.inclusion_patterns = attributes[:'inclusion_patterns'] if attributes[:'inclusion_patterns']
114
+
115
+ self.exclusion_patterns = attributes[:'exclusionPatterns'] if attributes[:'exclusionPatterns']
116
+
117
+ raise 'You cannot provide both :exclusionPatterns and :exclusion_patterns' if attributes.key?(:'exclusionPatterns') && attributes.key?(:'exclusion_patterns')
118
+
119
+ self.exclusion_patterns = attributes[:'exclusion_patterns'] if attributes[:'exclusion_patterns']
52
120
  end
53
121
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
54
122
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -62,7 +130,9 @@ module OCI
62
130
  return true if equal?(other)
63
131
 
64
132
  self.class == other.class &&
65
- inclusion_prefixes == other.inclusion_prefixes
133
+ inclusion_prefixes == other.inclusion_prefixes &&
134
+ inclusion_patterns == other.inclusion_patterns &&
135
+ exclusion_patterns == other.exclusion_patterns
66
136
  end
67
137
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
68
138
 
@@ -78,7 +148,7 @@ module OCI
78
148
  # Calculates hash code according to all attributes.
79
149
  # @return [Fixnum] Hash code
80
150
  def hash
81
- [inclusion_prefixes].hash
151
+ [inclusion_prefixes, inclusion_patterns, exclusion_patterns].hash
82
152
  end
83
153
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
84
154
 
@@ -4,8 +4,8 @@ require 'date'
4
4
 
5
5
  # rubocop:disable Lint/UnneededCopDisableDirective
6
6
  module OCI
7
- # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
8
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
7
+ # To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized,
8
+ # talk to an administrator. If you are an administrator who needs to write policies to give users access, see
9
9
  # [Getting Started with Policies](https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
10
10
  #
11
11
  class ObjectStorage::Models::ObjectSummary # rubocop:disable Metrics/LineLength
@@ -0,0 +1,208 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective
6
+ module OCI
7
+ # Specifying inclusion and exclusion patterns.
8
+ #
9
+ class ObjectStorage::Models::PatternDetails # rubocop:disable Metrics/LineLength
10
+ # An array of glob patterns to match the object names to include. An empty array includes all objects in the
11
+ # bucket. Exclusion patterns take precedence over inclusion patterns.
12
+ # A Glob pattern is a sequence of characters to match text. Any character that appears in the pattern, other
13
+ # than the special pattern characters described below, matches itself.
14
+ # Glob patterns must be between 1 and 1024 characters.
15
+ #
16
+ # The special pattern characters have the following meanings:
17
+ #
18
+ # \\ Escapes the following character
19
+ # * Matches any string of characters.
20
+ # ? Matches any single character .
21
+ # [...] Matches a group of characters. A group of characters can be:
22
+ # A set of characters, for example: [Zafg9@]. This matches any character in the brackets.
23
+ # A range of characters, for example: [a-z]. This matches any character in the range.
24
+ # [a-f] is equivalent to [abcdef].
25
+ # For character ranges only the CHARACTER-CHARACTER pattern is supported.
26
+ # [ab-yz] is not valid
27
+ # [a-mn-z] is not valid
28
+ # Character ranges can not start with ^ or :
29
+ # To include a '-' in the range, make it the first or last character.
30
+ #
31
+ # @return [Array<String>]
32
+ attr_accessor :inclusion_patterns
33
+
34
+ # An array of glob patterns to match the object names to exclude. An empty array is ignored. Exclusion
35
+ # patterns take precedence over inclusion patterns.
36
+ # A Glob pattern is a sequence of characters to match text. Any character that appears in the pattern, other
37
+ # than the special pattern characters described below, matches itself.
38
+ # Glob patterns must be between 1 and 1024 characters.
39
+ #
40
+ # The special pattern characters have the following meanings:
41
+ #
42
+ # \\ Escapes the following character
43
+ # * Matches any string of characters.
44
+ # ? Matches any single character .
45
+ # [...] Matches a group of characters. A group of characters can be:
46
+ # A set of characters, for example: [Zafg9@]. This matches any character in the brackets.
47
+ # A range of characters, for example: [a-z]. This matches any character in the range.
48
+ # [a-f] is equivalent to [abcdef].
49
+ # For character ranges only the CHARACTER-CHARACTER pattern is supported.
50
+ # [ab-yz] is not valid
51
+ # [a-mn-z] is not valid
52
+ # Character ranges can not start with ^ or :
53
+ # To include a '-' in the range, make it the first or last character.
54
+ #
55
+ # @return [Array<String>]
56
+ attr_accessor :exclusion_patterns
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ # rubocop:disable Style/SymbolLiteral
62
+ 'inclusion_patterns': :'inclusionPatterns',
63
+ 'exclusion_patterns': :'exclusionPatterns'
64
+ # rubocop:enable Style/SymbolLiteral
65
+ }
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.swagger_types
70
+ {
71
+ # rubocop:disable Style/SymbolLiteral
72
+ 'inclusion_patterns': :'Array<String>',
73
+ 'exclusion_patterns': :'Array<String>'
74
+ # rubocop:enable Style/SymbolLiteral
75
+ }
76
+ end
77
+
78
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
79
+ # rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
80
+
81
+
82
+ # Initializes the object
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ # @option attributes [Array<String>] :inclusion_patterns The value to assign to the {#inclusion_patterns} property
85
+ # @option attributes [Array<String>] :exclusion_patterns The value to assign to the {#exclusion_patterns} property
86
+ def initialize(attributes = {})
87
+ return unless attributes.is_a?(Hash)
88
+
89
+ # convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
91
+
92
+ self.inclusion_patterns = attributes[:'inclusionPatterns'] if attributes[:'inclusionPatterns']
93
+
94
+ raise 'You cannot provide both :inclusionPatterns and :inclusion_patterns' if attributes.key?(:'inclusionPatterns') && attributes.key?(:'inclusion_patterns')
95
+
96
+ self.inclusion_patterns = attributes[:'inclusion_patterns'] if attributes[:'inclusion_patterns']
97
+
98
+ self.exclusion_patterns = attributes[:'exclusionPatterns'] if attributes[:'exclusionPatterns']
99
+
100
+ raise 'You cannot provide both :exclusionPatterns and :exclusion_patterns' if attributes.key?(:'exclusionPatterns') && attributes.key?(:'exclusion_patterns')
101
+
102
+ self.exclusion_patterns = attributes[:'exclusion_patterns'] if attributes[:'exclusion_patterns']
103
+ end
104
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
105
+ # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
106
+
107
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
108
+
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] other the other object to be compared
112
+ def ==(other)
113
+ return true if equal?(other)
114
+
115
+ self.class == other.class &&
116
+ inclusion_patterns == other.inclusion_patterns &&
117
+ exclusion_patterns == other.exclusion_patterns
118
+ end
119
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
120
+
121
+ # @see the `==` method
122
+ # @param [Object] other the other object to be compared
123
+ def eql?(other)
124
+ self == other
125
+ end
126
+
127
+ # rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
128
+
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Fixnum] Hash code
132
+ def hash
133
+ [inclusion_patterns, exclusion_patterns].hash
134
+ end
135
+ # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
136
+
137
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
138
+
139
+
140
+ # Builds the object from hash
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ # @return [Object] Returns the model itself
143
+ def build_from_hash(attributes)
144
+ return nil unless attributes.is_a?(Hash)
145
+
146
+ self.class.swagger_types.each_pair do |key, type|
147
+ if type =~ /^Array<(.*)>/i
148
+ # check to ensure the input is an array given that the the attribute
149
+ # is documented as an array but the input is not
150
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
151
+ public_method("#{key}=").call(
152
+ attributes[self.class.attribute_map[key]]
153
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
154
+ )
155
+ end
156
+ elsif !attributes[self.class.attribute_map[key]].nil?
157
+ public_method("#{key}=").call(
158
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
159
+ )
160
+ end
161
+ # or else data not found in attributes(hash), not an issue as the data can be optional
162
+ end
163
+
164
+ self
165
+ end
166
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
167
+
168
+ # Returns the string representation of the object
169
+ # @return [String] String presentation of the object
170
+ def to_s
171
+ to_hash.to_s
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = public_method(attr).call
180
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
181
+
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ private
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map { |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+ end
207
+ end
208
+ # rubocop:enable Lint/UnneededCopDisableDirective