Class: SDM::SQLServerKerberosAD

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allow_deprecated_encryption: nil, bind_interface: nil, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, keytab: nil, krb_config: nil, name: nil, override_database: nil, port: nil, port_override: nil, realm: nil, schema: nil, secret_store_id: nil, server_spn: nil, subdomain: nil, tags: nil, username: nil) ⇒ SQLServerKerberosAD

Returns a new instance of SQLServerKerberosAD.



8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
# File 'lib/models/porcelain.rb', line 8551

def initialize(
  allow_deprecated_encryption: nil,
  bind_interface: nil,
  database: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  keytab: nil,
  krb_config: nil,
  name: nil,
  override_database: nil,
  port: nil,
  port_override: nil,
  realm: nil,
  schema: nil,
  secret_store_id: nil,
  server_spn: nil,
  subdomain: nil,
  tags: nil,
  username: nil
)
  @allow_deprecated_encryption = allow_deprecated_encryption == nil ? false : allow_deprecated_encryption
  @bind_interface = bind_interface == nil ? "" : bind_interface
  @database = database == nil ? "" : database
  @egress_filter = egress_filter == nil ? "" : egress_filter
  @healthy = healthy == nil ? false : healthy
  @hostname = hostname == nil ? "" : hostname
  @id = id == nil ? "" : id
  @keytab = keytab == nil ? "" : keytab
  @krb_config = krb_config == nil ? "" : krb_config
  @name = name == nil ? "" : name
  @override_database = override_database == nil ? false : override_database
  @port = port == nil ? 0 : port
  @port_override = port_override == nil ? 0 : port_override
  @realm = realm == nil ? "" : realm
  @schema = schema == nil ? "" : schema
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @server_spn = server_spn == nil ? "" : server_spn
  @subdomain = subdomain == nil ? "" : subdomain
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @username = username == nil ? "" : username
end

Instance Attribute Details

#allow_deprecated_encryptionObject

Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.



8511
8512
8513
# File 'lib/models/porcelain.rb', line 8511

def allow_deprecated_encryption
  @allow_deprecated_encryption
end

#bind_interfaceObject

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.



8513
8514
8515
# File 'lib/models/porcelain.rb', line 8513

def bind_interface
  @bind_interface
end

#databaseObject

The database for healthchecks, and used for clients if Override Default Database is true.



8515
8516
8517
# File 'lib/models/porcelain.rb', line 8515

def database
  @database
end

#egress_filterObject

A filter applied to the routing logic to pin datasource to nodes.



8517
8518
8519
# File 'lib/models/porcelain.rb', line 8517

def egress_filter
  @egress_filter
end

#healthyObject

True if the datasource is reachable and the credentials are valid.



8519
8520
8521
# File 'lib/models/porcelain.rb', line 8519

def healthy
  @healthy
end

#hostnameObject

The host to dial to initiate a connection from the egress node to this resource.



8521
8522
8523
# File 'lib/models/porcelain.rb', line 8521

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



8523
8524
8525
# File 'lib/models/porcelain.rb', line 8523

def id
  @id
end

#keytabObject

The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.



8525
8526
8527
# File 'lib/models/porcelain.rb', line 8525

def keytab
  @keytab
end

#krb_configObject

The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.



8527
8528
8529
# File 'lib/models/porcelain.rb', line 8527

def krb_config
  @krb_config
end

#nameObject

Unique human-readable name of the Resource.



8529
8530
8531
# File 'lib/models/porcelain.rb', line 8529

def name
  @name
end

#override_databaseObject

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.



8531
8532
8533
# File 'lib/models/porcelain.rb', line 8531

def override_database
  @override_database
end

#portObject

The port to dial to initiate a connection from the egress node to this resource.



8533
8534
8535
# File 'lib/models/porcelain.rb', line 8533

def port
  @port
end

#port_overrideObject

The local port used by clients to connect to this resource.



8535
8536
8537
# File 'lib/models/porcelain.rb', line 8535

def port_override
  @port_override
end

#realmObject

The Active Directory domain (realm) to which the configured username belongs.



8537
8538
8539
# File 'lib/models/porcelain.rb', line 8537

def realm
  @realm
end

#schemaObject

The Schema to use to direct initial requests.



8539
8540
8541
# File 'lib/models/porcelain.rb', line 8539

def schema
  @schema
end

#secret_store_idObject

ID of the secret store containing credentials for this resource, if any.



8541
8542
8543
# File 'lib/models/porcelain.rb', line 8541

def secret_store_id
  @secret_store_id
end

#server_spnObject

The Service Principal Name of the Microsoft SQL Server instance in Active Directory.



8543
8544
8545
# File 'lib/models/porcelain.rb', line 8543

def server_spn
  @server_spn
end

#subdomainObject

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)



8545
8546
8547
# File 'lib/models/porcelain.rb', line 8545

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



8547
8548
8549
# File 'lib/models/porcelain.rb', line 8547

def tags
  @tags
end

#usernameObject

The username to authenticate with.



8549
8550
8551
# File 'lib/models/porcelain.rb', line 8549

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



8595
8596
8597
8598
8599
8600
8601
# File 'lib/models/porcelain.rb', line 8595

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