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, secret_store_id: nil, subdomain: nil, tags: nil, tls_required: nil, username: nil) ⇒ Cassandra

Returns a new instance of Cassandra.



2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
# File 'lib/models/porcelain.rb', line 2760

def initialize(
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  password: nil,
  port: nil,
  port_override: 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
  @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.



2732
2733
2734
# File 'lib/models/porcelain.rb', line 2732

def bind_interface
  @bind_interface
end

#egress_filterObject

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



2734
2735
2736
# File 'lib/models/porcelain.rb', line 2734

def egress_filter
  @egress_filter
end

#healthyObject

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



2736
2737
2738
# File 'lib/models/porcelain.rb', line 2736

def healthy
  @healthy
end

#hostnameObject

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



2738
2739
2740
# File 'lib/models/porcelain.rb', line 2738

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



2740
2741
2742
# File 'lib/models/porcelain.rb', line 2740

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



2742
2743
2744
# File 'lib/models/porcelain.rb', line 2742

def name
  @name
end

#passwordObject

The password to authenticate with.



2744
2745
2746
# File 'lib/models/porcelain.rb', line 2744

def password
  @password
end

#portObject

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



2746
2747
2748
# File 'lib/models/porcelain.rb', line 2746

def port
  @port
end

#port_overrideObject

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



2748
2749
2750
# File 'lib/models/porcelain.rb', line 2748

def port_override
  @port_override
end

#secret_store_idObject

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



2750
2751
2752
# File 'lib/models/porcelain.rb', line 2750

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)



2752
2753
2754
# File 'lib/models/porcelain.rb', line 2752

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



2754
2755
2756
# File 'lib/models/porcelain.rb', line 2754

def tags
  @tags
end

#tls_requiredObject

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



2756
2757
2758
# File 'lib/models/porcelain.rb', line 2756

def tls_required
  @tls_required
end

#usernameObject

The username to authenticate with.



2758
2759
2760
# File 'lib/models/porcelain.rb', line 2758

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



2792
2793
2794
2795
2796
2797
2798
# File 'lib/models/porcelain.rb', line 2792

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