Class: Google::Apis::ComputeAlpha::ShareSettings

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Overview

The share setting for reservations and sole tenancy node groups.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ShareSettings

Returns a new instance of ShareSettings.



37657
37658
37659
# File 'lib/google/apis/compute_alpha/classes.rb', line 37657

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

Instance Attribute Details

#folder_mapHash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>

A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Corresponds to the JSON property folderMap



37637
37638
37639
# File 'lib/google/apis/compute_alpha/classes.rb', line 37637

def folder_map
  @folder_map
end

#project_mapHash<String,Google::Apis::ComputeAlpha::ShareSettingsProjectConfig>

A map of project id and project config. Using map format to ease add-to/remove- from the Project list in PATCH command. In future we will deprecate (And later remove) the array one. Corresponds to the JSON property projectMap



37644
37645
37646
# File 'lib/google/apis/compute_alpha/classes.rb', line 37644

def project_map
  @project_map
end

#projectsArray<String>

A List of Project names to specify consumer projects for this shared- reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Corresponds to the JSON property projects

Returns:

  • (Array<String>)


37650
37651
37652
# File 'lib/google/apis/compute_alpha/classes.rb', line 37650

def projects
  @projects
end

#share_typeString

Type of sharing for this shared-reservation Corresponds to the JSON property shareType

Returns:

  • (String)


37655
37656
37657
# File 'lib/google/apis/compute_alpha/classes.rb', line 37655

def share_type
  @share_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



37662
37663
37664
37665
37666
37667
# File 'lib/google/apis/compute_alpha/classes.rb', line 37662

def update!(**args)
  @folder_map = args[:folder_map] if args.key?(:folder_map)
  @project_map = args[:project_map] if args.key?(:project_map)
  @projects = args[:projects] if args.key?(:projects)
  @share_type = args[:share_type] if args.key?(:share_type)
end