Class: MintPress::InfrastructureOci::SecurityRule

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

Properties (Read/Write)

  • #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 }
    
    
    222
    223
    224
    225
    226
    227
    228
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 222
    
    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 }
    
    
    230
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 230
    
    property :compartment_id, type: String, default: Proc.new { self.platform.compartment }
  • #security_group
    'Either the Security group object or the ocid of the security group, the security list must exist before you create the rule.'

    Property Attributes
    
    
    232
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 232
    
    property :security_group, description: 'Either the Security group object or the ocid of the security group, the security list must exist before you create the rule.'
  • #description ⇒ String
    'Description of the security rule.'

    Property Attributes
    
    
    235
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 235
    
    property :description, type: String, description: 'Description of the security rule.'
  • #destination
    'this is the range of IP addresses that a packet originating from the instance can go to. This can also be a service, e.g. The cidrBlock value for a Service, if you re setting up a security list rule for traffic destined for a particular Service through a service gateway. For example: oci-phx-objectstorage.'

    Property Attributes
    
    
    236
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 236
    
    property :destination, description: 'this is the range of IP addresses that a packet originating from the instance can go to. This can also be a service, e.g. The cidrBlock value for a Service, if you re setting up a security list rule for traffic destined for a particular Service through a service gateway. For example: oci-phx-objectstorage.'
  • #destination_type ⇒ String (Default Value: 'CIDR_BLOCK')
    'Type of destination for the rule. The default is CIDR_BLOCK. CIDR_BLOCK: If the rule destination is an IP address range in CIDR notation. SERVICE_CIDR_BLOCK: If the rule destination is the cidrBlock value for a Service (the rule is for traffic destined for a particular Service through a service gateway).NETWORK_SECURITY_GROUP: If the rule destination is the OCID of a NetworkSecurityGroup.'

    Property Attributes
    • default'CIDR_BLOCK'
    • allowed_values['CIDR_BLOCK', 'SERVICE_CIDR_BLOCK','NETWORK_SECURITY_GROUP']
    
    
    238
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 238
    
    property :destination_type, type: String, default: 'CIDR_BLOCK', allowed_values: ['CIDR_BLOCK', 'SERVICE_CIDR_BLOCK','NETWORK_SECURITY_GROUP'],  description: 'Type of destination for the rule. The default is CIDR_BLOCK. CIDR_BLOCK: If the rule destination is an IP address range in CIDR notation. SERVICE_CIDR_BLOCK: If the rule destination is the cidrBlock value for a Service (the rule is for traffic destined for a particular Service through a service gateway).NETWORK_SECURITY_GROUP: If the rule destination is the OCID of a NetworkSecurityGroup.'
  • #source_type ⇒ String (Default Value: 'CIDR_BLOCK')
    'Type of source for the rule. The default is CIDR_BLOCK. CIDR_BLOCK: If the rule source is an IP address range in CIDR notation. SERVICE_CIDR_BLOCK: If the rule source is the cidrBlock value for a Service (the rule is for traffic destined for a particular Service through a service gateway). NETWORK_SECURITY_GROUP: If the rule destination is the OCID of a NetworkSecurityGroup.'

    Property Attributes
    • default'CIDR_BLOCK'
    • allowed_values['CIDR_BLOCK', 'SERVICE_CIDR_BLOCK','NETWORK_SECURITY_GROUP']
    
    
    239
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 239
    
    property :source_type, type: String, default: 'CIDR_BLOCK', allowed_values: ['CIDR_BLOCK', 'SERVICE_CIDR_BLOCK','NETWORK_SECURITY_GROUP'],  description: 'Type of source for the rule. The default is CIDR_BLOCK. CIDR_BLOCK: If the rule source is an IP address range in CIDR notation. SERVICE_CIDR_BLOCK: If the rule source is the cidrBlock value for a Service (the rule is for traffic destined for a particular Service through a service gateway). NETWORK_SECURITY_GROUP: If the rule destination is the OCID of a NetworkSecurityGroup.'
  • #icmp_options
    'ICMP Options'

    Property Attributes
    
    
    241
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 241
    
    property :icmp_options, description: 'ICMP Options'
  • #tcp_options
    'TCP Options'

    Property Attributes
    
    
    242
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 242
    
    property :tcp_options, description: 'TCP Options'
  • #udp_options
    'UDP Options'

    Property Attributes
    
    
    243
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 243
    
    property :udp_options, description: 'UDP Options'
  • #source
    'This is the range of IP addresses that a packet coming into the instance can come from.'

    Property Attributes
    
    
    245
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 245
    
    property :source, description: 'This is the range of IP addresses that a packet coming into the instance can come from.'
  • #is_stateless ⇒ [TrueClass, FalseClass] (Default Value: false)
    'A stateless rule allows traffic in one direction. Remember to add a corresponding stateless rule in the other direction if you need to support bidirectional traffic. For example, if egress traffic allows TCP destination port 80, there should be an ingress rule to allow TCP source port 80. Defaults to false, which means the rule is stateful and a corresponding rule is not necessary for bidirectional traffic.'

    Property Attributes
    • defaultfalse
    
    
    247
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 247
    
    property :is_stateless, type: [TrueClass, FalseClass], default: false, description: 'A stateless rule allows traffic in one direction. Remember to add a corresponding stateless rule in the other direction if you need to support bidirectional traffic. For example, if egress traffic allows TCP destination port 80, there should be an ingress rule to allow TCP source port 80. Defaults to false, which means the rule is stateful and a corresponding rule is not necessary for bidirectional traffic.'
  • #protocol ⇒ [String, Integer] (Default Value: 'all')
    'The transport protocol. Specify either all or an IPv4 protocol number as defined in Protocol Numbers. Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58").'

    Property Attributes
    • default'all'
    • insensitivetrue
    
    
    249
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 249
    
    property :protocol, type: [String, Integer], default: 'all', insensitive: true, description: 'The transport protocol. Specify either all or an IPv4 protocol number as defined in Protocol Numbers. Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58").'
  • #id ⇒ String
    'ID for the security rule'

    Property Attributes
    
    
    251
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 251
    
    property :id, type: String, description: 'ID for the security rule'
  • #direction ⇒ String (Default Value: 'egress')
    'Type of the rule.'

    Property Attributes
    • allowed_values['ingress', 'egress']
    • default'egress'
    • insensitivetrue
    
    
    253
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_network_security_group.rb', line 253
    
    property :direction, type: String, allowed_values: ['ingress', 'egress'], default: 'egress', insensitive: true, description: 'Type of the rule.'

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 = {}) ⇒ SecurityRule

Returns a new instance of SecurityRule.

Instance Method Details

#addObject

#check_security_groupObject

#createObject

#destroyObject

#exists?Boolean

Returns:

  • (Boolean)

#removeObject

#updateObject