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.



8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
# File 'lib/models/porcelain.rb', line 8780

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.



8740
8741
8742
# File 'lib/models/porcelain.rb', line 8740

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.



8742
8743
8744
# File 'lib/models/porcelain.rb', line 8742

def bind_interface
  @bind_interface
end

#databaseObject

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



8744
8745
8746
# File 'lib/models/porcelain.rb', line 8744

def database
  @database
end

#egress_filterObject

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



8746
8747
8748
# File 'lib/models/porcelain.rb', line 8746

def egress_filter
  @egress_filter
end

#healthyObject

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



8748
8749
8750
# File 'lib/models/porcelain.rb', line 8748

def healthy
  @healthy
end

#hostnameObject

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



8750
8751
8752
# File 'lib/models/porcelain.rb', line 8750

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



8752
8753
8754
# File 'lib/models/porcelain.rb', line 8752

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.



8754
8755
8756
# File 'lib/models/porcelain.rb', line 8754

def keytab
  @keytab
end

#krb_configObject

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



8756
8757
8758
# File 'lib/models/porcelain.rb', line 8756

def krb_config
  @krb_config
end

#nameObject

Unique human-readable name of the Resource.



8758
8759
8760
# File 'lib/models/porcelain.rb', line 8758

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.



8760
8761
8762
# File 'lib/models/porcelain.rb', line 8760

def override_database
  @override_database
end

#portObject

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



8762
8763
8764
# File 'lib/models/porcelain.rb', line 8762

def port
  @port
end

#port_overrideObject

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



8764
8765
8766
# File 'lib/models/porcelain.rb', line 8764

def port_override
  @port_override
end

#realmObject

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



8766
8767
8768
# File 'lib/models/porcelain.rb', line 8766

def realm
  @realm
end

#schemaObject

The Schema to use to direct initial requests.



8768
8769
8770
# File 'lib/models/porcelain.rb', line 8768

def schema
  @schema
end

#secret_store_idObject

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



8770
8771
8772
# File 'lib/models/porcelain.rb', line 8770

def secret_store_id
  @secret_store_id
end

#server_spnObject

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



8772
8773
8774
# File 'lib/models/porcelain.rb', line 8772

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)



8774
8775
8776
# File 'lib/models/porcelain.rb', line 8774

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



8776
8777
8778
# File 'lib/models/porcelain.rb', line 8776

def tags
  @tags
end

#usernameObject

The username to authenticate with.



8778
8779
8780
# File 'lib/models/porcelain.rb', line 8778

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



8824
8825
8826
8827
8828
8829
8830
# File 'lib/models/porcelain.rb', line 8824

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