Class: SDM::Gateway
- Inherits:
-
Object
- Object
- SDM::Gateway
- Defined in:
- lib/models/porcelain.rb
Overview
Gateway represents a StrongDM CLI installation running in gateway mode.
Instance Attribute Summary collapse
-
#bind_address ⇒ Object
The hostname/port tuple which the gateway daemon will bind to.
-
#device ⇒ Object
Device is a read only device name uploaded by the gateway process when it comes online.
-
#gateway_filter ⇒ Object
GatewayFilter can be used to restrict the peering between relays and gateways.
-
#id ⇒ Object
Unique identifier of the Gateway.
-
#listen_address ⇒ Object
The public hostname/port tuple at which the gateway will be accessible to clients.
-
#location ⇒ Object
Location is a read only network location uploaded by the gateway process when it comes online.
-
#maintenance_windows ⇒ Object
Maintenance Windows define when this node is allowed to restart.
-
#name ⇒ Object
Unique human-readable name of the Gateway.
-
#state ⇒ Object
The current state of the gateway.
-
#tags ⇒ Object
Tags is a map of key, value pairs.
-
#version ⇒ Object
Version is a read only sdm binary version uploaded by the gateway process when it comes online.
Instance Method Summary collapse
-
#initialize(bind_address: nil, device: nil, gateway_filter: nil, id: nil, listen_address: nil, location: nil, maintenance_windows: nil, name: nil, state: nil, tags: nil, version: nil) ⇒ Gateway
constructor
A new instance of Gateway.
- #to_json(options = {}) ⇒ Object
Constructor Details
#initialize(bind_address: nil, device: nil, gateway_filter: nil, id: nil, listen_address: nil, location: nil, maintenance_windows: nil, name: nil, state: nil, tags: nil, version: nil) ⇒ Gateway
Returns a new instance of Gateway.
6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 |
# File 'lib/models/porcelain.rb', line 6772 def initialize( bind_address: nil, device: nil, gateway_filter: nil, id: nil, listen_address: nil, location: nil, maintenance_windows: nil, name: nil, state: nil, tags: nil, version: nil ) @bind_address = bind_address == nil ? "" : bind_address @device = device == nil ? "" : device @gateway_filter = gateway_filter == nil ? "" : gateway_filter @id = id == nil ? "" : id @listen_address = listen_address == nil ? "" : listen_address @location = location == nil ? "" : location @maintenance_windows = maintenance_windows == nil ? [] : maintenance_windows @name = name == nil ? "" : name @state = state == nil ? "" : state = == nil ? SDM::() : @version = version == nil ? "" : version end |
Instance Attribute Details
#bind_address ⇒ Object
The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".
6734 6735 6736 |
# File 'lib/models/porcelain.rb', line 6734 def bind_address @bind_address end |
#device ⇒ Object
Device is a read only device name uploaded by the gateway process when it comes online.
6737 6738 6739 |
# File 'lib/models/porcelain.rb', line 6737 def device @device end |
#gateway_filter ⇒ Object
GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.
6740 6741 6742 |
# File 'lib/models/porcelain.rb', line 6740 def gateway_filter @gateway_filter end |
#id ⇒ Object
Unique identifier of the Gateway.
6742 6743 6744 |
# File 'lib/models/porcelain.rb', line 6742 def id @id end |
#listen_address ⇒ Object
The public hostname/port tuple at which the gateway will be accessible to clients.
6744 6745 6746 |
# File 'lib/models/porcelain.rb', line 6744 def listen_address @listen_address end |
#location ⇒ Object
Location is a read only network location uploaded by the gateway process when it comes online.
6747 6748 6749 |
# File 'lib/models/porcelain.rb', line 6747 def location @location end |
#maintenance_windows ⇒ Object
Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.
If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.
If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
6760 6761 6762 |
# File 'lib/models/porcelain.rb', line 6760 def maintenance_windows @maintenance_windows end |
#name ⇒ Object
Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
6762 6763 6764 |
# File 'lib/models/porcelain.rb', line 6762 def name @name end |
#state ⇒ Object
The current state of the gateway. One of: "new", "verifying_restart", "restarting", "started", "stopped", "dead", "unknown"
6765 6766 6767 |
# File 'lib/models/porcelain.rb', line 6765 def state @state end |
#tags ⇒ Object
Tags is a map of key, value pairs.
6767 6768 6769 |
# File 'lib/models/porcelain.rb', line 6767 def end |
#version ⇒ Object
Version is a read only sdm binary version uploaded by the gateway process when it comes online.
6770 6771 6772 |
# File 'lib/models/porcelain.rb', line 6770 def version @version end |
Instance Method Details
#to_json(options = {}) ⇒ Object
6798 6799 6800 6801 6802 6803 6804 |
# File 'lib/models/porcelain.rb', line 6798 def to_json( = {}) hash = {} self.instance_variables.each do |var| hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var end hash.to_json end |