The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::FMS - Perl Interface to AWS Firewall Management Service

SYNOPSIS

  use Paws;

  my $obj = Paws->service('FMS');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

AWS Firewall Manager

This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html).

Some API actions require explicit resource permissions. For information, see the developer guide topic Firewall Manager required permissions for API actions (https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html).

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01

METHODS

AssociateAdminAccount

AdminAccount => Str

Each argument is described in detail in: Paws::FMS::AssociateAdminAccount

Returns: nothing

Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with the master account of your AWS organization or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account.

The account that you associate with AWS Firewall Manager is called the AWS Firewall Manager administrator account.

DeleteAppsList

ListId => Str

Each argument is described in detail in: Paws::FMS::DeleteAppsList

Returns: nothing

Permanently deletes an AWS Firewall Manager applications list.

DeleteNotificationChannel

Each argument is described in detail in: Paws::FMS::DeleteNotificationChannel

Returns: nothing

Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

DeletePolicy

PolicyId => Str
[DeleteAllPolicyResources => Bool]

Each argument is described in detail in: Paws::FMS::DeletePolicy

Returns: nothing

Permanently deletes an AWS Firewall Manager policy.

DeleteProtocolsList

ListId => Str

Each argument is described in detail in: Paws::FMS::DeleteProtocolsList

Returns: nothing

Permanently deletes an AWS Firewall Manager protocols list.

DisassociateAdminAccount

Each argument is described in detail in: Paws::FMS::DisassociateAdminAccount

Returns: nothing

Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request.

GetAdminAccount

Each argument is described in detail in: Paws::FMS::GetAdminAccount

Returns: a Paws::FMS::GetAdminAccountResponse instance

Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.

GetAppsList

ListId => Str
[DefaultList => Bool]

Each argument is described in detail in: Paws::FMS::GetAppsList

Returns: a Paws::FMS::GetAppsListResponse instance

Returns information about the specified AWS Firewall Manager applications list.

GetComplianceDetail

MemberAccount => Str
PolicyId => Str

Each argument is described in detail in: Paws::FMS::GetComplianceDetail

Returns: a Paws::FMS::GetComplianceDetailResponse instance

Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered noncompliant for AWS WAF and Shield Advanced policies if the specified policy has not been applied to them. Resources are considered noncompliant for security group policies if they are in scope of the policy, they violate one or more of the policy rules, and remediation is disabled or not possible. Resources are considered noncompliant for Network Firewall policies if a firewall is missing in the VPC, if the firewall endpoint isn't set up in an expected Availability Zone and subnet, if a subnet created by the Firewall Manager doesn't have the expected route table, and for modifications to a firewall policy that violate the Firewall Manager policy's rules.

GetNotificationChannel

Each argument is described in detail in: Paws::FMS::GetNotificationChannel

Returns: a Paws::FMS::GetNotificationChannelResponse instance

Information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

GetPolicy

PolicyId => Str

Each argument is described in detail in: Paws::FMS::GetPolicy

Returns: a Paws::FMS::GetPolicyResponse instance

Returns information about the specified AWS Firewall Manager policy.

GetProtectionStatus

PolicyId => Str
[EndTime => Str]
[MaxResults => Int]
[MemberAccountId => Str]
[NextToken => Str]
[StartTime => Str]

Each argument is described in detail in: Paws::FMS::GetProtectionStatus

Returns: a Paws::FMS::GetProtectionStatusResponse instance

If you created a Shield Advanced policy, returns policy-level attack summary information in the event of a potential DDoS attack. Other policy types are currently unsupported.

GetProtocolsList

ListId => Str
[DefaultList => Bool]

Each argument is described in detail in: Paws::FMS::GetProtocolsList

Returns: a Paws::FMS::GetProtocolsListResponse instance

Returns information about the specified AWS Firewall Manager protocols list.

GetViolationDetails

MemberAccount => Str
PolicyId => Str
ResourceId => Str
ResourceType => Str

Each argument is described in detail in: Paws::FMS::GetViolationDetails

Returns: a Paws::FMS::GetViolationDetailsResponse instance

Retrieves violations for a resource based on the specified AWS Firewall Manager policy and AWS account.

ListAppsLists

MaxResults => Int
[DefaultLists => Bool]
[NextToken => Str]

Each argument is described in detail in: Paws::FMS::ListAppsLists

Returns: a Paws::FMS::ListAppsListsResponse instance

Returns an array of AppsListDataSummary objects.

ListComplianceStatus

PolicyId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::FMS::ListComplianceStatus

Returns: a Paws::FMS::ListComplianceStatusResponse instance

Returns an array of PolicyComplianceStatus objects. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy.

ListMemberAccounts

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::FMS::ListMemberAccounts

Returns: a Paws::FMS::ListMemberAccountsResponse instance

Returns a MemberAccounts object that lists the member accounts in the administrator's AWS organization.

The ListMemberAccounts must be submitted by the account that is set as the AWS Firewall Manager administrator.

ListPolicies

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::FMS::ListPolicies

Returns: a Paws::FMS::ListPoliciesResponse instance

Returns an array of PolicySummary objects.

ListProtocolsLists

MaxResults => Int
[DefaultLists => Bool]
[NextToken => Str]

Each argument is described in detail in: Paws::FMS::ListProtocolsLists

Returns: a Paws::FMS::ListProtocolsListsResponse instance

Returns an array of ProtocolsListDataSummary objects.

ListTagsForResource

ResourceArn => Str

Each argument is described in detail in: Paws::FMS::ListTagsForResource

Returns: a Paws::FMS::ListTagsForResourceResponse instance

Retrieves the list of tags for the specified AWS resource.

PutAppsList

AppsList => Paws::FMS::AppsListData
[TagList => ArrayRef[Paws::FMS::Tag]]

Each argument is described in detail in: Paws::FMS::PutAppsList

Returns: a Paws::FMS::PutAppsListResponse instance

Creates an AWS Firewall Manager applications list.

PutNotificationChannel

SnsRoleName => Str
SnsTopicArn => Str

Each argument is described in detail in: Paws::FMS::PutNotificationChannel

Returns: nothing

Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.

To perform this action outside of the console, you must configure the SNS topic to allow the Firewall Manager role AWSServiceRoleForFMS to publish SNS logs. For more information, see Firewall Manager required permissions for API actions (https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html) in the AWS Firewall Manager Developer Guide.

PutPolicy

Policy => Paws::FMS::Policy
[TagList => ArrayRef[Paws::FMS::Tag]]

Each argument is described in detail in: Paws::FMS::PutPolicy

Returns: a Paws::FMS::PutPolicyResponse instance

Creates an AWS Firewall Manager policy.

Firewall Manager provides the following types of policies:

  • An AWS WAF policy (type WAFV2), which defines rule groups to run first in the corresponding AWS WAF web ACL and rule groups to run last in the web ACL.

  • An AWS WAF Classic policy (type WAF), which defines a rule group.

  • A Shield Advanced policy, which applies Shield Advanced protection to specified accounts and resources.

  • A security group policy, which manages VPC security groups across your AWS organization.

  • An AWS Network Firewall policy, which provides firewall rules to filter network traffic in specified Amazon VPCs.

Each policy is specific to one of the types. If you want to enforce more than one policy type across accounts, create multiple policies. You can create multiple policies for each type.

You must be subscribed to Shield Advanced to create a Shield Advanced policy. For more information about subscribing to Shield Advanced, see CreateSubscription (https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html).

PutProtocolsList

ProtocolsList => Paws::FMS::ProtocolsListData
[TagList => ArrayRef[Paws::FMS::Tag]]

Each argument is described in detail in: Paws::FMS::PutProtocolsList

Returns: a Paws::FMS::PutProtocolsListResponse instance

Creates an AWS Firewall Manager protocols list.

TagResource

ResourceArn => Str
TagList => ArrayRef[Paws::FMS::Tag]

Each argument is described in detail in: Paws::FMS::TagResource

Returns: a Paws::FMS::TagResourceResponse instance

Adds one or more tags to an AWS resource.

UntagResource

ResourceArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::FMS::UntagResource

Returns: a Paws::FMS::UntagResourceResponse instance

Removes one or more tags from an AWS resource.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllComplianceStatus(sub { },PolicyId => Str, [MaxResults => Int, NextToken => Str])

ListAllComplianceStatus(PolicyId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - PolicyComplianceStatusList, passing the object as the first parameter, and the string 'PolicyComplianceStatusList' as the second parameter 

If not, it will return a a Paws::FMS::ListComplianceStatusResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllMemberAccounts(sub { },[MaxResults => Int, NextToken => Str])

ListAllMemberAccounts([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - MemberAccounts, passing the object as the first parameter, and the string 'MemberAccounts' as the second parameter 

If not, it will return a a Paws::FMS::ListMemberAccountsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllPolicies(sub { },[MaxResults => Int, NextToken => Str])

ListAllPolicies([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - PolicyList, passing the object as the first parameter, and the string 'PolicyList' as the second parameter 

If not, it will return a a Paws::FMS::ListPoliciesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues