amazonka-wafv2-2.0: Amazon WAFV2 SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.WAFV2.AssociateWebACL

Description

Associates a web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, or an Amazon Cognito user pool.

For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the web ACL. For information, see UpdateDistribution.

When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but there might be a brief period of inconsistency when the changes have arrived in some places and not in others. So, for example, if you change a rule action setting, the action might be the old action in one area and the new action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already associated with a resource. Generally, any inconsistencies of this type last only a few seconds.

Synopsis

Creating a Request

data AssociateWebACL Source #

See: newAssociateWebACL smart constructor.

Constructors

AssociateWebACL' 

Fields

  • webACLArn :: Text

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

  • resourceArn :: Text

    The Amazon Resource Name (ARN) of the resource to associate with the web ACL.

    The ARN must be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
    • For an Amazon API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
    • For an AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId
    • For an Amazon Cognito user pool: arn:aws:cognito-idp:region:account-id:userpool/user-pool-id

Instances

Instances details
ToJSON AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

ToHeaders AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

ToPath AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

ToQuery AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

AWSRequest AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Associated Types

type AWSResponse AssociateWebACL #

Generic AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Associated Types

type Rep AssociateWebACL :: Type -> Type #

Read AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Show AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

NFData AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Methods

rnf :: AssociateWebACL -> () #

Eq AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Hashable AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

type AWSResponse AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

type Rep AssociateWebACL Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

type Rep AssociateWebACL = D1 ('MetaData "AssociateWebACL" "Amazonka.WAFV2.AssociateWebACL" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AssociateWebACL'" 'PrefixI 'True) (S1 ('MetaSel ('Just "webACLArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "resourceArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newAssociateWebACL Source #

Create a value of AssociateWebACL with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:webACLArn:AssociateWebACL', associateWebACL_webACLArn - The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

AssociateWebACL, associateWebACL_resourceArn - The Amazon Resource Name (ARN) of the resource to associate with the web ACL.

The ARN must be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
  • For an Amazon API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
  • For an AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId
  • For an Amazon Cognito user pool: arn:aws:cognito-idp:region:account-id:userpool/user-pool-id

Request Lenses

associateWebACL_webACLArn :: Lens' AssociateWebACL Text Source #

The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

associateWebACL_resourceArn :: Lens' AssociateWebACL Text Source #

The Amazon Resource Name (ARN) of the resource to associate with the web ACL.

The ARN must be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
  • For an Amazon API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
  • For an AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId
  • For an Amazon Cognito user pool: arn:aws:cognito-idp:region:account-id:userpool/user-pool-id

Destructuring the Response

data AssociateWebACLResponse Source #

See: newAssociateWebACLResponse smart constructor.

Constructors

AssociateWebACLResponse' 

Fields

Instances

Instances details
Generic AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Associated Types

type Rep AssociateWebACLResponse :: Type -> Type #

Read AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Show AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

NFData AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

Methods

rnf :: AssociateWebACLResponse -> () #

Eq AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

type Rep AssociateWebACLResponse Source # 
Instance details

Defined in Amazonka.WAFV2.AssociateWebACL

type Rep AssociateWebACLResponse = D1 ('MetaData "AssociateWebACLResponse" "Amazonka.WAFV2.AssociateWebACL" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AssociateWebACLResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))

newAssociateWebACLResponse Source #

Create a value of AssociateWebACLResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:httpStatus:AssociateWebACLResponse', associateWebACLResponse_httpStatus - The response's http status code.

Response Lenses