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.



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
7503
# File 'lib/models/porcelain.rb', line 7477

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.



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

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.



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

def exclude_tags
  @exclude_tags
end

#idObject

Unique identifier of the Connector.



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

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



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

def include_tags
  @include_tags
end

#nameObject

Unique human-readable name of the Connector.



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

def name
  @name
end

#project_idsObject

ProjectIds is the list of GCP Projects the connector will scan



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

def project_ids
  @project_ids
end

#scan_periodObject

ScanPeriod identifies which remote system this Connector discovers



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

def scan_period
  @scan_period
end

#servicesObject

Services is a list of services this connector should scan.



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

def services
  @services
end

#workload_pool_idObject

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



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

def workload_pool_id
  @workload_pool_id
end

#workload_project_idObject

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



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

def workload_project_id
  @workload_project_id
end

#workload_project_numberObject

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



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

def workload_project_number
  @workload_project_number
end

#workload_provider_idObject

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



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

def workload_provider_id
  @workload_provider_id
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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