class Comet::RemoteStorageOption

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

def clear

def clear
  @type = ''
  @description = ''
  @remote_address = ''
  @username = ''
  @password = ''
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
  @oidc = Comet::OidcConfig.new
  @b2 = Comet::B2VirtualStorageRoleSettings.new
  @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
  @custom = Comet::CustomRemoteBucketSettings.new
  @s3 = Comet::S3GenericVirtualStorageRole.new
  @aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
  @storj = Comet::StorjVirtualStorageRoleSetting.new
  @storage_limit_bytes = 0
  @unknown_json_fields = {}
end

def from_hash(obj)

Parameters:
  • obj (Hash) -- The complete object as a Ruby hash
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 'Type'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @type = v
    when 'Description'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @description = v
    when 'RemoteAddress'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @remote_address = v
    when 'Username'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @username = v
    when 'Password'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @password = v
    when 'LDAP'
      @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
      @ldap.from_hash(v)
    when 'OIDC'
      @oidc = Comet::OidcConfig.new
      @oidc.from_hash(v)
    when 'B2'
      @b2 = Comet::B2VirtualStorageRoleSettings.new
      @b2.from_hash(v)
    when 'Wasabi'
      @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
      @wasabi.from_hash(v)
    when 'Custom'
      @custom = Comet::CustomRemoteBucketSettings.new
      @custom.from_hash(v)
    when 'S3'
      @s3 = Comet::S3GenericVirtualStorageRole.new
      @s3.from_hash(v)
    when 'AWS'
      @aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
      @aws.from_hash(v)
    when 'Storj'
      @storj = Comet::StorjVirtualStorageRoleSetting.new
      @storj.from_hash(v)
    when 'StorageLimitEnabled'
      @storage_limit_enabled = v
    when 'StorageLimitBytes'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
      @storage_limit_bytes = v
    when 'RebrandStorage'
      @rebrand_storage = v
    else
      @unknown_json_fields[k] = v
    end
  end
end

def from_json(json_string)

Parameters:
  • json_string (String) -- The complete object in JSON format
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

def initialize

def initialize
  clear
end

def to_h

Returns:
  • (Hash) - The complete object as a Ruby hash
def to_h
  to_hash
end

def to_hash

Returns:
  • (Hash) - The complete object as a Ruby hash
def to_hash
  ret = {}
  ret['Type'] = @type
  ret['Description'] = @description
  unless @remote_address.nil?
    ret['RemoteAddress'] = @remote_address
  end
  unless @username.nil?
    ret['Username'] = @username
  end
  unless @password.nil?
    ret['Password'] = @password
  end
  unless @ldap.nil?
    ret['LDAP'] = @ldap
  end
  unless @oidc.nil?
    ret['OIDC'] = @oidc
  end
  unless @b2.nil?
    ret['B2'] = @b2
  end
  unless @wasabi.nil?
    ret['Wasabi'] = @wasabi
  end
  unless @custom.nil?
    ret['Custom'] = @custom
  end
  unless @s3.nil?
    ret['S3'] = @s3
  end
  unless @aws.nil?
    ret['AWS'] = @aws
  end
  unless @storj.nil?
    ret['Storj'] = @storj
  end
  ret['StorageLimitEnabled'] = @storage_limit_enabled
  ret['StorageLimitBytes'] = @storage_limit_bytes
  ret['RebrandStorage'] = @rebrand_storage
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

def to_json(options = {})

Returns:
  • (String) - The complete object as a JSON string
def to_json(options = {})
  to_hash.to_json(options)
end