github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/route53/resolverFirewallDomainList.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  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides a Route 53 Resolver DNS Firewall domain list resource.
    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/route53"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := route53.NewResolverFirewallDomainList(ctx, "example", &route53.ResolverFirewallDomainListArgs{
    32  //				Name: pulumi.String("example"),
    33  //			})
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  //
    44  // ## Import
    45  //
    46  // Using `pulumi import`, import  Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:
    47  //
    48  // ```sh
    49  // $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef
    50  // ```
    51  type ResolverFirewallDomainList struct {
    52  	pulumi.CustomResourceState
    53  
    54  	// The ARN (Amazon Resource Name) of the domain list.
    55  	Arn pulumi.StringOutput `pulumi:"arn"`
    56  	// A array of domains for the firewall domain list.
    57  	Domains pulumi.StringArrayOutput `pulumi:"domains"`
    58  	// A name that lets you identify the domain list, to manage and use it.
    59  	Name pulumi.StringOutput `pulumi:"name"`
    60  	// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    61  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    62  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    63  	//
    64  	// Deprecated: Please use `tags` instead.
    65  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    66  }
    67  
    68  // NewResolverFirewallDomainList registers a new resource with the given unique name, arguments, and options.
    69  func NewResolverFirewallDomainList(ctx *pulumi.Context,
    70  	name string, args *ResolverFirewallDomainListArgs, opts ...pulumi.ResourceOption) (*ResolverFirewallDomainList, error) {
    71  	if args == nil {
    72  		args = &ResolverFirewallDomainListArgs{}
    73  	}
    74  
    75  	opts = internal.PkgResourceDefaultOpts(opts)
    76  	var resource ResolverFirewallDomainList
    77  	err := ctx.RegisterResource("aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList", name, args, &resource, opts...)
    78  	if err != nil {
    79  		return nil, err
    80  	}
    81  	return &resource, nil
    82  }
    83  
    84  // GetResolverFirewallDomainList gets an existing ResolverFirewallDomainList resource's state with the given name, ID, and optional
    85  // state properties that are used to uniquely qualify the lookup (nil if not required).
    86  func GetResolverFirewallDomainList(ctx *pulumi.Context,
    87  	name string, id pulumi.IDInput, state *ResolverFirewallDomainListState, opts ...pulumi.ResourceOption) (*ResolverFirewallDomainList, error) {
    88  	var resource ResolverFirewallDomainList
    89  	err := ctx.ReadResource("aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList", name, id, state, &resource, opts...)
    90  	if err != nil {
    91  		return nil, err
    92  	}
    93  	return &resource, nil
    94  }
    95  
    96  // Input properties used for looking up and filtering ResolverFirewallDomainList resources.
    97  type resolverFirewallDomainListState struct {
    98  	// The ARN (Amazon Resource Name) of the domain list.
    99  	Arn *string `pulumi:"arn"`
   100  	// A array of domains for the firewall domain list.
   101  	Domains []string `pulumi:"domains"`
   102  	// A name that lets you identify the domain list, to manage and use it.
   103  	Name *string `pulumi:"name"`
   104  	// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   105  	Tags map[string]string `pulumi:"tags"`
   106  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   107  	//
   108  	// Deprecated: Please use `tags` instead.
   109  	TagsAll map[string]string `pulumi:"tagsAll"`
   110  }
   111  
   112  type ResolverFirewallDomainListState struct {
   113  	// The ARN (Amazon Resource Name) of the domain list.
   114  	Arn pulumi.StringPtrInput
   115  	// A array of domains for the firewall domain list.
   116  	Domains pulumi.StringArrayInput
   117  	// A name that lets you identify the domain list, to manage and use it.
   118  	Name pulumi.StringPtrInput
   119  	// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   120  	Tags pulumi.StringMapInput
   121  	// A 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 pulumi.StringMapInput
   125  }
   126  
   127  func (ResolverFirewallDomainListState) ElementType() reflect.Type {
   128  	return reflect.TypeOf((*resolverFirewallDomainListState)(nil)).Elem()
   129  }
   130  
   131  type resolverFirewallDomainListArgs struct {
   132  	// A array of domains for the firewall domain list.
   133  	Domains []string `pulumi:"domains"`
   134  	// A name that lets you identify the domain list, to manage and use it.
   135  	Name *string `pulumi:"name"`
   136  	// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   137  	Tags map[string]string `pulumi:"tags"`
   138  }
   139  
   140  // The set of arguments for constructing a ResolverFirewallDomainList resource.
   141  type ResolverFirewallDomainListArgs struct {
   142  	// A array of domains for the firewall domain list.
   143  	Domains pulumi.StringArrayInput
   144  	// A name that lets you identify the domain list, to manage and use it.
   145  	Name pulumi.StringPtrInput
   146  	// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   147  	Tags pulumi.StringMapInput
   148  }
   149  
   150  func (ResolverFirewallDomainListArgs) ElementType() reflect.Type {
   151  	return reflect.TypeOf((*resolverFirewallDomainListArgs)(nil)).Elem()
   152  }
   153  
   154  type ResolverFirewallDomainListInput interface {
   155  	pulumi.Input
   156  
   157  	ToResolverFirewallDomainListOutput() ResolverFirewallDomainListOutput
   158  	ToResolverFirewallDomainListOutputWithContext(ctx context.Context) ResolverFirewallDomainListOutput
   159  }
   160  
   161  func (*ResolverFirewallDomainList) ElementType() reflect.Type {
   162  	return reflect.TypeOf((**ResolverFirewallDomainList)(nil)).Elem()
   163  }
   164  
   165  func (i *ResolverFirewallDomainList) ToResolverFirewallDomainListOutput() ResolverFirewallDomainListOutput {
   166  	return i.ToResolverFirewallDomainListOutputWithContext(context.Background())
   167  }
   168  
   169  func (i *ResolverFirewallDomainList) ToResolverFirewallDomainListOutputWithContext(ctx context.Context) ResolverFirewallDomainListOutput {
   170  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallDomainListOutput)
   171  }
   172  
   173  // ResolverFirewallDomainListArrayInput is an input type that accepts ResolverFirewallDomainListArray and ResolverFirewallDomainListArrayOutput values.
   174  // You can construct a concrete instance of `ResolverFirewallDomainListArrayInput` via:
   175  //
   176  //	ResolverFirewallDomainListArray{ ResolverFirewallDomainListArgs{...} }
   177  type ResolverFirewallDomainListArrayInput interface {
   178  	pulumi.Input
   179  
   180  	ToResolverFirewallDomainListArrayOutput() ResolverFirewallDomainListArrayOutput
   181  	ToResolverFirewallDomainListArrayOutputWithContext(context.Context) ResolverFirewallDomainListArrayOutput
   182  }
   183  
   184  type ResolverFirewallDomainListArray []ResolverFirewallDomainListInput
   185  
   186  func (ResolverFirewallDomainListArray) ElementType() reflect.Type {
   187  	return reflect.TypeOf((*[]*ResolverFirewallDomainList)(nil)).Elem()
   188  }
   189  
   190  func (i ResolverFirewallDomainListArray) ToResolverFirewallDomainListArrayOutput() ResolverFirewallDomainListArrayOutput {
   191  	return i.ToResolverFirewallDomainListArrayOutputWithContext(context.Background())
   192  }
   193  
   194  func (i ResolverFirewallDomainListArray) ToResolverFirewallDomainListArrayOutputWithContext(ctx context.Context) ResolverFirewallDomainListArrayOutput {
   195  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallDomainListArrayOutput)
   196  }
   197  
   198  // ResolverFirewallDomainListMapInput is an input type that accepts ResolverFirewallDomainListMap and ResolverFirewallDomainListMapOutput values.
   199  // You can construct a concrete instance of `ResolverFirewallDomainListMapInput` via:
   200  //
   201  //	ResolverFirewallDomainListMap{ "key": ResolverFirewallDomainListArgs{...} }
   202  type ResolverFirewallDomainListMapInput interface {
   203  	pulumi.Input
   204  
   205  	ToResolverFirewallDomainListMapOutput() ResolverFirewallDomainListMapOutput
   206  	ToResolverFirewallDomainListMapOutputWithContext(context.Context) ResolverFirewallDomainListMapOutput
   207  }
   208  
   209  type ResolverFirewallDomainListMap map[string]ResolverFirewallDomainListInput
   210  
   211  func (ResolverFirewallDomainListMap) ElementType() reflect.Type {
   212  	return reflect.TypeOf((*map[string]*ResolverFirewallDomainList)(nil)).Elem()
   213  }
   214  
   215  func (i ResolverFirewallDomainListMap) ToResolverFirewallDomainListMapOutput() ResolverFirewallDomainListMapOutput {
   216  	return i.ToResolverFirewallDomainListMapOutputWithContext(context.Background())
   217  }
   218  
   219  func (i ResolverFirewallDomainListMap) ToResolverFirewallDomainListMapOutputWithContext(ctx context.Context) ResolverFirewallDomainListMapOutput {
   220  	return pulumi.ToOutputWithContext(ctx, i).(ResolverFirewallDomainListMapOutput)
   221  }
   222  
   223  type ResolverFirewallDomainListOutput struct{ *pulumi.OutputState }
   224  
   225  func (ResolverFirewallDomainListOutput) ElementType() reflect.Type {
   226  	return reflect.TypeOf((**ResolverFirewallDomainList)(nil)).Elem()
   227  }
   228  
   229  func (o ResolverFirewallDomainListOutput) ToResolverFirewallDomainListOutput() ResolverFirewallDomainListOutput {
   230  	return o
   231  }
   232  
   233  func (o ResolverFirewallDomainListOutput) ToResolverFirewallDomainListOutputWithContext(ctx context.Context) ResolverFirewallDomainListOutput {
   234  	return o
   235  }
   236  
   237  // The ARN (Amazon Resource Name) of the domain list.
   238  func (o ResolverFirewallDomainListOutput) Arn() pulumi.StringOutput {
   239  	return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   240  }
   241  
   242  // A array of domains for the firewall domain list.
   243  func (o ResolverFirewallDomainListOutput) Domains() pulumi.StringArrayOutput {
   244  	return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringArrayOutput { return v.Domains }).(pulumi.StringArrayOutput)
   245  }
   246  
   247  // A name that lets you identify the domain list, to manage and use it.
   248  func (o ResolverFirewallDomainListOutput) Name() pulumi.StringOutput {
   249  	return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   250  }
   251  
   252  // A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   253  func (o ResolverFirewallDomainListOutput) Tags() pulumi.StringMapOutput {
   254  	return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   255  }
   256  
   257  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   258  //
   259  // Deprecated: Please use `tags` instead.
   260  func (o ResolverFirewallDomainListOutput) TagsAll() pulumi.StringMapOutput {
   261  	return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   262  }
   263  
   264  type ResolverFirewallDomainListArrayOutput struct{ *pulumi.OutputState }
   265  
   266  func (ResolverFirewallDomainListArrayOutput) ElementType() reflect.Type {
   267  	return reflect.TypeOf((*[]*ResolverFirewallDomainList)(nil)).Elem()
   268  }
   269  
   270  func (o ResolverFirewallDomainListArrayOutput) ToResolverFirewallDomainListArrayOutput() ResolverFirewallDomainListArrayOutput {
   271  	return o
   272  }
   273  
   274  func (o ResolverFirewallDomainListArrayOutput) ToResolverFirewallDomainListArrayOutputWithContext(ctx context.Context) ResolverFirewallDomainListArrayOutput {
   275  	return o
   276  }
   277  
   278  func (o ResolverFirewallDomainListArrayOutput) Index(i pulumi.IntInput) ResolverFirewallDomainListOutput {
   279  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ResolverFirewallDomainList {
   280  		return vs[0].([]*ResolverFirewallDomainList)[vs[1].(int)]
   281  	}).(ResolverFirewallDomainListOutput)
   282  }
   283  
   284  type ResolverFirewallDomainListMapOutput struct{ *pulumi.OutputState }
   285  
   286  func (ResolverFirewallDomainListMapOutput) ElementType() reflect.Type {
   287  	return reflect.TypeOf((*map[string]*ResolverFirewallDomainList)(nil)).Elem()
   288  }
   289  
   290  func (o ResolverFirewallDomainListMapOutput) ToResolverFirewallDomainListMapOutput() ResolverFirewallDomainListMapOutput {
   291  	return o
   292  }
   293  
   294  func (o ResolverFirewallDomainListMapOutput) ToResolverFirewallDomainListMapOutputWithContext(ctx context.Context) ResolverFirewallDomainListMapOutput {
   295  	return o
   296  }
   297  
   298  func (o ResolverFirewallDomainListMapOutput) MapIndex(k pulumi.StringInput) ResolverFirewallDomainListOutput {
   299  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ResolverFirewallDomainList {
   300  		return vs[0].(map[string]*ResolverFirewallDomainList)[vs[1].(string)]
   301  	}).(ResolverFirewallDomainListOutput)
   302  }
   303  
   304  func init() {
   305  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallDomainListInput)(nil)).Elem(), &ResolverFirewallDomainList{})
   306  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallDomainListArrayInput)(nil)).Elem(), ResolverFirewallDomainListArray{})
   307  	pulumi.RegisterInputType(reflect.TypeOf((*ResolverFirewallDomainListMapInput)(nil)).Elem(), ResolverFirewallDomainListMap{})
   308  	pulumi.RegisterOutputType(ResolverFirewallDomainListOutput{})
   309  	pulumi.RegisterOutputType(ResolverFirewallDomainListArrayOutput{})
   310  	pulumi.RegisterOutputType(ResolverFirewallDomainListMapOutput{})
   311  }