1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Defines a Firewall Manager network ACL policy. This is used in the <code>PolicyOption</code> of a <code>SecurityServicePolicyData</code> for a <code>Policy</code>, when the <code>SecurityServicePolicyData</code> type is set to <code>NETWORK_ACL_COMMON</code>.</p>
/// <p>For information about network ACLs, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html">Control traffic to subnets using network ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct NetworkAclCommonPolicy {
/// <p>The definition of the first and last rules for the network ACL policy.</p>
pub network_acl_entry_set: ::std::option::Option<crate::types::NetworkAclEntrySet>,
}
impl NetworkAclCommonPolicy {
/// <p>The definition of the first and last rules for the network ACL policy.</p>
pub fn network_acl_entry_set(&self) -> ::std::option::Option<&crate::types::NetworkAclEntrySet> {
self.network_acl_entry_set.as_ref()
}
}
impl NetworkAclCommonPolicy {
/// Creates a new builder-style object to manufacture [`NetworkAclCommonPolicy`](crate::types::NetworkAclCommonPolicy).
pub fn builder() -> crate::types::builders::NetworkAclCommonPolicyBuilder {
crate::types::builders::NetworkAclCommonPolicyBuilder::default()
}
}
/// A builder for [`NetworkAclCommonPolicy`](crate::types::NetworkAclCommonPolicy).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct NetworkAclCommonPolicyBuilder {
pub(crate) network_acl_entry_set: ::std::option::Option<crate::types::NetworkAclEntrySet>,
}
impl NetworkAclCommonPolicyBuilder {
/// <p>The definition of the first and last rules for the network ACL policy.</p>
/// This field is required.
pub fn network_acl_entry_set(mut self, input: crate::types::NetworkAclEntrySet) -> Self {
self.network_acl_entry_set = ::std::option::Option::Some(input);
self
}
/// <p>The definition of the first and last rules for the network ACL policy.</p>
pub fn set_network_acl_entry_set(mut self, input: ::std::option::Option<crate::types::NetworkAclEntrySet>) -> Self {
self.network_acl_entry_set = input;
self
}
/// <p>The definition of the first and last rules for the network ACL policy.</p>
pub fn get_network_acl_entry_set(&self) -> &::std::option::Option<crate::types::NetworkAclEntrySet> {
&self.network_acl_entry_set
}
/// Consumes the builder and constructs a [`NetworkAclCommonPolicy`](crate::types::NetworkAclCommonPolicy).
pub fn build(self) -> crate::types::NetworkAclCommonPolicy {
crate::types::NetworkAclCommonPolicy {
network_acl_entry_set: self.network_acl_entry_set,
}
}
}