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.
6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 |
# File 'lib/models/porcelain.rb', line 6779 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 @tags = == 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".
6741 6742 6743 |
# File 'lib/models/porcelain.rb', line 6741 def bind_address @bind_address end |
#device ⇒ Object
Device is a read only device name uploaded by the gateway process when it comes online.
6744 6745 6746 |
# File 'lib/models/porcelain.rb', line 6744 def device @device end |
#gateway_filter ⇒ Object
GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.
6747 6748 6749 |
# File 'lib/models/porcelain.rb', line 6747 def gateway_filter @gateway_filter end |
#id ⇒ Object
Unique identifier of the Gateway.
6749 6750 6751 |
# File 'lib/models/porcelain.rb', line 6749 def id @id end |
#listen_address ⇒ Object
The public hostname/port tuple at which the gateway will be accessible to clients.
6751 6752 6753 |
# File 'lib/models/porcelain.rb', line 6751 def listen_address @listen_address end |
#location ⇒ Object
Location is a read only network location uploaded by the gateway process when it comes online.
6754 6755 6756 |
# File 'lib/models/porcelain.rb', line 6754 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.
6767 6768 6769 |
# File 'lib/models/porcelain.rb', line 6767 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.
6769 6770 6771 |
# File 'lib/models/porcelain.rb', line 6769 def name @name end |
#state ⇒ Object
The current state of the gateway. One of: "new", "verifying_restart", "restarting", "started", "stopped", "dead", "unknown"
6772 6773 6774 |
# File 'lib/models/porcelain.rb', line 6772 def state @state end |
#tags ⇒ Object
Tags is a map of key, value pairs.
6774 6775 6776 |
# File 'lib/models/porcelain.rb', line 6774 def @tags end |
#version ⇒ Object
Version is a read only sdm binary version uploaded by the gateway process when it comes online.
6777 6778 6779 |
# File 'lib/models/porcelain.rb', line 6777 def version @version end |
Instance Method Details
#to_json(options = {}) ⇒ Object
6805 6806 6807 6808 6809 6810 6811 |
# File 'lib/models/porcelain.rb', line 6805 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 |