github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/wafv2/webAcl.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package wafv2 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 type WebAcl struct { 16 pulumi.CustomResourceState 17 18 // The URL to use in SDK integrations with managed rule groups. 19 ApplicationIntegrationUrl pulumi.StringOutput `pulumi:"applicationIntegrationUrl"` 20 // The Amazon Resource Name (ARN) of the IP Set that this statement references. 21 Arn pulumi.StringOutput `pulumi:"arn"` 22 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 23 AssociationConfig WebAclAssociationConfigPtrOutput `pulumi:"associationConfig"` 24 // Web ACL capacity units (WCUs) currently being used by this web ACL. 25 Capacity pulumi.IntOutput `pulumi:"capacity"` 26 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 27 CaptchaConfig WebAclCaptchaConfigPtrOutput `pulumi:"captchaConfig"` 28 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 29 ChallengeConfig WebAclChallengeConfigPtrOutput `pulumi:"challengeConfig"` 30 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 31 CustomResponseBodies WebAclCustomResponseBodyArrayOutput `pulumi:"customResponseBodies"` 32 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 33 DefaultAction WebAclDefaultActionOutput `pulumi:"defaultAction"` 34 // Friendly description of the WebACL. 35 Description pulumi.StringPtrOutput `pulumi:"description"` 36 LockToken pulumi.StringOutput `pulumi:"lockToken"` 37 // Friendly name of the WebACL. 38 Name pulumi.StringOutput `pulumi:"name"` 39 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 40 Rules WebAclRuleArrayOutput `pulumi:"rules"` 41 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 42 Scope pulumi.StringOutput `pulumi:"scope"` 43 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 44 Tags pulumi.StringMapOutput `pulumi:"tags"` 45 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 46 // 47 // Deprecated: Please use `tags` instead. 48 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 49 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 50 TokenDomains pulumi.StringArrayOutput `pulumi:"tokenDomains"` 51 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 52 VisibilityConfig WebAclVisibilityConfigOutput `pulumi:"visibilityConfig"` 53 } 54 55 // NewWebAcl registers a new resource with the given unique name, arguments, and options. 56 func NewWebAcl(ctx *pulumi.Context, 57 name string, args *WebAclArgs, opts ...pulumi.ResourceOption) (*WebAcl, error) { 58 if args == nil { 59 return nil, errors.New("missing one or more required arguments") 60 } 61 62 if args.DefaultAction == nil { 63 return nil, errors.New("invalid value for required argument 'DefaultAction'") 64 } 65 if args.Scope == nil { 66 return nil, errors.New("invalid value for required argument 'Scope'") 67 } 68 if args.VisibilityConfig == nil { 69 return nil, errors.New("invalid value for required argument 'VisibilityConfig'") 70 } 71 opts = internal.PkgResourceDefaultOpts(opts) 72 var resource WebAcl 73 err := ctx.RegisterResource("aws:wafv2/webAcl:WebAcl", name, args, &resource, opts...) 74 if err != nil { 75 return nil, err 76 } 77 return &resource, nil 78 } 79 80 // GetWebAcl gets an existing WebAcl resource's state with the given name, ID, and optional 81 // state properties that are used to uniquely qualify the lookup (nil if not required). 82 func GetWebAcl(ctx *pulumi.Context, 83 name string, id pulumi.IDInput, state *WebAclState, opts ...pulumi.ResourceOption) (*WebAcl, error) { 84 var resource WebAcl 85 err := ctx.ReadResource("aws:wafv2/webAcl:WebAcl", name, id, state, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // Input properties used for looking up and filtering WebAcl resources. 93 type webAclState struct { 94 // The URL to use in SDK integrations with managed rule groups. 95 ApplicationIntegrationUrl *string `pulumi:"applicationIntegrationUrl"` 96 // The Amazon Resource Name (ARN) of the IP Set that this statement references. 97 Arn *string `pulumi:"arn"` 98 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 99 AssociationConfig *WebAclAssociationConfig `pulumi:"associationConfig"` 100 // Web ACL capacity units (WCUs) currently being used by this web ACL. 101 Capacity *int `pulumi:"capacity"` 102 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 103 CaptchaConfig *WebAclCaptchaConfig `pulumi:"captchaConfig"` 104 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 105 ChallengeConfig *WebAclChallengeConfig `pulumi:"challengeConfig"` 106 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 107 CustomResponseBodies []WebAclCustomResponseBody `pulumi:"customResponseBodies"` 108 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 109 DefaultAction *WebAclDefaultAction `pulumi:"defaultAction"` 110 // Friendly description of the WebACL. 111 Description *string `pulumi:"description"` 112 LockToken *string `pulumi:"lockToken"` 113 // Friendly name of the WebACL. 114 Name *string `pulumi:"name"` 115 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 116 Rules []WebAclRule `pulumi:"rules"` 117 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 118 Scope *string `pulumi:"scope"` 119 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 120 Tags map[string]string `pulumi:"tags"` 121 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 122 // 123 // Deprecated: Please use `tags` instead. 124 TagsAll map[string]string `pulumi:"tagsAll"` 125 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 126 TokenDomains []string `pulumi:"tokenDomains"` 127 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 128 VisibilityConfig *WebAclVisibilityConfig `pulumi:"visibilityConfig"` 129 } 130 131 type WebAclState struct { 132 // The URL to use in SDK integrations with managed rule groups. 133 ApplicationIntegrationUrl pulumi.StringPtrInput 134 // The Amazon Resource Name (ARN) of the IP Set that this statement references. 135 Arn pulumi.StringPtrInput 136 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 137 AssociationConfig WebAclAssociationConfigPtrInput 138 // Web ACL capacity units (WCUs) currently being used by this web ACL. 139 Capacity pulumi.IntPtrInput 140 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 141 CaptchaConfig WebAclCaptchaConfigPtrInput 142 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 143 ChallengeConfig WebAclChallengeConfigPtrInput 144 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 145 CustomResponseBodies WebAclCustomResponseBodyArrayInput 146 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 147 DefaultAction WebAclDefaultActionPtrInput 148 // Friendly description of the WebACL. 149 Description pulumi.StringPtrInput 150 LockToken pulumi.StringPtrInput 151 // Friendly name of the WebACL. 152 Name pulumi.StringPtrInput 153 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 154 Rules WebAclRuleArrayInput 155 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 156 Scope pulumi.StringPtrInput 157 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags pulumi.StringMapInput 159 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 160 // 161 // Deprecated: Please use `tags` instead. 162 TagsAll pulumi.StringMapInput 163 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 164 TokenDomains pulumi.StringArrayInput 165 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 166 VisibilityConfig WebAclVisibilityConfigPtrInput 167 } 168 169 func (WebAclState) ElementType() reflect.Type { 170 return reflect.TypeOf((*webAclState)(nil)).Elem() 171 } 172 173 type webAclArgs struct { 174 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 175 AssociationConfig *WebAclAssociationConfig `pulumi:"associationConfig"` 176 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 177 CaptchaConfig *WebAclCaptchaConfig `pulumi:"captchaConfig"` 178 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 179 ChallengeConfig *WebAclChallengeConfig `pulumi:"challengeConfig"` 180 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 181 CustomResponseBodies []WebAclCustomResponseBody `pulumi:"customResponseBodies"` 182 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 183 DefaultAction WebAclDefaultAction `pulumi:"defaultAction"` 184 // Friendly description of the WebACL. 185 Description *string `pulumi:"description"` 186 // Friendly name of the WebACL. 187 Name *string `pulumi:"name"` 188 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 189 Rules []WebAclRule `pulumi:"rules"` 190 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 191 Scope string `pulumi:"scope"` 192 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 193 Tags map[string]string `pulumi:"tags"` 194 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 195 TokenDomains []string `pulumi:"tokenDomains"` 196 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 197 VisibilityConfig WebAclVisibilityConfig `pulumi:"visibilityConfig"` 198 } 199 200 // The set of arguments for constructing a WebAcl resource. 201 type WebAclArgs struct { 202 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 203 AssociationConfig WebAclAssociationConfigPtrInput 204 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 205 CaptchaConfig WebAclCaptchaConfigPtrInput 206 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 207 ChallengeConfig WebAclChallengeConfigPtrInput 208 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 209 CustomResponseBodies WebAclCustomResponseBodyArrayInput 210 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 211 DefaultAction WebAclDefaultActionInput 212 // Friendly description of the WebACL. 213 Description pulumi.StringPtrInput 214 // Friendly name of the WebACL. 215 Name pulumi.StringPtrInput 216 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 217 Rules WebAclRuleArrayInput 218 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 219 Scope pulumi.StringInput 220 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 221 Tags pulumi.StringMapInput 222 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 223 TokenDomains pulumi.StringArrayInput 224 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 225 VisibilityConfig WebAclVisibilityConfigInput 226 } 227 228 func (WebAclArgs) ElementType() reflect.Type { 229 return reflect.TypeOf((*webAclArgs)(nil)).Elem() 230 } 231 232 type WebAclInput interface { 233 pulumi.Input 234 235 ToWebAclOutput() WebAclOutput 236 ToWebAclOutputWithContext(ctx context.Context) WebAclOutput 237 } 238 239 func (*WebAcl) ElementType() reflect.Type { 240 return reflect.TypeOf((**WebAcl)(nil)).Elem() 241 } 242 243 func (i *WebAcl) ToWebAclOutput() WebAclOutput { 244 return i.ToWebAclOutputWithContext(context.Background()) 245 } 246 247 func (i *WebAcl) ToWebAclOutputWithContext(ctx context.Context) WebAclOutput { 248 return pulumi.ToOutputWithContext(ctx, i).(WebAclOutput) 249 } 250 251 // WebAclArrayInput is an input type that accepts WebAclArray and WebAclArrayOutput values. 252 // You can construct a concrete instance of `WebAclArrayInput` via: 253 // 254 // WebAclArray{ WebAclArgs{...} } 255 type WebAclArrayInput interface { 256 pulumi.Input 257 258 ToWebAclArrayOutput() WebAclArrayOutput 259 ToWebAclArrayOutputWithContext(context.Context) WebAclArrayOutput 260 } 261 262 type WebAclArray []WebAclInput 263 264 func (WebAclArray) ElementType() reflect.Type { 265 return reflect.TypeOf((*[]*WebAcl)(nil)).Elem() 266 } 267 268 func (i WebAclArray) ToWebAclArrayOutput() WebAclArrayOutput { 269 return i.ToWebAclArrayOutputWithContext(context.Background()) 270 } 271 272 func (i WebAclArray) ToWebAclArrayOutputWithContext(ctx context.Context) WebAclArrayOutput { 273 return pulumi.ToOutputWithContext(ctx, i).(WebAclArrayOutput) 274 } 275 276 // WebAclMapInput is an input type that accepts WebAclMap and WebAclMapOutput values. 277 // You can construct a concrete instance of `WebAclMapInput` via: 278 // 279 // WebAclMap{ "key": WebAclArgs{...} } 280 type WebAclMapInput interface { 281 pulumi.Input 282 283 ToWebAclMapOutput() WebAclMapOutput 284 ToWebAclMapOutputWithContext(context.Context) WebAclMapOutput 285 } 286 287 type WebAclMap map[string]WebAclInput 288 289 func (WebAclMap) ElementType() reflect.Type { 290 return reflect.TypeOf((*map[string]*WebAcl)(nil)).Elem() 291 } 292 293 func (i WebAclMap) ToWebAclMapOutput() WebAclMapOutput { 294 return i.ToWebAclMapOutputWithContext(context.Background()) 295 } 296 297 func (i WebAclMap) ToWebAclMapOutputWithContext(ctx context.Context) WebAclMapOutput { 298 return pulumi.ToOutputWithContext(ctx, i).(WebAclMapOutput) 299 } 300 301 type WebAclOutput struct{ *pulumi.OutputState } 302 303 func (WebAclOutput) ElementType() reflect.Type { 304 return reflect.TypeOf((**WebAcl)(nil)).Elem() 305 } 306 307 func (o WebAclOutput) ToWebAclOutput() WebAclOutput { 308 return o 309 } 310 311 func (o WebAclOutput) ToWebAclOutputWithContext(ctx context.Context) WebAclOutput { 312 return o 313 } 314 315 // The URL to use in SDK integrations with managed rule groups. 316 func (o WebAclOutput) ApplicationIntegrationUrl() pulumi.StringOutput { 317 return o.ApplyT(func(v *WebAcl) pulumi.StringOutput { return v.ApplicationIntegrationUrl }).(pulumi.StringOutput) 318 } 319 320 // The Amazon Resource Name (ARN) of the IP Set that this statement references. 321 func (o WebAclOutput) Arn() pulumi.StringOutput { 322 return o.ApplyT(func(v *WebAcl) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 323 } 324 325 // Specifies custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details. 326 func (o WebAclOutput) AssociationConfig() WebAclAssociationConfigPtrOutput { 327 return o.ApplyT(func(v *WebAcl) WebAclAssociationConfigPtrOutput { return v.AssociationConfig }).(WebAclAssociationConfigPtrOutput) 328 } 329 330 // Web ACL capacity units (WCUs) currently being used by this web ACL. 331 func (o WebAclOutput) Capacity() pulumi.IntOutput { 332 return o.ApplyT(func(v *WebAcl) pulumi.IntOutput { return v.Capacity }).(pulumi.IntOutput) 333 } 334 335 // Specifies how AWS WAF should handle CAPTCHA evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details. 336 func (o WebAclOutput) CaptchaConfig() WebAclCaptchaConfigPtrOutput { 337 return o.ApplyT(func(v *WebAcl) WebAclCaptchaConfigPtrOutput { return v.CaptchaConfig }).(WebAclCaptchaConfigPtrOutput) 338 } 339 340 // Specifies how AWS WAF should handle Challenge evaluations on the ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details. 341 func (o WebAclOutput) ChallengeConfig() WebAclChallengeConfigPtrOutput { 342 return o.ApplyT(func(v *WebAcl) WebAclChallengeConfigPtrOutput { return v.ChallengeConfig }).(WebAclChallengeConfigPtrOutput) 343 } 344 345 // Defines custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details. 346 func (o WebAclOutput) CustomResponseBodies() WebAclCustomResponseBodyArrayOutput { 347 return o.ApplyT(func(v *WebAcl) WebAclCustomResponseBodyArrayOutput { return v.CustomResponseBodies }).(WebAclCustomResponseBodyArrayOutput) 348 } 349 350 // Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details. 351 func (o WebAclOutput) DefaultAction() WebAclDefaultActionOutput { 352 return o.ApplyT(func(v *WebAcl) WebAclDefaultActionOutput { return v.DefaultAction }).(WebAclDefaultActionOutput) 353 } 354 355 // Friendly description of the WebACL. 356 func (o WebAclOutput) Description() pulumi.StringPtrOutput { 357 return o.ApplyT(func(v *WebAcl) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 358 } 359 360 func (o WebAclOutput) LockToken() pulumi.StringOutput { 361 return o.ApplyT(func(v *WebAcl) pulumi.StringOutput { return v.LockToken }).(pulumi.StringOutput) 362 } 363 364 // Friendly name of the WebACL. 365 func (o WebAclOutput) Name() pulumi.StringOutput { 366 return o.ApplyT(func(v *WebAcl) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 367 } 368 369 // Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details. 370 func (o WebAclOutput) Rules() WebAclRuleArrayOutput { 371 return o.ApplyT(func(v *WebAcl) WebAclRuleArrayOutput { return v.Rules }).(WebAclRuleArrayOutput) 372 } 373 374 // Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. 375 func (o WebAclOutput) Scope() pulumi.StringOutput { 376 return o.ApplyT(func(v *WebAcl) pulumi.StringOutput { return v.Scope }).(pulumi.StringOutput) 377 } 378 379 // Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 380 func (o WebAclOutput) Tags() pulumi.StringMapOutput { 381 return o.ApplyT(func(v *WebAcl) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 382 } 383 384 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 385 // 386 // Deprecated: Please use `tags` instead. 387 func (o WebAclOutput) TagsAll() pulumi.StringMapOutput { 388 return o.ApplyT(func(v *WebAcl) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 389 } 390 391 // Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains. 392 func (o WebAclOutput) TokenDomains() pulumi.StringArrayOutput { 393 return o.ApplyT(func(v *WebAcl) pulumi.StringArrayOutput { return v.TokenDomains }).(pulumi.StringArrayOutput) 394 } 395 396 // Defines and enables Amazon CloudWatch metrics and web request sample collection. See `visibilityConfig` below for details. 397 func (o WebAclOutput) VisibilityConfig() WebAclVisibilityConfigOutput { 398 return o.ApplyT(func(v *WebAcl) WebAclVisibilityConfigOutput { return v.VisibilityConfig }).(WebAclVisibilityConfigOutput) 399 } 400 401 type WebAclArrayOutput struct{ *pulumi.OutputState } 402 403 func (WebAclArrayOutput) ElementType() reflect.Type { 404 return reflect.TypeOf((*[]*WebAcl)(nil)).Elem() 405 } 406 407 func (o WebAclArrayOutput) ToWebAclArrayOutput() WebAclArrayOutput { 408 return o 409 } 410 411 func (o WebAclArrayOutput) ToWebAclArrayOutputWithContext(ctx context.Context) WebAclArrayOutput { 412 return o 413 } 414 415 func (o WebAclArrayOutput) Index(i pulumi.IntInput) WebAclOutput { 416 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *WebAcl { 417 return vs[0].([]*WebAcl)[vs[1].(int)] 418 }).(WebAclOutput) 419 } 420 421 type WebAclMapOutput struct{ *pulumi.OutputState } 422 423 func (WebAclMapOutput) ElementType() reflect.Type { 424 return reflect.TypeOf((*map[string]*WebAcl)(nil)).Elem() 425 } 426 427 func (o WebAclMapOutput) ToWebAclMapOutput() WebAclMapOutput { 428 return o 429 } 430 431 func (o WebAclMapOutput) ToWebAclMapOutputWithContext(ctx context.Context) WebAclMapOutput { 432 return o 433 } 434 435 func (o WebAclMapOutput) MapIndex(k pulumi.StringInput) WebAclOutput { 436 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *WebAcl { 437 return vs[0].(map[string]*WebAcl)[vs[1].(string)] 438 }).(WebAclOutput) 439 } 440 441 func init() { 442 pulumi.RegisterInputType(reflect.TypeOf((*WebAclInput)(nil)).Elem(), &WebAcl{}) 443 pulumi.RegisterInputType(reflect.TypeOf((*WebAclArrayInput)(nil)).Elem(), WebAclArray{}) 444 pulumi.RegisterInputType(reflect.TypeOf((*WebAclMapInput)(nil)).Elem(), WebAclMap{}) 445 pulumi.RegisterOutputType(WebAclOutput{}) 446 pulumi.RegisterOutputType(WebAclArrayOutput{}) 447 pulumi.RegisterOutputType(WebAclMapOutput{}) 448 }