iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
532 lines (531 loc) • 20.4 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
/**
* Statement provider for service [network-firewall](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsnetworkfirewall.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class NetworkFirewall extends PolicyStatement {
servicePrefix: string;
/**
* Statement provider for service [network-firewall](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsnetworkfirewall.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid?: string);
/**
* Grants permission to create an association between a firewall policy and a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_AssociateFirewallPolicy.html
*/
toAssociateFirewallPolicy(): this;
/**
* Grants permission to associate VPC subnets to a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_AssociateSubnets.html
*/
toAssociateSubnets(): this;
/**
* Grants permission to create an AWS Network Firewall firewall
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_CreateFirewall.html
*/
toCreateFirewall(): this;
/**
* Grants permission to create an AWS Network Firewall firewall policy
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_CreateFirewallPolicy.html
*/
toCreateFirewallPolicy(): this;
/**
* Grants permission to create an AWS Network Firewall rule group
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_CreateRuleGroup.html
*/
toCreateRuleGroup(): this;
/**
* Grants permission to create an AWS Network Firewall tls inspection configuration
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_CreateTLSInspectionConfiguration.html
*/
toCreateTLSInspectionConfiguration(): this;
/**
* Grants permission to delete a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DeleteFirewall.html
*/
toDeleteFirewall(): this;
/**
* Grants permission to delete a firewall policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DeleteFirewallPolicy.html
*/
toDeleteFirewallPolicy(): this;
/**
* Grants permission to delete a resource policy for a firewall policy or rule group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DeleteResourcePolicy.html
*/
toDeleteResourcePolicy(): this;
/**
* Grants permission to delete a rule group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DeleteRuleGroup.html
*/
toDeleteRuleGroup(): this;
/**
* Grants permission to delete a tls inspection configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DeleteTLSInspectionConfiguration.html
*/
toDeleteTLSInspectionConfiguration(): this;
/**
* Grants permission to retrieve the data objects that define a firewall
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeFirewall.html
*/
toDescribeFirewall(): this;
/**
* Grants permission to retrieve the data objects that define a firewall policy
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeFirewallPolicy.html
*/
toDescribeFirewallPolicy(): this;
/**
* Grants permission to describe a flow operation performed on a firewall
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeFlowOperation.html
*/
toDescribeFlowOperation(): this;
/**
* Grants permission to describe the logging configuration of a firewall
*
* Access Level: Read
*
* Dependent actions:
* - logs:GetLogDelivery
* - logs:ListLogDeliveries
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeLoggingConfiguration.html
*/
toDescribeLoggingConfiguration(): this;
/**
* Grants permission to describe a resource policy for a firewall policy or rule group
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeResourcePolicy.html
*/
toDescribeResourcePolicy(): this;
/**
* Grants permission to retrieve the data objects that define a rule group
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroup.html
*/
toDescribeRuleGroup(): this;
/**
* Grants permission to retrieve the high-level information about a rule group
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroupMetadata.html
*/
toDescribeRuleGroupMetadata(): this;
/**
* Grants permission to retrieve the data objects that define a tls inspection configuration
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeTLSInspectionConfiguration.html
*/
toDescribeTLSInspectionConfiguration(): this;
/**
* Grants permission to disassociate VPC subnets from a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DisassociateSubnets.html
*/
toDisassociateSubnets(): this;
/**
* Grants permission to retrieve analysis report results of a firewall
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_GetAnalysisReportResults.html
*/
toGetAnalysisReportResults(): this;
/**
* Grants permission to list firewall analysis reports
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListAnalysisReports.html
*/
toListAnalysisReports(): this;
/**
* Grants permission to retrieve the metadata for firewall policies
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListFirewallPolicies.html
*/
toListFirewallPolicies(): this;
/**
* Grants permission to retrieve the metadata for firewalls
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListFirewalls.html
*/
toListFirewalls(): this;
/**
* Grants permission to list results from a flow operation performed on a firewall
*
* Access Level: Read
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListFlowOperationResults.html
*/
toListFlowOperationResults(): this;
/**
* Grants permission to list flow operations performed on a firewall
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListFlowOperations.html
*/
toListFlowOperations(): this;
/**
* Grants permission to retrieve the metadata for rule groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListRuleGroups.html
*/
toListRuleGroups(): this;
/**
* Grants permission to retrieve the metadata for tls inspection configurations
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListTLSInspectionConfigurations.html
*/
toListTLSInspectionConfigurations(): this;
/**
* Grants permission to retrieve the tags for a resource
*
* Access Level: List
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to put a resource policy for a firewall policy or rule group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_PutResourcePolicy.html
*/
toPutResourcePolicy(): this;
/**
* Grants permission to start an analysis report on a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_GetAnalysisReportResults.html
*/
toStartAnalysisReport(): this;
/**
* Grants permission to start capture operation on a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_StartFlowCapture.html
*/
toStartFlowCapture(): this;
/**
* Grants permission to start flush operation on a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_StartFlowFlush.html
*/
toStartFlowFlush(): this;
/**
* Grants permission to attach tags to a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to remove tags from a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to modify firewall analysis settings of a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallAnalysisSettings.html
*/
toUpdateFirewallAnalysisSettings(): this;
/**
* Grants permission to add or remove delete protection for a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallDeleteProtection.html
*/
toUpdateFirewallDeleteProtection(): this;
/**
* Grants permission to modify the description for a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallDescription.html
*/
toUpdateFirewallDescription(): this;
/**
* Grants permission to modify the encryption configuration of a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallEncryptionConfiguration.html
*/
toUpdateFirewallEncryptionConfiguration(): this;
/**
* Grants permission to modify a firewall policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallPolicy.html
*/
toUpdateFirewallPolicy(): this;
/**
* Grants permission to add or remove firewall policy change protection for a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateFirewallPolicyChangeProtection.html
*/
toUpdateFirewallPolicyChangeProtection(): this;
/**
* Grants permission to modify the logging configuration of a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateLoggingConfiguration.html
*/
toUpdateLoggingConfiguration(): this;
/**
* Grants permission to modify a rule group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateRuleGroup.html
*/
toUpdateRuleGroup(): this;
/**
* Grants permission to add or remove subnet change protection for a firewall
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateSubnetChangeProtection.html
*/
toUpdateSubnetChangeProtection(): this;
/**
* Grants permission to modify a tls inspection configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_UpdateTLSInspectionConfiguration.html
*/
toUpdateTLSInspectionConfiguration(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type Firewall to the statement
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_Firewall.html
*
* @param name - Identifier for the name.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onFirewall(name: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type FirewallPolicy to the statement
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_FirewallPolicyResponse.html
*
* @param name - Identifier for the name.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onFirewallPolicy(name: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type StatefulRuleGroup to the statement
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_RuleGroupResponse.html
*
* @param name - Identifier for the name.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onStatefulRuleGroup(name: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type StatelessRuleGroup to the statement
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_RuleGroupResponse.html
*
* @param name - Identifier for the name.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onStatelessRuleGroup(name: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type TLSInspectionConfiguration to the statement
*
* https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_TLSInspectionConfigurationResponse.html
*
* @param name - Identifier for the name.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onTLSInspectionConfiguration(name: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access by on the allowed set of values for each of the tags
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateFirewall()
* - .toCreateFirewallPolicy()
* - .toCreateRuleGroup()
* - .toCreateTLSInspectionConfiguration()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the tag value associated with the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to resource types:
* - Firewall
* - FirewallPolicy
* - StatefulRuleGroup
* - StatelessRuleGroup
* - TLSInspectionConfiguration
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the presence of mandatory tags in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateFirewall()
* - .toCreateFirewallPolicy()
* - .toCreateRuleGroup()
* - .toCreateTLSInspectionConfiguration()
* - .toTagResource()
* - .toUntagResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
}