Class: Google::Apis::ServiceconsumermanagementV1::TenantProjectConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/serviceconsumermanagement_v1/classes.rb,
generated/google/apis/serviceconsumermanagement_v1/representations.rb,
generated/google/apis/serviceconsumermanagement_v1/representations.rb

Overview

This structure defines a tenant project to be added to the specified tenancy unit and its initial configuration and properties. A project lien is created for the tenant project to prevent the tenant project from being deleted accidentally. The lien is deleted as part of tenant project removal.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ TenantProjectConfig

Returns a new instance of TenantProjectConfig



3489
3490
3491
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3489

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#billing_configGoogle::Apis::ServiceconsumermanagementV1::BillingConfig

Describes the billing configuration for a new tenant project. Corresponds to the JSON property billingConfig



3454
3455
3456
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3454

def billing_config
  @billing_config
end

#folderString

Folder where project in this tenancy unit must be located This folder must have been previously created with the required permissions for the caller to create and configure a project in it. Valid folder resource names have the format folders/folder_number` (for example,folders/123456). Corresponds to the JSON propertyfolder`

Returns:

  • (String)


3463
3464
3465
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3463

def folder
  @folder
end

#labelsHash<String,String>

Labels that are applied to this project. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3468
3469
3470
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3468

def labels
  @labels
end

#service_account_configGoogle::Apis::ServiceconsumermanagementV1::ServiceAccountConfig

Describes the service account configuration for the tenant project. Corresponds to the JSON property serviceAccountConfig



3473
3474
3475
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3473

def 
  @service_account_config
end

#servicesArray<String>

Google Cloud API names of services that are activated on this project during provisioning. If any of these services can't be activated, the request fails. For example: 'compute.googleapis.com','cloudfunctions.googleapis.com' Corresponds to the JSON property services

Returns:

  • (Array<String>)


3481
3482
3483
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3481

def services
  @services
end

#tenant_project_policyGoogle::Apis::ServiceconsumermanagementV1::TenantProjectPolicy

Describes policy settings that need to be applied to a newly created tenant project. Corresponds to the JSON property tenantProjectPolicy



3487
3488
3489
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3487

def tenant_project_policy
  @tenant_project_policy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3494
3495
3496
3497
3498
3499
3500
3501
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3494

def update!(**args)
  @billing_config = args[:billing_config] if args.key?(:billing_config)
  @folder = args[:folder] if args.key?(:folder)
  @labels = args[:labels] if args.key?(:labels)
  @service_account_config = args[:service_account_config] if args.key?(:service_account_config)
  @services = args[:services] if args.key?(:services)
  @tenant_project_policy = args[:tenant_project_policy] if args.key?(:tenant_project_policy)
end