Class: Comet::RemoteStorageOption
- Inherits:
-
Object
- Object
- Comet::RemoteStorageOption
- Defined in:
- lib/comet/models/remote_storage_option.rb
Overview
RemoteStorageOption is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#aws ⇒ Object
Amazon AWS (Storage Template / Constellation).
-
#b2 ⇒ Object
Backblaze B2 (Storage Template / Constellation).
-
#custom ⇒ Object
Custom Remote Bucket HTTP protocol (Storage Template).
-
#description ⇒ Object
Returns the value of attribute description.
-
#imp_partner ⇒ Object
Impossible Cloud Partner API (Storage Template / Constellation).
-
#imp_user ⇒ Object
Impossible Cloud IAM API (Storage Template / Constellation).
-
#ldap ⇒ Object
Returns the value of attribute ldap.
-
#oidc ⇒ Object
Returns the value of attribute oidc.
-
#password ⇒ Object
For use with Comet Server (Storage Role / Auth Role).
-
#rebrand_storage ⇒ Object
Returns the value of attribute rebrand_storage.
-
#remote_address ⇒ Object
For use with Comet Server (Storage Role / Auth Role).
-
#s3 ⇒ Object
IDrive e2, or Custom IAM-compatible (Storage Template / Constellation).
-
#storage_limit_bytes ⇒ Object
Returns the value of attribute storage_limit_bytes.
-
#storage_limit_enabled ⇒ Object
Returns the value of attribute storage_limit_enabled.
-
#storj ⇒ Object
Storj (Storage Template / Constellation).
-
#type ⇒ Object
Returns the value of attribute type.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
-
#username ⇒ Object
For use with Comet Server (Storage Role / Auth Role).
-
#wasabi ⇒ Object
Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation).
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ RemoteStorageOption
constructor
A new instance of RemoteStorageOption.
-
#to_h ⇒ Hash
The complete object as a Ruby hash.
-
#to_hash ⇒ Hash
The complete object as a Ruby hash.
-
#to_json(options = {}) ⇒ String
The complete object as a JSON string.
Constructor Details
#initialize ⇒ RemoteStorageOption
Returns a new instance of RemoteStorageOption.
83 84 85 |
# File 'lib/comet/models/remote_storage_option.rb', line 83 def initialize clear end |
Instance Attribute Details
#aws ⇒ Object
Amazon AWS (Storage Template / Constellation)
57 58 59 |
# File 'lib/comet/models/remote_storage_option.rb', line 57 def aws @aws end |
#b2 ⇒ Object
Backblaze B2 (Storage Template / Constellation)
41 42 43 |
# File 'lib/comet/models/remote_storage_option.rb', line 41 def b2 @b2 end |
#custom ⇒ Object
Custom Remote Bucket HTTP protocol (Storage Template)
49 50 51 |
# File 'lib/comet/models/remote_storage_option.rb', line 49 def custom @custom end |
#description ⇒ Object
Returns the value of attribute description.
19 20 21 |
# File 'lib/comet/models/remote_storage_option.rb', line 19 def description @description end |
#imp_partner ⇒ Object
Impossible Cloud Partner API (Storage Template / Constellation)
65 66 67 |
# File 'lib/comet/models/remote_storage_option.rb', line 65 def imp_partner @imp_partner end |
#imp_user ⇒ Object
Impossible Cloud IAM API (Storage Template / Constellation)
69 70 71 |
# File 'lib/comet/models/remote_storage_option.rb', line 69 def imp_user @imp_user end |
#ldap ⇒ Object
Returns the value of attribute ldap.
34 35 36 |
# File 'lib/comet/models/remote_storage_option.rb', line 34 def ldap @ldap end |
#oidc ⇒ Object
Returns the value of attribute oidc.
37 38 39 |
# File 'lib/comet/models/remote_storage_option.rb', line 37 def oidc @oidc end |
#password ⇒ Object
For use with Comet Server (Storage Role / Auth Role)
31 32 33 |
# File 'lib/comet/models/remote_storage_option.rb', line 31 def password @password end |
#rebrand_storage ⇒ Object
Returns the value of attribute rebrand_storage.
78 79 80 |
# File 'lib/comet/models/remote_storage_option.rb', line 78 def rebrand_storage @rebrand_storage end |
#remote_address ⇒ Object
For use with Comet Server (Storage Role / Auth Role)
23 24 25 |
# File 'lib/comet/models/remote_storage_option.rb', line 23 def remote_address @remote_address end |
#s3 ⇒ Object
IDrive e2, or Custom IAM-compatible (Storage Template / Constellation)
53 54 55 |
# File 'lib/comet/models/remote_storage_option.rb', line 53 def s3 @s3 end |
#storage_limit_bytes ⇒ Object
Returns the value of attribute storage_limit_bytes.
75 76 77 |
# File 'lib/comet/models/remote_storage_option.rb', line 75 def storage_limit_bytes @storage_limit_bytes end |
#storage_limit_enabled ⇒ Object
Returns the value of attribute storage_limit_enabled.
72 73 74 |
# File 'lib/comet/models/remote_storage_option.rb', line 72 def storage_limit_enabled @storage_limit_enabled end |
#storj ⇒ Object
Storj (Storage Template / Constellation)
61 62 63 |
# File 'lib/comet/models/remote_storage_option.rb', line 61 def storj @storj end |
#type ⇒ Object
Returns the value of attribute type.
16 17 18 |
# File 'lib/comet/models/remote_storage_option.rb', line 16 def type @type end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
81 82 83 |
# File 'lib/comet/models/remote_storage_option.rb', line 81 def unknown_json_fields @unknown_json_fields end |
#username ⇒ Object
For use with Comet Server (Storage Role / Auth Role)
27 28 29 |
# File 'lib/comet/models/remote_storage_option.rb', line 27 def username @username end |
#wasabi ⇒ Object
Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation)
45 46 47 |
# File 'lib/comet/models/remote_storage_option.rb', line 45 def wasabi @wasabi end |
Instance Method Details
#clear ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/comet/models/remote_storage_option.rb', line 87 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 @imp_partner = Comet::ImpossibleCloudPartnerTemplateSettings.new @imp_user = Comet::ImpossibleCloudIAMTemplateSettings.new @storage_limit_bytes = 0 @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/comet/models/remote_storage_option.rb', line 115 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 'ImpPartner' @imp_partner = Comet::ImpossibleCloudPartnerTemplateSettings.new @imp_partner.from_hash(v) when 'ImpUser' @imp_user = Comet::ImpossibleCloudIAMTemplateSettings.new @imp_user.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 |
#from_json(json_string) ⇒ Object
108 109 110 111 112 |
# File 'lib/comet/models/remote_storage_option.rb', line 108 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_h ⇒ Hash
Returns The complete object as a Ruby hash.
238 239 240 |
# File 'lib/comet/models/remote_storage_option.rb', line 238 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/comet/models/remote_storage_option.rb', line 185 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 unless @imp_partner.nil? ret['ImpPartner'] = @imp_partner end unless @imp_user.nil? ret['ImpUser'] = @imp_user 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 |
#to_json(options = {}) ⇒ String
Returns The complete object as a JSON string.
243 244 245 |
# File 'lib/comet/models/remote_storage_option.rb', line 243 def to_json( = {}) to_hash.to_json() end |