Struct aws_sdk_fms::model::Policy
source · [−]#[non_exhaustive]pub struct Policy {
pub policy_id: Option<String>,
pub policy_name: Option<String>,
pub policy_update_token: Option<String>,
pub security_service_policy_data: Option<SecurityServicePolicyData>,
pub resource_type: Option<String>,
pub resource_type_list: Option<Vec<String>>,
pub resource_tags: Option<Vec<ResourceTag>>,
pub exclude_resource_tags: bool,
pub remediation_enabled: bool,
pub delete_unused_fm_managed_resources: bool,
pub include_map: Option<HashMap<CustomerPolicyScopeIdType, Vec<String>>>,
pub exclude_map: Option<HashMap<CustomerPolicyScopeIdType, Vec<String>>>,
}
Expand description
An Firewall Manager policy.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.policy_id: Option<String>
The ID of the Firewall Manager policy.
policy_name: Option<String>
The name of the Firewall Manager policy.
policy_update_token: Option<String>
A unique identifier for each update to the policy. When issuing a PutPolicy
request, the PolicyUpdateToken
in the request must match the PolicyUpdateToken
of the current policy version. To get the PolicyUpdateToken
of the current policy version, use a GetPolicy
request.
security_service_policy_data: Option<SecurityServicePolicyData>
Details about the security service that is being used to protect the resources.
resource_type: Option<String>
The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon Web Services Resource Types Reference. To apply this policy to multiple resource types, specify a resource type of ResourceTypeList
and then specify the resource types in a ResourceTypeList
.
For WAF and Shield Advanced, resource types include AWS::ElasticLoadBalancingV2::LoadBalancer
, AWS::ElasticLoadBalancing::LoadBalancer
, AWS::EC2::EIP
, and AWS::CloudFront::Distribution
. For a security group common policy, valid values are AWS::EC2::NetworkInterface
and AWS::EC2::Instance
. For a security group content audit policy, valid values are AWS::EC2::SecurityGroup
, AWS::EC2::NetworkInterface
, and AWS::EC2::Instance
. For a security group usage audit policy, the value is AWS::EC2::SecurityGroup
. For an Network Firewall policy or DNS Firewall policy, the value is AWS::EC2::VPC
.
resource_type_list: Option<Vec<String>>
An array of ResourceType
objects. Use this only to specify multiple resource types. To specify a single resource type, use ResourceType
.
An array of ResourceTag
objects.
If set to True
, resources with the tags that are specified in the ResourceTag
array are not in scope of the policy. If set to False
, and the ResourceTag
array is not null, only resources with the specified tags are in scope of the policy.
remediation_enabled: bool
Indicates if the policy should be automatically applied to new resources.
delete_unused_fm_managed_resources: bool
Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope.
By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources.
This option is not available for Shield Advanced or WAF Classic policies.
include_map: Option<HashMap<CustomerPolicyScopeIdType, Vec<String>>>
Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to include in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.
You can specify inclusions or exclusions, but not both. If you specify an IncludeMap
, Firewall Manager applies the policy to all accounts specified by the IncludeMap
, and does not evaluate any ExcludeMap
specifications. If you do not specify an IncludeMap
, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap
.
You can specify account IDs, OUs, or a combination:
-
Specify account IDs by setting the key to
ACCOUNT
. For example, the following is a valid map:{“ACCOUNT” : [“accountID1”, “accountID2”]}
. -
Specify OUs by setting the key to
ORG_UNIT
. For example, the following is a valid map:{“ORG_UNIT” : [“ouid111”, “ouid112”]}
. -
Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map:
{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}
.
exclude_map: Option<HashMap<CustomerPolicyScopeIdType, Vec<String>>>
Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.
You can specify inclusions or exclusions, but not both. If you specify an IncludeMap
, Firewall Manager applies the policy to all accounts specified by the IncludeMap
, and does not evaluate any ExcludeMap
specifications. If you do not specify an IncludeMap
, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap
.
You can specify account IDs, OUs, or a combination:
-
Specify account IDs by setting the key to
ACCOUNT
. For example, the following is a valid map:{“ACCOUNT” : [“accountID1”, “accountID2”]}
. -
Specify OUs by setting the key to
ORG_UNIT
. For example, the following is a valid map:{“ORG_UNIT” : [“ouid111”, “ouid112”]}
. -
Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map:
{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}
.
Implementations
sourceimpl Policy
impl Policy
sourcepub fn policy_name(&self) -> Option<&str>
pub fn policy_name(&self) -> Option<&str>
The name of the Firewall Manager policy.
sourcepub fn policy_update_token(&self) -> Option<&str>
pub fn policy_update_token(&self) -> Option<&str>
A unique identifier for each update to the policy. When issuing a PutPolicy
request, the PolicyUpdateToken
in the request must match the PolicyUpdateToken
of the current policy version. To get the PolicyUpdateToken
of the current policy version, use a GetPolicy
request.
sourcepub fn security_service_policy_data(&self) -> Option<&SecurityServicePolicyData>
pub fn security_service_policy_data(&self) -> Option<&SecurityServicePolicyData>
Details about the security service that is being used to protect the resources.
sourcepub fn resource_type(&self) -> Option<&str>
pub fn resource_type(&self) -> Option<&str>
The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon Web Services Resource Types Reference. To apply this policy to multiple resource types, specify a resource type of ResourceTypeList
and then specify the resource types in a ResourceTypeList
.
For WAF and Shield Advanced, resource types include AWS::ElasticLoadBalancingV2::LoadBalancer
, AWS::ElasticLoadBalancing::LoadBalancer
, AWS::EC2::EIP
, and AWS::CloudFront::Distribution
. For a security group common policy, valid values are AWS::EC2::NetworkInterface
and AWS::EC2::Instance
. For a security group content audit policy, valid values are AWS::EC2::SecurityGroup
, AWS::EC2::NetworkInterface
, and AWS::EC2::Instance
. For a security group usage audit policy, the value is AWS::EC2::SecurityGroup
. For an Network Firewall policy or DNS Firewall policy, the value is AWS::EC2::VPC
.
sourcepub fn resource_type_list(&self) -> Option<&[String]>
pub fn resource_type_list(&self) -> Option<&[String]>
An array of ResourceType
objects. Use this only to specify multiple resource types. To specify a single resource type, use ResourceType
.
An array of ResourceTag
objects.
If set to True
, resources with the tags that are specified in the ResourceTag
array are not in scope of the policy. If set to False
, and the ResourceTag
array is not null, only resources with the specified tags are in scope of the policy.
sourcepub fn remediation_enabled(&self) -> bool
pub fn remediation_enabled(&self) -> bool
Indicates if the policy should be automatically applied to new resources.
sourcepub fn delete_unused_fm_managed_resources(&self) -> bool
pub fn delete_unused_fm_managed_resources(&self) -> bool
Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope.
By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources.
This option is not available for Shield Advanced or WAF Classic policies.
sourcepub fn include_map(
&self
) -> Option<&HashMap<CustomerPolicyScopeIdType, Vec<String>>>
pub fn include_map(
&self
) -> Option<&HashMap<CustomerPolicyScopeIdType, Vec<String>>>
Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to include in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.
You can specify inclusions or exclusions, but not both. If you specify an IncludeMap
, Firewall Manager applies the policy to all accounts specified by the IncludeMap
, and does not evaluate any ExcludeMap
specifications. If you do not specify an IncludeMap
, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap
.
You can specify account IDs, OUs, or a combination:
-
Specify account IDs by setting the key to
ACCOUNT
. For example, the following is a valid map:{“ACCOUNT” : [“accountID1”, “accountID2”]}
. -
Specify OUs by setting the key to
ORG_UNIT
. For example, the following is a valid map:{“ORG_UNIT” : [“ouid111”, “ouid112”]}
. -
Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map:
{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}
.
sourcepub fn exclude_map(
&self
) -> Option<&HashMap<CustomerPolicyScopeIdType, Vec<String>>>
pub fn exclude_map(
&self
) -> Option<&HashMap<CustomerPolicyScopeIdType, Vec<String>>>
Specifies the Amazon Web Services account IDs and Organizations organizational units (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.
You can specify inclusions or exclusions, but not both. If you specify an IncludeMap
, Firewall Manager applies the policy to all accounts specified by the IncludeMap
, and does not evaluate any ExcludeMap
specifications. If you do not specify an IncludeMap
, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap
.
You can specify account IDs, OUs, or a combination:
-
Specify account IDs by setting the key to
ACCOUNT
. For example, the following is a valid map:{“ACCOUNT” : [“accountID1”, “accountID2”]}
. -
Specify OUs by setting the key to
ORG_UNIT
. For example, the following is a valid map:{“ORG_UNIT” : [“ouid111”, “ouid112”]}
. -
Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map:
{“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}
.
Trait Implementations
impl StructuralPartialEq for Policy
Auto Trait Implementations
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more