Class: AWSCDK::FMS::CfnPolicy::PolicyOptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fms/cfn_policy.rb

Overview

Contains the settings to configure a network ACL policy, a AWS Network Firewall firewall policy deployment model, or a third-party firewall policy.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(network_acl_common_policy: nil, network_firewall_policy: nil, third_party_firewall_policy: nil) ⇒ PolicyOptionProperty

Returns a new instance of PolicyOptionProperty.

Parameters:



1083
1084
1085
1086
1087
1088
1089
1090
# File 'fms/cfn_policy.rb', line 1083

def initialize(network_acl_common_policy: nil, network_firewall_policy: nil, third_party_firewall_policy: nil)
  @network_acl_common_policy = network_acl_common_policy.is_a?(Hash) ? ::AWSCDK::FMS::CfnPolicy::NetworkAclCommonPolicyProperty.new(**network_acl_common_policy.transform_keys(&:to_sym)) : network_acl_common_policy
  Jsii::Type.check_type(@network_acl_common_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mbXMuQ2ZuUG9saWN5Lk5ldHdvcmtBY2xDb21tb25Qb2xpY3lQcm9wZXJ0eSJ9XX19")), "networkAclCommonPolicy") unless @network_acl_common_policy.nil?
  @network_firewall_policy = network_firewall_policy.is_a?(Hash) ? ::AWSCDK::FMS::CfnPolicy::NetworkFirewallPolicyProperty.new(**network_firewall_policy.transform_keys(&:to_sym)) : network_firewall_policy
  Jsii::Type.check_type(@network_firewall_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mbXMuQ2ZuUG9saWN5Lk5ldHdvcmtGaXJld2FsbFBvbGljeVByb3BlcnR5In1dfX0=")), "networkFirewallPolicy") unless @network_firewall_policy.nil?
  @third_party_firewall_policy = third_party_firewall_policy.is_a?(Hash) ? ::AWSCDK::FMS::CfnPolicy::ThirdPartyFirewallPolicyProperty.new(**third_party_firewall_policy.transform_keys(&:to_sym)) : third_party_firewall_policy
  Jsii::Type.check_type(@third_party_firewall_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mbXMuQ2ZuUG9saWN5LlRoaXJkUGFydHlGaXJld2FsbFBvbGljeVByb3BlcnR5In1dfX0=")), "thirdPartyFirewallPolicy") unless @third_party_firewall_policy.nil?
end

Instance Attribute Details

#network_acl_common_policyAWSCDK::IResolvable, ... (readonly)

Defines a Firewall Manager network ACL policy.



1096
1097
1098
# File 'fms/cfn_policy.rb', line 1096

def network_acl_common_policy
  @network_acl_common_policy
end

#network_firewall_policyAWSCDK::IResolvable, ... (readonly)

Defines the deployment model to use for the firewall policy.



1101
1102
1103
# File 'fms/cfn_policy.rb', line 1101

def network_firewall_policy
  @network_firewall_policy
end

#third_party_firewall_policyAWSCDK::IResolvable, ... (readonly)

Defines the policy options for a third-party firewall policy.



1106
1107
1108
# File 'fms/cfn_policy.rb', line 1106

def third_party_firewall_policy
  @third_party_firewall_policy
end

Class Method Details

.jsii_propertiesObject



1108
1109
1110
1111
1112
1113
1114
# File 'fms/cfn_policy.rb', line 1108

def self.jsii_properties
  {
    :network_acl_common_policy => "networkAclCommonPolicy",
    :network_firewall_policy => "networkFirewallPolicy",
    :third_party_firewall_policy => "thirdPartyFirewallPolicy",
  }
end

Instance Method Details

#to_jsiiObject



1116
1117
1118
1119
1120
1121
1122
1123
1124
# File 'fms/cfn_policy.rb', line 1116

def to_jsii
  result = {}
  result.merge!({
    "networkAclCommonPolicy" => @network_acl_common_policy,
    "networkFirewallPolicy" => @network_firewall_policy,
    "thirdPartyFirewallPolicy" => @third_party_firewall_policy,
  })
  result.compact
end