Class: SDM::Gateway

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

Overview

Gateway represents a StrongDM CLI installation running in gateway mode.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bind_address: nil, gateway_filter: nil, id: nil, listen_address: nil, name: nil, state: nil, tags: nil) ⇒ Gateway

Returns a new instance of Gateway.



3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
# File 'lib/models/porcelain.rb', line 3188

def initialize(
  bind_address: nil,
  gateway_filter: nil,
  id: nil,
  listen_address: nil,
  name: nil,
  state: nil,
  tags: nil
)
  if bind_address != nil
    @bind_address = bind_address
  end
  if gateway_filter != nil
    @gateway_filter = gateway_filter
  end
  if id != nil
    @id = id
  end
  if listen_address != nil
    @listen_address = listen_address
  end
  if name != nil
    @name = name
  end
  if state != nil
    @state = state
  end
  if tags != nil
    @tags = tags
  end
end

Instance Attribute Details

#bind_addressObject

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>”.



3172
3173
3174
# File 'lib/models/porcelain.rb', line 3172

def bind_address
  @bind_address
end

#gateway_filterObject

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



3175
3176
3177
# File 'lib/models/porcelain.rb', line 3175

def gateway_filter
  @gateway_filter
end

#idObject

Unique identifier of the Gateway.



3177
3178
3179
# File 'lib/models/porcelain.rb', line 3177

def id
  @id
end

#listen_addressObject

The public hostname/port tuple at which the gateway will be accessible to clients.



3179
3180
3181
# File 'lib/models/porcelain.rb', line 3179

def listen_address
  @listen_address
end

#nameObject

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.



3181
3182
3183
# File 'lib/models/porcelain.rb', line 3181

def name
  @name
end

#stateObject

The current state of the gateway. One of: “new”, “verifying_restart”, “restarting”, “started”, “stopped”, “dead”, “unknown”



3184
3185
3186
# File 'lib/models/porcelain.rb', line 3184

def state
  @state
end

#tagsObject

Tags is a map of key, value pairs.



3186
3187
3188
# File 'lib/models/porcelain.rb', line 3186

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



3220
3221
3222
3223
3224
3225
3226
# File 'lib/models/porcelain.rb', line 3220

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