Class: MintPress::InfrastructureOci::Subnet

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

Properties (Read/Write)

  • #name ⇒ String
    'The name of the vcn'

    Property Attributes
    • alias:display_name
    
    
    23
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 23
    
    property :name, type: String, description: 'The name of the vcn', alias: :display_name
  • #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 }
    
    
    25
    26
    27
    28
    29
    30
    31
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 25
    
    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.'
  • #compartment_id ⇒ String (Default Value: Proc.new { self.platform.compartment })

    Property Attributes
    • defaultProc.new { self.platform.compartment }
    
    
    33
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 33
    
    property :compartment_id, type: String, default: Proc.new { self.platform.compartment }
  • #vcn ⇒ [MintPress::InfrastructureOci::VCN,String]
    'Either the VCN object or the OCID of the VCN this subnet associates with. The VCN must exists before you can create the subnet.'

    Property Attributes
    
    
    35
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 35
    
    property :vcn, type: [MintPress::InfrastructureOci::VCN,String], description: 'Either the VCN object or the OCID of the VCN this subnet associates with. The VCN must exists before you can create the subnet.'
  • #availability_domain ⇒ String
    'Controls whether the subnet is regional or specific to an availability domain.'

    Property Attributes
    
    
    37
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 37
    
    property :availability_domain, type: String, description: 'Controls whether the subnet is regional or specific to an availability domain.'
  • #cidr_block ⇒ String
    'The CIDR IP address range of the subnet.'

    Property Attributes
    • requiredtrue
    
    
    38
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 38
    
    property :cidr_block, type: String, required: true, description: 'The CIDR IP address range of the subnet.'
  • #dns_label ⇒ String (Default Value: nil)
    "A DNS label for the VCN, used in conjunction with the VNIC's hostname and subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, bminstance1.subnet123.vcn1.oraclevcn.com)"

    Property Attributes
    • defaultnil
    
    
    39
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 39
    
    property :dns_label, type: String, default: nil, description: "A DNS label for the VCN, used in conjunction with the VNIC's hostname and subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, bminstance1.subnet123.vcn1.oraclevcn.com)"
  • #ipv6_cidr_blocks ⇒ Array of ⇒ String
    'The list of all IPv6 prefixes (Oracle allocated IPv6 GUA, ULA or private IPv6 prefixes, BYOIPv6 prefixes) for the subnet that meets the following criteria: - The prefixes must be valid.'

    Property Attributes
    
    
    40
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 40
    
    property :ipv6_cidr_blocks, type: String, array: true, description: 'The list of all IPv6 prefixes (Oracle allocated IPv6 GUA, ULA or private IPv6 prefixes, BYOIPv6 prefixes) for the subnet that meets the following criteria: - The prefixes must be valid.'
  • #prohibit_internet_ingress ⇒ [TrueClass, FalseClass] (Default Value: Proc.new { if self.platform.pca_compatible nil else true end })
    "Whether to disallow ingress internet traffic to VNICs within this subnet."

    Property Attributes
    • defaultProc.new { if self.platform.pca_compatible nil else true end }
    
    
    41
    42
    43
    44
    45
    46
    47
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 41
    
    property :prohibit_internet_ingress, type: [TrueClass, FalseClass], default: Proc.new { 
      if self.platform.pca_compatible
        nil
      else
        true
      end
    }, description: "Whether to disallow ingress internet traffic to VNICs within this subnet."
  • #prohibit_public_ip_on_vnic ⇒ [TrueClass, FalseClass] (Default Value: true)
    "Whether VNICs within this subnet can have public IP addresses. Setting this to true means they cannot."

    Property Attributes
    • defaulttrue
    
    
    48
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 48
    
    property :prohibit_public_ip_on_vnic, type: [TrueClass, FalseClass], default: true, description: "Whether VNICs within this subnet can have public IP addresses. Setting this to true means they cannot."
  • #dhcp_options_id ⇒ String
    'The OCID of the set of DHCP options that the subnet uses.'

    Property Attributes
    
    
    50
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 50
    
    property :dhcp_options_id, type: String, description: 'The OCID of the set of DHCP options that the subnet uses.'
  • #route_table_id ⇒ String
    'The OCID of the route table that the subnet uses.'

    Property Attributes
    
    
    51
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 51
    
    property :route_table_id, type: String, description: 'The OCID of the route table that the subnet uses.'
  • #security_list_ids ⇒ Array of ⇒ String
    'The OCIDs of the security list or lists that the subnet uses. Remember that security lists are associated with the subnet, but the rules are applied to the individual VNICs in the subnet'

    Property Attributes
    
    
    52
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 52
    
    property :security_list_ids, type: String, array: true, description: 'The OCIDs of the security list or lists that the subnet uses. Remember that security lists are associated with the subnet, but the rules are applied to the individual VNICs in the subnet'
  • #id ⇒ String
    'ID for the VCN'

    Property Attributes
    
    
    55
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_subnet.rb', line 55
    
    property :id, type: String, description: 'ID for the VCN'

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

Constructor Details

#initialize(opts = {}) ⇒ Subnet

Returns a new instance of Subnet.

Instance Method Details

#createObject

#destroyObject

#exists?Boolean

Returns:

  • (Boolean)

#harvestObject

#updateObject