Class: SDM::GCPConnector

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description: nil, exclude_tags: nil, id: nil, include_tags: nil, name: nil, project_ids: nil, scan_period: nil, services: nil, workload_pool_id: nil, workload_project_id: nil, workload_project_number: nil, workload_provider_id: nil) ⇒ GCPConnector

Returns a new instance of GCPConnector.



7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
# File 'lib/models/porcelain.rb', line 7476

def initialize(
  description: nil,
  exclude_tags: nil,
  id: nil,
  include_tags: nil,
  name: nil,
  project_ids: nil,
  scan_period: nil,
  services: nil,
  workload_pool_id: nil,
  workload_project_id: nil,
  workload_project_number: nil,
  workload_provider_id: nil
)
  @description = description == nil ? "" : description
  @exclude_tags = exclude_tags == nil ? [] : exclude_tags
  @id = id == nil ? "" : id
  @include_tags = include_tags == nil ? [] : include_tags
  @name = name == nil ? "" : name
  @project_ids = project_ids == nil ? [] : project_ids
  @scan_period = scan_period == nil ? "" : scan_period
  @services = services == nil ? [] : services
  @workload_pool_id = workload_pool_id == nil ? "" : workload_pool_id
  @workload_project_id = workload_project_id == nil ? "" : workload_project_id
  @workload_project_number = workload_project_number == nil ? "" : workload_project_number
  @workload_provider_id = workload_provider_id == nil ? "" : workload_provider_id
end

Instance Attribute Details

#descriptionObject

Description of the Connector.



7450
7451
7452
# File 'lib/models/porcelain.rb', line 7450

def description
  @description
end

#exclude_tagsObject

ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.



7453
7454
7455
# File 'lib/models/porcelain.rb', line 7453

def exclude_tags
  @exclude_tags
end

#idObject

Unique identifier of the Connector.



7455
7456
7457
# File 'lib/models/porcelain.rb', line 7455

def id
  @id
end

#include_tagsObject

IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags



7458
7459
7460
# File 'lib/models/porcelain.rb', line 7458

def include_tags
  @include_tags
end

#nameObject

Unique human-readable name of the Connector.



7460
7461
7462
# File 'lib/models/porcelain.rb', line 7460

def name
  @name
end

#project_idsObject

ProjectIds is the list of GCP Projects the connector will scan



7462
7463
7464
# File 'lib/models/porcelain.rb', line 7462

def project_ids
  @project_ids
end

#scan_periodObject

ScanPeriod identifies which remote system this Connector discovers



7464
7465
7466
# File 'lib/models/porcelain.rb', line 7464

def scan_period
  @scan_period
end

#servicesObject

Services is a list of services this connector should scan.



7466
7467
7468
# File 'lib/models/porcelain.rb', line 7466

def services
  @services
end

#workload_pool_idObject

WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT



7468
7469
7470
# File 'lib/models/porcelain.rb', line 7468

def workload_pool_id
  @workload_pool_id
end

#workload_project_idObject

WorkloadProjectId is the GCP Project ID where the Workload Pool is defined



7470
7471
7472
# File 'lib/models/porcelain.rb', line 7470

def workload_project_id
  @workload_project_id
end

#workload_project_numberObject

WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined



7472
7473
7474
# File 'lib/models/porcelain.rb', line 7472

def workload_project_number
  @workload_project_number
end

#workload_provider_idObject

WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT



7474
7475
7476
# File 'lib/models/porcelain.rb', line 7474

def workload_provider_id
  @workload_provider_id
end

Instance Method Details

#to_json(options = {}) ⇒ Object



7504
7505
7506
7507
7508
7509
7510
# File 'lib/models/porcelain.rb', line 7504

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