Class: SDM::Relay

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

Overview

Relay represents a StrongDM CLI installation running in relay mode.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(device: nil, gateway_filter: nil, id: nil, location: nil, maintenance_windows: nil, name: nil, state: nil, tags: nil, version: nil) ⇒ Relay

Returns a new instance of Relay.



8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
# File 'lib/models/porcelain.rb', line 8465

def initialize(
  device: nil,
  gateway_filter: nil,
  id: nil,
  location: nil,
  maintenance_windows: nil,
  name: nil,
  state: nil,
  tags: nil,
  version: nil
)
  @device = device == nil ? "" : device
  @gateway_filter = gateway_filter == nil ? "" : gateway_filter
  @id = id == nil ? "" : id
  @location = location == nil ? "" : location
  @maintenance_windows = maintenance_windows == nil ? [] : maintenance_windows
  @name = name == nil ? "" : name
  @state = state == nil ? "" : state
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @version = version == nil ? "" : version
end

Instance Attribute Details

#deviceObject

Device is a read only device name uploaded by the gateway process when it comes online.



8431
8432
8433
# File 'lib/models/porcelain.rb', line 8431

def device
  @device
end

#gateway_filterObject

GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.



8434
8435
8436
# File 'lib/models/porcelain.rb', line 8434

def gateway_filter
  @gateway_filter
end

#idObject

Unique identifier of the Relay.



8436
8437
8438
# File 'lib/models/porcelain.rb', line 8436

def id
  @id
end

#locationObject

Location is a read only network location uploaded by the gateway process when it comes online.



8439
8440
8441
# File 'lib/models/porcelain.rb', line 8439

def location
  @location
end

#maintenance_windowsObject

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.



8452
8453
8454
# File 'lib/models/porcelain.rb', line 8452

def maintenance_windows
  @maintenance_windows
end

#nameObject

Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.



8454
8455
8456
# File 'lib/models/porcelain.rb', line 8454

def name
  @name
end

#stateObject

The current state of the relay. One of: "new", "verifying_restart", "awaiting_restart", "restarting", "started", "stopped", "dead", "unknown".



8458
8459
8460
# File 'lib/models/porcelain.rb', line 8458

def state
  @state
end

#tagsObject

Tags is a map of key, value pairs.



8460
8461
8462
# File 'lib/models/porcelain.rb', line 8460

def tags
  @tags
end

#versionObject

Version is a read only sdm binary version uploaded by the gateway process when it comes online.



8463
8464
8465
# File 'lib/models/porcelain.rb', line 8463

def version
  @version
end

Instance Method Details

#to_json(options = {}) ⇒ Object



8487
8488
8489
8490
8491
8492
8493
# File 'lib/models/porcelain.rb', line 8487

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