Class: Comet::S3GenericVirtualStorageRole

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/s3generic_virtual_storage_role.rb

Overview

S3GenericVirtualStorageRole is a typed class wrapper around the underlying Comet Server API data structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeS3GenericVirtualStorageRole

Returns a new instance of S3GenericVirtualStorageRole.



72
73
74
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 72

def initialize
  clear
end

Instance Attribute Details

#access_keyObject

Returns the value of attribute access_key.



34
35
36
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 34

def access_key
  @access_key
end

#iamendpointObject

The URL for IAM API calls (e.g. “iam.amazonaws.com”)



21
22
23
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 21

def iamendpoint
  @iamendpoint
end

#master_bucketObject

If set, the Storage Template will generate Storage Vaults pointing to a subdirectory within this bucket. A single dynamic IAM policy will cover all created Storage Vaults. This is preferable for platforms that have limits on the total number of IAM policies. However, it requires a high level of IAM compatibility. If left blank, the Storage Template will generate Storage Vaults pointing to new, separate S3 buckets each time. An additional IAM policy is created for each new Storage Vault. This is preferable for platforms that have a lower level of IAM compatibility.



31
32
33
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 31

def master_bucket
  @master_bucket
end

#object_lock_daysObject

Returns the value of attribute object_lock_days.



49
50
51
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 49

def object_lock_days
  @object_lock_days
end

#object_lock_modeObject

Control whether the resulting Storage Vaults are configured for Object Lock. One of the OBJECT_LOCK_ constants



46
47
48
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 46

def object_lock_mode
  @object_lock_mode
end

#prefixObject

Optional. Prefix to use for bucket paths. This field is available in Comet 24.6.3 and later.



67
68
69
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 67

def prefix
  @prefix
end

#regionObject

Optional. The region to be used for new buckets. If blank, uses the default region for the S3-compatible provider (e.g. us-east-1). This field is available in Comet 24.3.1 and later.



62
63
64
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 62

def region
  @region
end

#remove_deletedObject

Control whether the “Allow removal of deleted files” checkbox is enabled for Storage Vaults generated from this Storage Template. When configuring a Storage Template from the Comet Server web interface, this field is set automatically for Storage Templates using Object Lock.



56
57
58
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 56

def remove_deleted
  @remove_deleted
end

#s3endpointObject

The URL for S3 API calls (e.g. “s3.amazonaws.com”)



17
18
19
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 17

def s3endpoint
  @s3endpoint
end

#secret_keyObject

Returns the value of attribute secret_key.



37
38
39
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 37

def secret_key
  @secret_key
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



70
71
72
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 70

def unknown_json_fields
  @unknown_json_fields
end

#use_object_lock__legacy__do_not_useObject

Deprecated.

This member has been deprecated since Comet version 23.x.x



41
42
43
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 41

def use_object_lock__legacy__do_not_use
  @use_object_lock__legacy__do_not_use
end

Instance Method Details

#clearObject



76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 76

def clear
  @s3endpoint = ''
  @iamendpoint = ''
  @master_bucket = ''
  @access_key = ''
  @secret_key = ''
  @object_lock_mode = 0
  @object_lock_days = 0
  @region = ''
  @prefix = ''
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


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
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 97

def from_hash(obj)
  raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash

  obj.each do |k, v|
    case k
    when 'S3Endpoint'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @s3endpoint = v
    when 'IAMEndpoint'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @iamendpoint = v
    when 'MasterBucket'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @master_bucket = v
    when 'AccessKey'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @access_key = v
    when 'SecretKey'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @secret_key = v
    when 'UseObjectLock'
      @use_object_lock__legacy__do_not_use = v
    when 'ObjectLockMode'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @object_lock_mode = v
    when 'ObjectLockDays'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @object_lock_days = v
    when 'RemoveDeleted'
      @remove_deleted = v
    when 'Region'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @region = v
    when 'Prefix'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @prefix = v
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format

Raises:

  • (TypeError)


90
91
92
93
94
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 90

def from_json(json_string)
  raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String

  from_hash(JSON.parse(json_string))
end

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



169
170
171
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 169

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 149

def to_hash
  ret = {}
  ret['S3Endpoint'] = @s3endpoint
  ret['IAMEndpoint'] = @iamendpoint
  ret['MasterBucket'] = @master_bucket
  ret['AccessKey'] = @access_key
  ret['SecretKey'] = @secret_key
  ret['UseObjectLock'] = @use_object_lock__legacy__do_not_use
  ret['ObjectLockMode'] = @object_lock_mode
  ret['ObjectLockDays'] = @object_lock_days
  ret['RemoveDeleted'] = @remove_deleted
  ret['Region'] = @region
  ret['Prefix'] = @prefix
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



174
175
176
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 174

def to_json(options = {})
  to_hash.to_json(options)
end