Class: SDM::Postgres

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, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, override_database: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, subdomain: nil, tags: nil, username: nil) ⇒ Postgres

Returns a new instance of Postgres.



12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
# File 'lib/models/porcelain.rb', line 12767

def initialize(
  bind_interface: nil,
  database: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  override_database: nil,
  password: nil,
  port: nil,
  port_override: nil,
  proxy_cluster_id: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: nil,
  username: nil
)
  @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
  @name = name == nil ? "" : name
  @override_database = override_database == nil ? false : override_database
  @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
  @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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.



12735
12736
12737
# File 'lib/models/porcelain.rb', line 12735

def bind_interface
  @bind_interface
end

#databaseObject

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.



12737
12738
12739
# File 'lib/models/porcelain.rb', line 12737

def database
  @database
end

#egress_filterObject

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



12739
12740
12741
# File 'lib/models/porcelain.rb', line 12739

def egress_filter
  @egress_filter
end

#healthyObject

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



12741
12742
12743
# File 'lib/models/porcelain.rb', line 12741

def healthy
  @healthy
end

#hostnameObject

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



12743
12744
12745
# File 'lib/models/porcelain.rb', line 12743

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



12745
12746
12747
# File 'lib/models/porcelain.rb', line 12745

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



12747
12748
12749
# File 'lib/models/porcelain.rb', line 12747

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.



12749
12750
12751
# File 'lib/models/porcelain.rb', line 12749

def override_database
  @override_database
end

#passwordObject

The password to authenticate with.



12751
12752
12753
# File 'lib/models/porcelain.rb', line 12751

def password
  @password
end

#portObject

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



12753
12754
12755
# File 'lib/models/porcelain.rb', line 12753

def port
  @port
end

#port_overrideObject

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.



12755
12756
12757
# File 'lib/models/porcelain.rb', line 12755

def port_override
  @port_override
end

#proxy_cluster_idObject

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



12757
12758
12759
# File 'lib/models/porcelain.rb', line 12757

def proxy_cluster_id
  @proxy_cluster_id
end

#secret_store_idObject

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



12759
12760
12761
# File 'lib/models/porcelain.rb', line 12759

def secret_store_id
  @secret_store_id
end

#subdomainObject

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.



12761
12762
12763
# File 'lib/models/porcelain.rb', line 12761

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



12763
12764
12765
# File 'lib/models/porcelain.rb', line 12763

def tags
  @tags
end

#usernameObject

The username to authenticate with.



12765
12766
12767
# File 'lib/models/porcelain.rb', line 12765

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12803
12804
12805
12806
12807
12808
12809
# File 'lib/models/porcelain.rb', line 12803

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