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.



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

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

#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.



65
66
67
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 65

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



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 71

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

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


91
92
93
94
95
96
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
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 91

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
    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)


84
85
86
87
88
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 84

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



158
159
160
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 158

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



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 139

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
  @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



163
164
165
# File 'lib/comet/models/s3generic_virtual_storage_role.rb', line 163

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