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 will be created for the tenant project to prevent the tenant project from being deleted accidentally. The lien will be 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



3566
3567
3568
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3566

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

Instance Attribute Details

#billing_configGoogle::Apis::ServiceconsumermanagementV1::BillingConfig

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



3531
3532
3533
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3531

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 proper 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)


3540
3541
3542
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3540

def folder
  @folder
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


3545
3546
3547
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3545

def labels
  @labels
end

#service_account_configGoogle::Apis::ServiceconsumermanagementV1::ServiceAccountConfig

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



3550
3551
3552
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3550

def 
  @service_account_config
end

#servicesArray<String>

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

Returns:

  • (Array<String>)


3558
3559
3560
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3558

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



3564
3565
3566
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3564

def tenant_project_policy
  @tenant_project_policy
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3571
3572
3573
3574
3575
3576
3577
3578
# File 'generated/google/apis/serviceconsumermanagement_v1/classes.rb', line 3571

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