Class: MintPress::InfrastructureOci::VolumeGroup

Inherits:
Object
  • Object
show all
Includes:
MintLogger, TagUtils, Mixins::GenericProvider, Mixins::Properties
Defined in:
src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb

Properties (Read/Write)

  • #availability_domain ⇒ String (Default Value: Proc.new { self.platform.availability_domain })
    'The availability domain ID that will be used for all the storage built using this provider.'

    Property Attributes
    • defaultProc.new { self.platform.availability_domain }
    
    
    24
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 24
    
    property :availability_domain, type: String, description: 'The availability domain ID that will be used for all the storage built using this provider.', default: Proc.new { self.platform.availability_domain }
  • #compartment ⇒ String (Default Value: Proc.new { self.platform.compartment })
    'The compartment ID that will be used for all the VMs built using this provider.'

    Property Attributes
    • defaultProc.new { self.platform.compartment }
    • alias:compartment_id
    
    
    26
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 26
    
    property :compartment, type: String, description: 'The compartment ID that will be used for all the VMs built using this provider.', default: Proc.new { self.platform.compartment }, alias: :compartment_id
  • #name ⇒ String
    'The name of the volume group'

    Property Attributes
    • alias:display_name
    
    
    28
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 28
    
    property :name, type: String, description: 'The name of the volume group', alias: :display_name
  • #id ⇒ String
    'The id of the volume group'

    Property Attributes
    
    
    30
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 30
    
    property :id, type: String, description: 'The id of the volume group'
  • #platform ⇒ MintPress::InfrastructureOci::OciPlatform (Default Value: Proc.new { if opts[:provider] MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider]) else MintPress::InfrastructureOci::OciPlatform.new end })
    'This incapsulates all properties required for the OCI provider.'

    Property Attributes
    • defaultProc.new { if opts[:provider] MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider]) else MintPress::InfrastructureOci::OciPlatform.new end }
    
    
    32
    33
    34
    35
    36
    37
    38
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 32
    
    property :platform, type: MintPress::InfrastructureOci::OciPlatform, default: Proc.new {
      if opts[:provider]
        MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider])
      else
        MintPress::InfrastructureOci::OciPlatform.new
      end
    }, description: 'This incapsulates all properties required for the OCI provider.'
  • #size_mb (Default Value: nil)
    'The aggregate size of the volume group in MBs.'

    Property Attributes
    • defaultnil
    • alias:size_in_mbs
    
    
    42
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 42
    
    property :size_mb, default: nil, alias: :size_in_mbs, description: 'The aggregate size of the volume group in MBs.'
  • #size_gb (Default Value: nil)
    'The aggregate size of the volume group in GBs.'

    Property Attributes
    • defaultnil
    • alias:size_in_gbs
    
    
    44
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 44
    
    property :size_gb, default: nil, alias: :size_in_gbs, description: 'The aggregate size of the volume group in GBs.'
  • #volume_ids ⇒ Array of ⇒ String
    'OCIDs for the volumes in this volume group.'

    Property Attributes
    
    
    46
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 46
    
    property :volume_ids, type: String, array: true, description: 'OCIDs for the volumes in this volume group.'
  • #source_details

    Property Attributes
    
    
    48
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 48
    
    property :source_details
  • #volumes ⇒ Array of ⇒ [MintPress::InfrastructureOci::OCIStorage, MintPress::InfrastructureOci::OCISharedStorage, String]
    'List of volumes to add to the group'

    Property Attributes
    
    
    50
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 50
    
    property :volumes, type: [MintPress::InfrastructureOci::OCIStorage, MintPress::InfrastructureOci::OCISharedStorage, String], array: true, description: 'List of volumes to add to the group'
  • #volume_group_replicas ⇒ Array of ⇒ OCI::Core::Models::VolumeGroupReplicaInfo
    'The list of volume group replicas of this volume group.'

    Property Attributes
    
    
    52
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 52
    
    property :volume_group_replicas, type: OCI::Core::Models::VolumeGroupReplicaInfo, array: true, description: 'The list of volume group replicas of this volume group.'
  • #backup_policy ⇒ MintPress::InfrastructureOci::VolumeBackupPolicy
    'Volume Group Backup Policy'

    Property Attributes
    
    
    54
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 54
    
    property :backup_policy, type: MintPress::InfrastructureOci::VolumeBackupPolicy, description: 'Volume Group Backup Policy'
  • #backup_policy_id ⇒ String (Default Value: nil)
    'If provided, specifies the ID of the volume backup policy to assign to the newly created volume group.'

    Property Attributes
    • defaultnil
    
    
    56
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 56
    
    property :backup_policy_id, type: String, default: nil, description: 'If provided, specifies the ID of the volume backup policy to assign to the newly created volume group.'
  • #cluster_placement_group_id ⇒ String (Default Value: nil)
    'The clusterPlacementGroup Id of the volume group for volume placement.'

    Property Attributes
    • defaultnil
    
    
    58
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_volume_group.rb', line 58
    
    property :cluster_placement_group_id, type: String, default: nil, description: 'The clusterPlacementGroup Id of the volume group for volume placement.'

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from TagUtils

#clear_tags, #fetch_resource_details, #import_tag_properties, #manage_tags, #merge_defined_tags, #remove_defined_tags, #remove_tags, #update_resource, #update_tags

Methods included from CommonUtils

#create_status_check_proc, #destroy_status_check_proc, #filter_nil_properties, #populate_properties

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from Mixins::GenericProvider

included, #register_provider, #register_sub_provider

Constructor Details

#initialize(opts = {}) ⇒ VolumeGroup

Returns a new instance of VolumeGroup.

Instance Method Details

#add_volumeObject

#attach_backup_policyObject

#createObject

#destroyObject

#detach_backup_policyObject

#exists?Boolean

Returns:

  • (Boolean)

#harvestObject

#remove_volumeObject

#replaceObject

replaces all volumes with what we specify

#updateObject

#update_vg(action = :add) ⇒ Object

add the volumes to the group, does not replaces them.