Class: SDM::SqlserverEngine

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(after_read_ttl: nil, database: nil, hostname: nil, id: nil, key_rotation_interval_days: nil, name: nil, node_selector: nil, password: nil, policy: nil, port: nil, public_key: nil, secret_store_id: nil, secret_store_root_path: nil, tags: nil, tls: nil, tls_skip_verify: nil, ttl: nil, username: nil) ⇒ SqlserverEngine

Returns a new instance of SqlserverEngine.



17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
# File 'lib/models/porcelain.rb', line 17145

def initialize(
  after_read_ttl: nil,
  database: nil,
  hostname: nil,
  id: nil,
  key_rotation_interval_days: nil,
  name: nil,
  node_selector: nil,
  password: nil,
  policy: nil,
  port: nil,
  public_key: nil,
  secret_store_id: nil,
  secret_store_root_path: nil,
  tags: nil,
  tls: nil,
  tls_skip_verify: nil,
  ttl: nil,
  username: nil
)
  @after_read_ttl = after_read_ttl == nil ? nil : after_read_ttl
  @database = database == nil ? "" : database
  @hostname = hostname == nil ? "" : hostname
  @id = id == nil ? "" : id
  @key_rotation_interval_days = key_rotation_interval_days == nil ? 0 : key_rotation_interval_days
  @name = name == nil ? "" : name
  @node_selector = node_selector == nil ? "" : node_selector
  @password = password == nil ? "" : password
  @policy = policy == nil ? nil : policy
  @port = port == nil ? 0 : port
  @public_key = public_key == nil ? "" : public_key
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @secret_store_root_path = secret_store_root_path == nil ? "" : secret_store_root_path
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @tls = tls == nil ? false : tls
  @tls_skip_verify = tls_skip_verify == nil ? false : tls_skip_verify
  @ttl = ttl == nil ? nil : ttl
  @username = username == nil ? "" : username
end

Instance Attribute Details

#after_read_ttlObject

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.



17109
17110
17111
# File 'lib/models/porcelain.rb', line 17109

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



17111
17112
17113
# File 'lib/models/porcelain.rb', line 17111

def database
  @database
end

#hostnameObject

Hostname is the hostname or IP address of the SQL Server.



17113
17114
17115
# File 'lib/models/porcelain.rb', line 17113

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



17115
17116
17117
# File 'lib/models/porcelain.rb', line 17115

def id
  @id
end

#key_rotation_interval_daysObject

An interval of public/private key rotation for secret engine in days



17117
17118
17119
# File 'lib/models/porcelain.rb', line 17117

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



17119
17120
17121
# File 'lib/models/porcelain.rb', line 17119

def name
  @name
end

#node_selectorObject

node selector is used to narrow down the nodes used to communicate with with secret engine



17121
17122
17123
# File 'lib/models/porcelain.rb', line 17121

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the SQL Server server.



17123
17124
17125
# File 'lib/models/porcelain.rb', line 17123

def password
  @password
end

#policyObject

Policy for password creation



17125
17126
17127
# File 'lib/models/porcelain.rb', line 17125

def policy
  @policy
end

#portObject

Port is the port number of the SQL Server server.



17127
17128
17129
# File 'lib/models/porcelain.rb', line 17127

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



17129
17130
17131
# File 'lib/models/porcelain.rb', line 17129

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



17131
17132
17133
# File 'lib/models/porcelain.rb', line 17131

def secret_store_id
  @secret_store_id
end

#secret_store_root_pathObject

Backing Secret Store root path where managed secrets are going to be stored



17133
17134
17135
# File 'lib/models/porcelain.rb', line 17133

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



17135
17136
17137
# File 'lib/models/porcelain.rb', line 17135

def tags
  @tags
end

#tlsObject

TLS enables TLS/SSL when connecting to the SQL Server server.



17137
17138
17139
# File 'lib/models/porcelain.rb', line 17137

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



17139
17140
17141
# File 'lib/models/porcelain.rb', line 17139

def tls_skip_verify
  @tls_skip_verify
end

#ttlObject

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.



17141
17142
17143
# File 'lib/models/porcelain.rb', line 17141

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the SQL Server.



17143
17144
17145
# File 'lib/models/porcelain.rb', line 17143

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17185
17186
17187
17188
17189
17190
17191
# File 'lib/models/porcelain.rb', line 17185

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end