github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/route53/resolverFirewallRule.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 route53
     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  // Provides a Route 53 Resolver DNS Firewall rule resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			example, err := route53.NewResolverFirewallDomainList(ctx, "example", &route53.ResolverFirewallDomainListArgs{
    33  //				Name: pulumi.String("example"),
    34  //				Domains: pulumi.StringArray{
    35  //					pulumi.String("example.com"),
    36  //				},
    37  //				Tags: nil,
    38  //			})
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			exampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, "example", &route53.ResolverFirewallRuleGroupArgs{
    43  //				Name: pulumi.String("example"),
    44  //				Tags: nil,
    45  //			})
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			_, err = route53.NewResolverFirewallRule(ctx, "example", &route53.ResolverFirewallRuleArgs{
    50  //				Name:                 pulumi.String("example"),
    51  //				Action:               pulumi.String("BLOCK"),
    52  //				BlockOverrideDnsType: pulumi.String("CNAME"),
    53  //				BlockOverrideDomain:  pulumi.String("example.com"),
    54  //				BlockOverrideTtl:     pulumi.Int(1),
    55  //				BlockResponse:        pulumi.String("OVERRIDE"),
    56  //				FirewallDomainListId: example.ID(),
    57  //				FirewallRuleGroupId:  exampleResolverFirewallRuleGroup.ID(),
    58  //				Priority:             pulumi.Int(100),
    59  //			})
    60  //			if err != nil {
    61  //				return err
    62  //			}
    63  //			return nil
    64  //		})
    65  //	}
    66  //
    67  // ```
    68  // <!--End PulumiCodeChooser -->
    69  //
    70  // ## Import
    71  //
    72  // Using `pulumi import`, import  Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:
    73  //
    74  // ```sh
    75  // $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef
    76  // ```
    77  type ResolverFirewallRule struct {
    78  	pulumi.CustomResourceState
    79  
    80  	// The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
    81  	Action pulumi.StringOutput `pulumi:"action"`
    82  	// The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
    83  	BlockOverrideDnsType pulumi.StringPtrOutput `pulumi:"blockOverrideDnsType"`
    84  	// The custom DNS record to send back in response to the query.
    85  	BlockOverrideDomain pulumi.StringPtrOutput `pulumi:"blockOverrideDomain"`
    86  	// The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
    87  	BlockOverrideTtl pulumi.IntPtrOutput `pulumi:"blockOverrideTtl"`
    88  	// The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
    89  	BlockResponse pulumi.StringPtrOutput `pulumi:"blockResponse"`
    90  	// The ID of the domain list that you want to use in the rule.
    91  	FirewallDomainListId pulumi.StringOutput `pulumi:"firewallDomainListId"`
    92  	// The unique identifier of the firewall rule group where you want to create the rule.
    93  	FirewallRuleGroupId pulumi.StringOutput `pulumi:"firewallRuleGroupId"`
    94  	// A name that lets you identify the rule, to manage and use it.
    95  	Name pulumi.StringOutput `pulumi:"name"`
    96  	// The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
    97  	Priority pulumi.IntOutput `pulumi:"priority"`
    98  }
    99  
   100  // NewResolverFirewallRule registers a new resource with the given unique name, arguments, and options.
   101  func NewResolverFirewallRule(ctx *pulumi.Context,
   102  	name string, args *ResolverFirewallRuleArgs, opts ...pulumi.ResourceOption) (*ResolverFirewallRule, error) {
   103  	if args == nil {
   104  		return nil, errors.New("missing one or more required arguments")
   105  	}
   106  
   107  	if args.Action == nil {
   108  		return nil, errors.New("invalid value for required argument 'Action'")
   109  	}
   110  	if args.FirewallDomainListId == nil {
   111  		return nil, errors.New("invalid value for required argument 'FirewallDomainListId'")
   112  	}
   113  	if args.FirewallRuleGroupId == nil {
   114  		return nil, errors.New("invalid value for required argument 'FirewallRuleGroupId'")
   115  	}
   116  	if args.Priority == nil {
   117  		return nil, errors.New("invalid value for required argument 'Priority'")
   118  	}
   119  	opts = internal.PkgResourceDefaultOpts(opts)
   120  	var resource ResolverFirewallRule
   121  	err := ctx.RegisterResource("aws:route53/resolverFirewallRule:ResolverFirewallRule", name, args, &resource, opts...)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &resource, nil
   126  }
   127  
   128  // GetResolverFirewallRule gets an existing ResolverFirewallRule resource's state with the given name, ID, and optional
   129  // state properties that are used to uniquely qualify the lookup (nil if not required).
   130  func GetResolverFirewallRule(ctx *pulumi.Context,
   131  	name string, id pulumi.IDInput, state *ResolverFirewallRuleState, opts ...pulumi.ResourceOption) (*ResolverFirewallRule, error) {
   132  	var resource ResolverFirewallRule
   133  	err := ctx.ReadResource("aws:route53/resolverFirewallRule:ResolverFirewallRule", name, id, state, &resource, opts...)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &resource, nil
   138  }
   139  
   140  // Input properties used for looking up and filtering ResolverFirewallRule resources.
   141  type resolverFirewallRuleState struct {
   142  	// The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
   143  	Action *string `pulumi:"action"`
   144  	// The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
   145  	BlockOverrideDnsType *string `pulumi:"blockOverrideDnsType"`
   146  	// The custom DNS record to send back in response to the query.
   147  	BlockOverrideDomain *string `pulumi:"blockOverrideDomain"`
   148  	// The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
   149  	BlockOverrideTtl *int `pulumi:"blockOverrideTtl"`
   150  	// The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
   151  	BlockResponse *string `pulumi:"blockResponse"`
   152  	// The ID of the domain list that you want to use in the rule.
   153  	FirewallDomainListId *string `pulumi:"firewallDomainListId"`
   154  	// The unique identifier of the firewall rule group where you want to create the rule.
   155  	FirewallRuleGroupId *string `pulumi:"firewallRuleGroupId"`
   156  	// A name that lets you identify the rule, to manage and use it.
   157  	Name *string `pulumi:"name"`
   158  	// The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
   159  	Priority *int `pulumi:"priority"`
   160  }
   161  
   162  type ResolverFirewallRuleState struct {
   163  	// The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
   164  	Action pulumi.StringPtrInput
   165  	// The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
   166  	BlockOverrideDnsType pulumi.StringPtrInput
   167  	// The custom DNS record to send back in response to the query.
   168  	BlockOverrideDomain pulumi.StringPtrInput
   169  	// The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
   170  	BlockOverrideTtl pulumi.IntPtrInput
   171  	// The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
   172  	BlockResponse pulumi.StringPtrInput
   173  	// The ID of the domain list that you want to use in the rule.
   174  	FirewallDomainListId pulumi.StringPtrInput
   175  	// The unique identifier of the firewall rule group where you want to create the rule.
   176  	FirewallRuleGroupId pulumi.StringPtrInput
   177  	// A name that lets you identify the rule, to manage and use it.
   178  	Name pulumi.StringPtrInput
   179  	// The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
   180  	Priority pulumi.IntPtrInput
   181  }
   182  
   183  func (ResolverFirewallRuleState) ElementType() reflect.Type {
   184  	return reflect.TypeOf((*resolverFirewallRuleState)(nil)).Elem()
   185  }
   186  
   187  type resolverFirewallRuleArgs struct {
   188  	// The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
   189  	Action string `pulumi:"action"`
   190  	// The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
   191  	BlockOverrideDnsType *string `pulumi:"blockOverrideDnsType"`
   192  	// The custom DNS record to send back in response to the query.
   193  	BlockOverrideDomain *string `pulumi:"blockOverrideDomain"`
   194  	// The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
   195  	BlockOverrideTtl *int `pulumi:"blockOverrideTtl"`
   196  	// The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
   197  	BlockResponse *string `pulumi:"blockResponse"`
   198  	// The ID of the domain list that you want to use in the rule.
   199  	FirewallDomainListId string `pulumi:"firewallDomainListId"`
   200  	// The unique identifier of the firewall rule group where you want to create the rule.
   201  	FirewallRuleGroupId string `pulumi:"firewallRuleGroupId"`
   202  	// A name that lets you identify the rule, to manage and use it.
   203  	Name *string `pulumi:"name"`
   204  	// The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
   205  	Priority int `pulumi:"priority"`
   206  }
   207  
   208  // The set of arguments for constructing a ResolverFirewallRule resource.
   209  type ResolverFirewallRuleArgs struct {
   210  	// The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
   211  	Action pulumi.StringInput
   212  	// The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
   213  	BlockOverrideDnsType pulumi.StringPtrInput
   214  	// The custom DNS record to send back in response to the query.
   215  	BlockOverrideDomain pulumi.StringPtrInput
   216  	// The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
   217  	BlockOverrideTtl pulumi.IntPtrInput
   218  	// The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
   219  	BlockResponse pulumi.StringPtrInput
   220  	// The ID of the domain list that you want to use in the rule.
   221  	FirewallDomainListId pulumi.StringInput
   222  	// The unique identifier of the firewall rule group where you want to create the rule.
   223  	FirewallRuleGroupId pulumi.StringInput
   224  	// A name that lets you identify the rule, to manage and use it.
   225  	Name pulumi.StringPtrInput
   226  	// The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
   227  	Priority pulumi.IntInput
   228  }
   229  
   230  func (ResolverFirewallRuleArgs) ElementType() reflect.Type {
   231  	return reflect.TypeOf((*resolverFirewallRuleArgs)(nil)).Elem()
   232  }
   233  
   234  type ResolverFirewallRuleInput interface {
   235  	pulumi.Input
   236  
   237  	ToResolverFirewallRuleOutput() ResolverFirewallRuleOutput
   238  	ToResolverFirewallRuleOutputWithContext(ctx context.Context) ResolverFirewallRuleOutput
   239  }
   240  
   241  func (*ResolverFirewallRule) ElementType() reflect.Type {
   242  	return reflect.TypeOf((**ResolverFirewallRule)(nil)).Elem()
   243  }
   244  
   245  func (i *ResolverFirewallRule) ToResolverFirewallRuleOutput() ResolverFirewallRuleOutput {
   246  	return i.ToResolverFirewallRuleOutputWithContext(context.Background())
   247  }
   248  
   249  func (i *ResolverFirewallRule) ToResolverFirewallRuleOutputWithContext(ctx context.Context) ResolverFirewallRuleOutput {
   250  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallRuleOutput)
   251  }
   252  
   253  // ResolverFirewallRuleArrayInput is an input type that accepts ResolverFirewallRuleArray and ResolverFirewallRuleArrayOutput values.
   254  // You can construct a concrete instance of `ResolverFirewallRuleArrayInput` via:
   255  //
   256  //	ResolverFirewallRuleArray{ ResolverFirewallRuleArgs{...} }
   257  type ResolverFirewallRuleArrayInput interface {
   258  	pulumi.Input
   259  
   260  	ToResolverFirewallRuleArrayOutput() ResolverFirewallRuleArrayOutput
   261  	ToResolverFirewallRuleArrayOutputWithContext(context.Context) ResolverFirewallRuleArrayOutput
   262  }
   263  
   264  type ResolverFirewallRuleArray []ResolverFirewallRuleInput
   265  
   266  func (ResolverFirewallRuleArray) ElementType() reflect.Type {
   267  	return reflect.TypeOf((*[]*ResolverFirewallRule)(nil)).Elem()
   268  }
   269  
   270  func (i ResolverFirewallRuleArray) ToResolverFirewallRuleArrayOutput() ResolverFirewallRuleArrayOutput {
   271  	return i.ToResolverFirewallRuleArrayOutputWithContext(context.Background())
   272  }
   273  
   274  func (i ResolverFirewallRuleArray) ToResolverFirewallRuleArrayOutputWithContext(ctx context.Context) ResolverFirewallRuleArrayOutput {
   275  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallRuleArrayOutput)
   276  }
   277  
   278  // ResolverFirewallRuleMapInput is an input type that accepts ResolverFirewallRuleMap and ResolverFirewallRuleMapOutput values.
   279  // You can construct a concrete instance of `ResolverFirewallRuleMapInput` via:
   280  //
   281  //	ResolverFirewallRuleMap{ "key": ResolverFirewallRuleArgs{...} }
   282  type ResolverFirewallRuleMapInput interface {
   283  	pulumi.Input
   284  
   285  	ToResolverFirewallRuleMapOutput() ResolverFirewallRuleMapOutput
   286  	ToResolverFirewallRuleMapOutputWithContext(context.Context) ResolverFirewallRuleMapOutput
   287  }
   288  
   289  type ResolverFirewallRuleMap map[string]ResolverFirewallRuleInput
   290  
   291  func (ResolverFirewallRuleMap) ElementType() reflect.Type {
   292  	return reflect.TypeOf((*map[string]*ResolverFirewallRule)(nil)).Elem()
   293  }
   294  
   295  func (i ResolverFirewallRuleMap) ToResolverFirewallRuleMapOutput() ResolverFirewallRuleMapOutput {
   296  	return i.ToResolverFirewallRuleMapOutputWithContext(context.Background())
   297  }
   298  
   299  func (i ResolverFirewallRuleMap) ToResolverFirewallRuleMapOutputWithContext(ctx context.Context) ResolverFirewallRuleMapOutput {
   300  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallRuleMapOutput)
   301  }
   302  
   303  type ResolverFirewallRuleOutput struct{ *pulumi.OutputState }
   304  
   305  func (ResolverFirewallRuleOutput) ElementType() reflect.Type {
   306  	return reflect.TypeOf((**ResolverFirewallRule)(nil)).Elem()
   307  }
   308  
   309  func (o ResolverFirewallRuleOutput) ToResolverFirewallRuleOutput() ResolverFirewallRuleOutput {
   310  	return o
   311  }
   312  
   313  func (o ResolverFirewallRuleOutput) ToResolverFirewallRuleOutputWithContext(ctx context.Context) ResolverFirewallRuleOutput {
   314  	return o
   315  }
   316  
   317  // The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
   318  func (o ResolverFirewallRuleOutput) Action() pulumi.StringOutput {
   319  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput)
   320  }
   321  
   322  // The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
   323  func (o ResolverFirewallRuleOutput) BlockOverrideDnsType() pulumi.StringPtrOutput {
   324  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringPtrOutput { return v.BlockOverrideDnsType }).(pulumi.StringPtrOutput)
   325  }
   326  
   327  // The custom DNS record to send back in response to the query.
   328  func (o ResolverFirewallRuleOutput) BlockOverrideDomain() pulumi.StringPtrOutput {
   329  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringPtrOutput { return v.BlockOverrideDomain }).(pulumi.StringPtrOutput)
   330  }
   331  
   332  // The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
   333  func (o ResolverFirewallRuleOutput) BlockOverrideTtl() pulumi.IntPtrOutput {
   334  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.IntPtrOutput { return v.BlockOverrideTtl }).(pulumi.IntPtrOutput)
   335  }
   336  
   337  // The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
   338  func (o ResolverFirewallRuleOutput) BlockResponse() pulumi.StringPtrOutput {
   339  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringPtrOutput { return v.BlockResponse }).(pulumi.StringPtrOutput)
   340  }
   341  
   342  // The ID of the domain list that you want to use in the rule.
   343  func (o ResolverFirewallRuleOutput) FirewallDomainListId() pulumi.StringOutput {
   344  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringOutput { return v.FirewallDomainListId }).(pulumi.StringOutput)
   345  }
   346  
   347  // The unique identifier of the firewall rule group where you want to create the rule.
   348  func (o ResolverFirewallRuleOutput) FirewallRuleGroupId() pulumi.StringOutput {
   349  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringOutput { return v.FirewallRuleGroupId }).(pulumi.StringOutput)
   350  }
   351  
   352  // A name that lets you identify the rule, to manage and use it.
   353  func (o ResolverFirewallRuleOutput) Name() pulumi.StringOutput {
   354  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   355  }
   356  
   357  // The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
   358  func (o ResolverFirewallRuleOutput) Priority() pulumi.IntOutput {
   359  	return o.ApplyT(func(v *ResolverFirewallRule) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput)
   360  }
   361  
   362  type ResolverFirewallRuleArrayOutput struct{ *pulumi.OutputState }
   363  
   364  func (ResolverFirewallRuleArrayOutput) ElementType() reflect.Type {
   365  	return reflect.TypeOf((*[]*ResolverFirewallRule)(nil)).Elem()
   366  }
   367  
   368  func (o ResolverFirewallRuleArrayOutput) ToResolverFirewallRuleArrayOutput() ResolverFirewallRuleArrayOutput {
   369  	return o
   370  }
   371  
   372  func (o ResolverFirewallRuleArrayOutput) ToResolverFirewallRuleArrayOutputWithContext(ctx context.Context) ResolverFirewallRuleArrayOutput {
   373  	return o
   374  }
   375  
   376  func (o ResolverFirewallRuleArrayOutput) Index(i pulumi.IntInput) ResolverFirewallRuleOutput {
   377  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ResolverFirewallRule {
   378  		return vs[0].([]*ResolverFirewallRule)[vs[1].(int)]
   379  	}).(ResolverFirewallRuleOutput)
   380  }
   381  
   382  type ResolverFirewallRuleMapOutput struct{ *pulumi.OutputState }
   383  
   384  func (ResolverFirewallRuleMapOutput) ElementType() reflect.Type {
   385  	return reflect.TypeOf((*map[string]*ResolverFirewallRule)(nil)).Elem()
   386  }
   387  
   388  func (o ResolverFirewallRuleMapOutput) ToResolverFirewallRuleMapOutput() ResolverFirewallRuleMapOutput {
   389  	return o
   390  }
   391  
   392  func (o ResolverFirewallRuleMapOutput) ToResolverFirewallRuleMapOutputWithContext(ctx context.Context) ResolverFirewallRuleMapOutput {
   393  	return o
   394  }
   395  
   396  func (o ResolverFirewallRuleMapOutput) MapIndex(k pulumi.StringInput) ResolverFirewallRuleOutput {
   397  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ResolverFirewallRule {
   398  		return vs[0].(map[string]*ResolverFirewallRule)[vs[1].(string)]
   399  	}).(ResolverFirewallRuleOutput)
   400  }
   401  
   402  func init() {
   403  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallRuleInput)(nil)).Elem(), &ResolverFirewallRule{})
   404  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallRuleArrayInput)(nil)).Elem(), ResolverFirewallRuleArray{})
   405  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallRuleMapInput)(nil)).Elem(), ResolverFirewallRuleMap{})
   406  	pulumi.RegisterOutputType(ResolverFirewallRuleOutput{})
   407  	pulumi.RegisterOutputType(ResolverFirewallRuleArrayOutput{})
   408  	pulumi.RegisterOutputType(ResolverFirewallRuleMapOutput{})
   409  }