Class: Comet::WasabiVirtualStorageRoleSettings

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

Overview

WasabiVirtualStorageRoleSettings is a typed class wrapper around the underlying Comet Server API data structure. This is an alias type for AmazonAWSVirtualStorageRoleSettings.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWasabiVirtualStorageRoleSettings

Returns a new instance of WasabiVirtualStorageRoleSettings.



54
55
56
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 54

def initialize
  clear
end

Instance Attribute Details

#access_keyObject

Returns the value of attribute access_key.



27
28
29
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 27

def access_key
  @access_key
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.



24
25
26
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 24

def master_bucket
  @master_bucket
end

#object_lock_daysObject

Returns the value of attribute object_lock_days.



42
43
44
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 42

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



39
40
41
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 39

def object_lock_mode
  @object_lock_mode
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.



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

def remove_deleted
  @remove_deleted
end

#secret_keyObject

Returns the value of attribute secret_key.



30
31
32
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 30

def secret_key
  @secret_key
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



52
53
54
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 52

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



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

def use_object_lock__legacy__do_not_use
  @use_object_lock__legacy__do_not_use
end

Instance Method Details

#clearObject



58
59
60
61
62
63
64
65
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 58

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

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 75

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


68
69
70
71
72
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 68

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



127
128
129
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 127

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



111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 111

def to_hash
  ret = {}
  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
  @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



132
133
134
# File 'lib/comet/models/wasabi_virtual_storage_role_settings.rb', line 132

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