github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/waf/getSubscribedRuleGroup.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 waf 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // `waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first). 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // byName, err := waf.GetSubscribedRuleGroup(ctx, &waf.GetSubscribedRuleGroupArgs{ 32 // Name: pulumi.StringRef("F5 Bot Detection Signatures For AWS WAF"), 33 // }, nil) 34 // if err != nil { 35 // return err 36 // } 37 // byMetricName, err := waf.GetSubscribedRuleGroup(ctx, &waf.GetSubscribedRuleGroupArgs{ 38 // MetricName: pulumi.StringRef("F5BotDetectionSignatures"), 39 // }, nil) 40 // if err != nil { 41 // return err 42 // } 43 // _, err = waf.NewWebAcl(ctx, "acl", &waf.WebAclArgs{ 44 // Rules: waf.WebAclRuleArray{ 45 // &waf.WebAclRuleArgs{ 46 // Priority: pulumi.Int(1), 47 // RuleId: pulumi.String(byName.Id), 48 // Type: pulumi.String("GROUP"), 49 // }, 50 // &waf.WebAclRuleArgs{ 51 // Priority: pulumi.Int(2), 52 // RuleId: pulumi.String(byMetricName.Id), 53 // Type: pulumi.String("GROUP"), 54 // }, 55 // }, 56 // }) 57 // if err != nil { 58 // return err 59 // } 60 // return nil 61 // }) 62 // } 63 // 64 // ``` 65 // <!--End PulumiCodeChooser --> 66 func GetSubscribedRuleGroup(ctx *pulumi.Context, args *GetSubscribedRuleGroupArgs, opts ...pulumi.InvokeOption) (*GetSubscribedRuleGroupResult, error) { 67 opts = internal.PkgInvokeDefaultOpts(opts) 68 var rv GetSubscribedRuleGroupResult 69 err := ctx.Invoke("aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup", args, &rv, opts...) 70 if err != nil { 71 return nil, err 72 } 73 return &rv, nil 74 } 75 76 // A collection of arguments for invoking getSubscribedRuleGroup. 77 type GetSubscribedRuleGroupArgs struct { 78 // Name of the WAF rule group. 79 MetricName *string `pulumi:"metricName"` 80 // Name of the WAF rule group. 81 Name *string `pulumi:"name"` 82 } 83 84 // A collection of values returned by getSubscribedRuleGroup. 85 type GetSubscribedRuleGroupResult struct { 86 // The provider-assigned unique ID for this managed resource. 87 Id string `pulumi:"id"` 88 MetricName *string `pulumi:"metricName"` 89 Name *string `pulumi:"name"` 90 } 91 92 func GetSubscribedRuleGroupOutput(ctx *pulumi.Context, args GetSubscribedRuleGroupOutputArgs, opts ...pulumi.InvokeOption) GetSubscribedRuleGroupResultOutput { 93 return pulumi.ToOutputWithContext(context.Background(), args). 94 ApplyT(func(v interface{}) (GetSubscribedRuleGroupResult, error) { 95 args := v.(GetSubscribedRuleGroupArgs) 96 r, err := GetSubscribedRuleGroup(ctx, &args, opts...) 97 var s GetSubscribedRuleGroupResult 98 if r != nil { 99 s = *r 100 } 101 return s, err 102 }).(GetSubscribedRuleGroupResultOutput) 103 } 104 105 // A collection of arguments for invoking getSubscribedRuleGroup. 106 type GetSubscribedRuleGroupOutputArgs struct { 107 // Name of the WAF rule group. 108 MetricName pulumi.StringPtrInput `pulumi:"metricName"` 109 // Name of the WAF rule group. 110 Name pulumi.StringPtrInput `pulumi:"name"` 111 } 112 113 func (GetSubscribedRuleGroupOutputArgs) ElementType() reflect.Type { 114 return reflect.TypeOf((*GetSubscribedRuleGroupArgs)(nil)).Elem() 115 } 116 117 // A collection of values returned by getSubscribedRuleGroup. 118 type GetSubscribedRuleGroupResultOutput struct{ *pulumi.OutputState } 119 120 func (GetSubscribedRuleGroupResultOutput) ElementType() reflect.Type { 121 return reflect.TypeOf((*GetSubscribedRuleGroupResult)(nil)).Elem() 122 } 123 124 func (o GetSubscribedRuleGroupResultOutput) ToGetSubscribedRuleGroupResultOutput() GetSubscribedRuleGroupResultOutput { 125 return o 126 } 127 128 func (o GetSubscribedRuleGroupResultOutput) ToGetSubscribedRuleGroupResultOutputWithContext(ctx context.Context) GetSubscribedRuleGroupResultOutput { 129 return o 130 } 131 132 // The provider-assigned unique ID for this managed resource. 133 func (o GetSubscribedRuleGroupResultOutput) Id() pulumi.StringOutput { 134 return o.ApplyT(func(v GetSubscribedRuleGroupResult) string { return v.Id }).(pulumi.StringOutput) 135 } 136 137 func (o GetSubscribedRuleGroupResultOutput) MetricName() pulumi.StringPtrOutput { 138 return o.ApplyT(func(v GetSubscribedRuleGroupResult) *string { return v.MetricName }).(pulumi.StringPtrOutput) 139 } 140 141 func (o GetSubscribedRuleGroupResultOutput) Name() pulumi.StringPtrOutput { 142 return o.ApplyT(func(v GetSubscribedRuleGroupResult) *string { return v.Name }).(pulumi.StringPtrOutput) 143 } 144 145 func init() { 146 pulumi.RegisterOutputType(GetSubscribedRuleGroupResultOutput{}) 147 }