Class: SDM::Cassandra

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bind_interface: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, subdomain: nil, tags: nil, tls_required: nil, username: nil) ⇒ Cassandra

Returns a new instance of Cassandra.



3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
# File 'lib/models/porcelain.rb', line 3741

def initialize(
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  password: nil,
  port: nil,
  port_override: nil,
  proxy_cluster_id: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: nil,
  tls_required: nil,
  username: nil
)
  @bind_interface = bind_interface == nil ? "" : bind_interface
  @egress_filter = egress_filter == nil ? "" : egress_filter
  @healthy = healthy == nil ? false : healthy
  @hostname = hostname == nil ? "" : hostname
  @id = id == nil ? "" : id
  @name = name == nil ? "" : name
  @password = password == nil ? "" : password
  @port = port == nil ? 0 : port
  @port_override = port_override == nil ? 0 : port_override
  @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @subdomain = subdomain == nil ? "" : subdomain
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @tls_required = tls_required == nil ? false : tls_required
  @username = username == nil ? "" : username
end

Instance Attribute Details

#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.



3711
3712
3713
# File 'lib/models/porcelain.rb', line 3711

def bind_interface
  @bind_interface
end

#egress_filterObject

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



3713
3714
3715
# File 'lib/models/porcelain.rb', line 3713

def egress_filter
  @egress_filter
end

#healthyObject

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



3715
3716
3717
# File 'lib/models/porcelain.rb', line 3715

def healthy
  @healthy
end

#hostnameObject

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



3717
3718
3719
# File 'lib/models/porcelain.rb', line 3717

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



3719
3720
3721
# File 'lib/models/porcelain.rb', line 3719

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



3721
3722
3723
# File 'lib/models/porcelain.rb', line 3721

def name
  @name
end

#passwordObject

The password to authenticate with.



3723
3724
3725
# File 'lib/models/porcelain.rb', line 3723

def password
  @password
end

#portObject

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



3725
3726
3727
# File 'lib/models/porcelain.rb', line 3725

def port
  @port
end

#port_overrideObject

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



3727
3728
3729
# File 'lib/models/porcelain.rb', line 3727

def port_override
  @port_override
end

#proxy_cluster_idObject

ID of the proxy cluster for this resource, if any.



3729
3730
3731
# File 'lib/models/porcelain.rb', line 3729

def proxy_cluster_id
  @proxy_cluster_id
end

#secret_store_idObject

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



3731
3732
3733
# File 'lib/models/porcelain.rb', line 3731

def secret_store_id
  @secret_store_id
end

#subdomainObject

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



3733
3734
3735
# File 'lib/models/porcelain.rb', line 3733

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



3735
3736
3737
# File 'lib/models/porcelain.rb', line 3735

def tags
  @tags
end

#tls_requiredObject

If set, TLS must be used to connect to this resource.



3737
3738
3739
# File 'lib/models/porcelain.rb', line 3737

def tls_required
  @tls_required
end

#usernameObject

The username to authenticate with.



3739
3740
3741
# File 'lib/models/porcelain.rb', line 3739

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



3775
3776
3777
3778
3779
3780
3781
# File 'lib/models/porcelain.rb', line 3775

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