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.



7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
# File 'lib/models/porcelain.rb', line 7440

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.



7414
7415
7416
# File 'lib/models/porcelain.rb', line 7414

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.



7417
7418
7419
# File 'lib/models/porcelain.rb', line 7417

def exclude_tags
  @exclude_tags
end

#idObject

Unique identifier of the Connector.



7419
7420
7421
# File 'lib/models/porcelain.rb', line 7419

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



7422
7423
7424
# File 'lib/models/porcelain.rb', line 7422

def include_tags
  @include_tags
end

#nameObject

Unique human-readable name of the Connector.



7424
7425
7426
# File 'lib/models/porcelain.rb', line 7424

def name
  @name
end

#project_idsObject

ProjectIds is the list of GCP Projects the connector will scan



7426
7427
7428
# File 'lib/models/porcelain.rb', line 7426

def project_ids
  @project_ids
end

#scan_periodObject

ScanPeriod identifies which remote system this Connector discovers



7428
7429
7430
# File 'lib/models/porcelain.rb', line 7428

def scan_period
  @scan_period
end

#servicesObject

Services is a list of services this connector should scan.



7430
7431
7432
# File 'lib/models/porcelain.rb', line 7430

def services
  @services
end

#workload_pool_idObject

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



7432
7433
7434
# File 'lib/models/porcelain.rb', line 7432

def workload_pool_id
  @workload_pool_id
end

#workload_project_idObject

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



7434
7435
7436
# File 'lib/models/porcelain.rb', line 7434

def workload_project_id
  @workload_project_id
end

#workload_project_numberObject

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



7436
7437
7438
# File 'lib/models/porcelain.rb', line 7436

def workload_project_number
  @workload_project_number
end

#workload_provider_idObject

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



7438
7439
7440
# File 'lib/models/porcelain.rb', line 7438

def workload_provider_id
  @workload_provider_id
end

Instance Method Details

#to_json(options = {}) ⇒ Object



7468
7469
7470
7471
7472
7473
7474
# File 'lib/models/porcelain.rb', line 7468

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