github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ses/receiptRule.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 ses
     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 an SES receipt 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/ses"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			// Add a header to the email and store it in S3
    33  //			_, err := ses.NewReceiptRule(ctx, "store", &ses.ReceiptRuleArgs{
    34  //				Name:        pulumi.String("store"),
    35  //				RuleSetName: pulumi.String("default-rule-set"),
    36  //				Recipients: pulumi.StringArray{
    37  //					pulumi.String("karen@example.com"),
    38  //				},
    39  //				Enabled:     pulumi.Bool(true),
    40  //				ScanEnabled: pulumi.Bool(true),
    41  //				AddHeaderActions: ses.ReceiptRuleAddHeaderActionArray{
    42  //					&ses.ReceiptRuleAddHeaderActionArgs{
    43  //						HeaderName:  pulumi.String("Custom-Header"),
    44  //						HeaderValue: pulumi.String("Added by SES"),
    45  //						Position:    pulumi.Int(1),
    46  //					},
    47  //				},
    48  //				S3Actions: ses.ReceiptRuleS3ActionArray{
    49  //					&ses.ReceiptRuleS3ActionArgs{
    50  //						BucketName: pulumi.String("emails"),
    51  //						Position:   pulumi.Int(2),
    52  //					},
    53  //				},
    54  //			})
    55  //			if err != nil {
    56  //				return err
    57  //			}
    58  //			return nil
    59  //		})
    60  //	}
    61  //
    62  // ```
    63  // <!--End PulumiCodeChooser -->
    64  //
    65  // ## Import
    66  //
    67  // Using `pulumi import`, import SES receipt rules using the ruleset name and rule name separated by `:`. For example:
    68  //
    69  // ```sh
    70  // $ pulumi import aws:ses/receiptRule:ReceiptRule my_rule my_rule_set:my_rule
    71  // ```
    72  type ReceiptRule struct {
    73  	pulumi.CustomResourceState
    74  
    75  	// A list of Add Header Action blocks. Documented below.
    76  	AddHeaderActions ReceiptRuleAddHeaderActionArrayOutput `pulumi:"addHeaderActions"`
    77  	// The name of the rule to place this rule after
    78  	After pulumi.StringPtrOutput `pulumi:"after"`
    79  	// The SES receipt rule ARN.
    80  	Arn pulumi.StringOutput `pulumi:"arn"`
    81  	// A list of Bounce Action blocks. Documented below.
    82  	BounceActions ReceiptRuleBounceActionArrayOutput `pulumi:"bounceActions"`
    83  	// If true, the rule will be enabled
    84  	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
    85  	// A list of Lambda Action blocks. Documented below.
    86  	LambdaActions ReceiptRuleLambdaActionArrayOutput `pulumi:"lambdaActions"`
    87  	// The name of the rule
    88  	Name pulumi.StringOutput `pulumi:"name"`
    89  	// A list of email addresses
    90  	Recipients pulumi.StringArrayOutput `pulumi:"recipients"`
    91  	// The name of the rule set
    92  	RuleSetName pulumi.StringOutput `pulumi:"ruleSetName"`
    93  	// A list of S3 Action blocks. Documented below.
    94  	S3Actions ReceiptRuleS3ActionArrayOutput `pulumi:"s3Actions"`
    95  	// If true, incoming emails will be scanned for spam and viruses
    96  	ScanEnabled pulumi.BoolPtrOutput `pulumi:"scanEnabled"`
    97  	// A list of SNS Action blocks. Documented below.
    98  	SnsActions ReceiptRuleSnsActionArrayOutput `pulumi:"snsActions"`
    99  	// A list of Stop Action blocks. Documented below.
   100  	StopActions ReceiptRuleStopActionArrayOutput `pulumi:"stopActions"`
   101  	// `Require` or `Optional`
   102  	TlsPolicy pulumi.StringOutput `pulumi:"tlsPolicy"`
   103  	// A list of WorkMail Action blocks. Documented below.
   104  	WorkmailActions ReceiptRuleWorkmailActionArrayOutput `pulumi:"workmailActions"`
   105  }
   106  
   107  // NewReceiptRule registers a new resource with the given unique name, arguments, and options.
   108  func NewReceiptRule(ctx *pulumi.Context,
   109  	name string, args *ReceiptRuleArgs, opts ...pulumi.ResourceOption) (*ReceiptRule, error) {
   110  	if args == nil {
   111  		return nil, errors.New("missing one or more required arguments")
   112  	}
   113  
   114  	if args.RuleSetName == nil {
   115  		return nil, errors.New("invalid value for required argument 'RuleSetName'")
   116  	}
   117  	opts = internal.PkgResourceDefaultOpts(opts)
   118  	var resource ReceiptRule
   119  	err := ctx.RegisterResource("aws:ses/receiptRule:ReceiptRule", name, args, &resource, opts...)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &resource, nil
   124  }
   125  
   126  // GetReceiptRule gets an existing ReceiptRule resource's state with the given name, ID, and optional
   127  // state properties that are used to uniquely qualify the lookup (nil if not required).
   128  func GetReceiptRule(ctx *pulumi.Context,
   129  	name string, id pulumi.IDInput, state *ReceiptRuleState, opts ...pulumi.ResourceOption) (*ReceiptRule, error) {
   130  	var resource ReceiptRule
   131  	err := ctx.ReadResource("aws:ses/receiptRule:ReceiptRule", name, id, state, &resource, opts...)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &resource, nil
   136  }
   137  
   138  // Input properties used for looking up and filtering ReceiptRule resources.
   139  type receiptRuleState struct {
   140  	// A list of Add Header Action blocks. Documented below.
   141  	AddHeaderActions []ReceiptRuleAddHeaderAction `pulumi:"addHeaderActions"`
   142  	// The name of the rule to place this rule after
   143  	After *string `pulumi:"after"`
   144  	// The SES receipt rule ARN.
   145  	Arn *string `pulumi:"arn"`
   146  	// A list of Bounce Action blocks. Documented below.
   147  	BounceActions []ReceiptRuleBounceAction `pulumi:"bounceActions"`
   148  	// If true, the rule will be enabled
   149  	Enabled *bool `pulumi:"enabled"`
   150  	// A list of Lambda Action blocks. Documented below.
   151  	LambdaActions []ReceiptRuleLambdaAction `pulumi:"lambdaActions"`
   152  	// The name of the rule
   153  	Name *string `pulumi:"name"`
   154  	// A list of email addresses
   155  	Recipients []string `pulumi:"recipients"`
   156  	// The name of the rule set
   157  	RuleSetName *string `pulumi:"ruleSetName"`
   158  	// A list of S3 Action blocks. Documented below.
   159  	S3Actions []ReceiptRuleS3Action `pulumi:"s3Actions"`
   160  	// If true, incoming emails will be scanned for spam and viruses
   161  	ScanEnabled *bool `pulumi:"scanEnabled"`
   162  	// A list of SNS Action blocks. Documented below.
   163  	SnsActions []ReceiptRuleSnsAction `pulumi:"snsActions"`
   164  	// A list of Stop Action blocks. Documented below.
   165  	StopActions []ReceiptRuleStopAction `pulumi:"stopActions"`
   166  	// `Require` or `Optional`
   167  	TlsPolicy *string `pulumi:"tlsPolicy"`
   168  	// A list of WorkMail Action blocks. Documented below.
   169  	WorkmailActions []ReceiptRuleWorkmailAction `pulumi:"workmailActions"`
   170  }
   171  
   172  type ReceiptRuleState struct {
   173  	// A list of Add Header Action blocks. Documented below.
   174  	AddHeaderActions ReceiptRuleAddHeaderActionArrayInput
   175  	// The name of the rule to place this rule after
   176  	After pulumi.StringPtrInput
   177  	// The SES receipt rule ARN.
   178  	Arn pulumi.StringPtrInput
   179  	// A list of Bounce Action blocks. Documented below.
   180  	BounceActions ReceiptRuleBounceActionArrayInput
   181  	// If true, the rule will be enabled
   182  	Enabled pulumi.BoolPtrInput
   183  	// A list of Lambda Action blocks. Documented below.
   184  	LambdaActions ReceiptRuleLambdaActionArrayInput
   185  	// The name of the rule
   186  	Name pulumi.StringPtrInput
   187  	// A list of email addresses
   188  	Recipients pulumi.StringArrayInput
   189  	// The name of the rule set
   190  	RuleSetName pulumi.StringPtrInput
   191  	// A list of S3 Action blocks. Documented below.
   192  	S3Actions ReceiptRuleS3ActionArrayInput
   193  	// If true, incoming emails will be scanned for spam and viruses
   194  	ScanEnabled pulumi.BoolPtrInput
   195  	// A list of SNS Action blocks. Documented below.
   196  	SnsActions ReceiptRuleSnsActionArrayInput
   197  	// A list of Stop Action blocks. Documented below.
   198  	StopActions ReceiptRuleStopActionArrayInput
   199  	// `Require` or `Optional`
   200  	TlsPolicy pulumi.StringPtrInput
   201  	// A list of WorkMail Action blocks. Documented below.
   202  	WorkmailActions ReceiptRuleWorkmailActionArrayInput
   203  }
   204  
   205  func (ReceiptRuleState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*receiptRuleState)(nil)).Elem()
   207  }
   208  
   209  type receiptRuleArgs struct {
   210  	// A list of Add Header Action blocks. Documented below.
   211  	AddHeaderActions []ReceiptRuleAddHeaderAction `pulumi:"addHeaderActions"`
   212  	// The name of the rule to place this rule after
   213  	After *string `pulumi:"after"`
   214  	// A list of Bounce Action blocks. Documented below.
   215  	BounceActions []ReceiptRuleBounceAction `pulumi:"bounceActions"`
   216  	// If true, the rule will be enabled
   217  	Enabled *bool `pulumi:"enabled"`
   218  	// A list of Lambda Action blocks. Documented below.
   219  	LambdaActions []ReceiptRuleLambdaAction `pulumi:"lambdaActions"`
   220  	// The name of the rule
   221  	Name *string `pulumi:"name"`
   222  	// A list of email addresses
   223  	Recipients []string `pulumi:"recipients"`
   224  	// The name of the rule set
   225  	RuleSetName string `pulumi:"ruleSetName"`
   226  	// A list of S3 Action blocks. Documented below.
   227  	S3Actions []ReceiptRuleS3Action `pulumi:"s3Actions"`
   228  	// If true, incoming emails will be scanned for spam and viruses
   229  	ScanEnabled *bool `pulumi:"scanEnabled"`
   230  	// A list of SNS Action blocks. Documented below.
   231  	SnsActions []ReceiptRuleSnsAction `pulumi:"snsActions"`
   232  	// A list of Stop Action blocks. Documented below.
   233  	StopActions []ReceiptRuleStopAction `pulumi:"stopActions"`
   234  	// `Require` or `Optional`
   235  	TlsPolicy *string `pulumi:"tlsPolicy"`
   236  	// A list of WorkMail Action blocks. Documented below.
   237  	WorkmailActions []ReceiptRuleWorkmailAction `pulumi:"workmailActions"`
   238  }
   239  
   240  // The set of arguments for constructing a ReceiptRule resource.
   241  type ReceiptRuleArgs struct {
   242  	// A list of Add Header Action blocks. Documented below.
   243  	AddHeaderActions ReceiptRuleAddHeaderActionArrayInput
   244  	// The name of the rule to place this rule after
   245  	After pulumi.StringPtrInput
   246  	// A list of Bounce Action blocks. Documented below.
   247  	BounceActions ReceiptRuleBounceActionArrayInput
   248  	// If true, the rule will be enabled
   249  	Enabled pulumi.BoolPtrInput
   250  	// A list of Lambda Action blocks. Documented below.
   251  	LambdaActions ReceiptRuleLambdaActionArrayInput
   252  	// The name of the rule
   253  	Name pulumi.StringPtrInput
   254  	// A list of email addresses
   255  	Recipients pulumi.StringArrayInput
   256  	// The name of the rule set
   257  	RuleSetName pulumi.StringInput
   258  	// A list of S3 Action blocks. Documented below.
   259  	S3Actions ReceiptRuleS3ActionArrayInput
   260  	// If true, incoming emails will be scanned for spam and viruses
   261  	ScanEnabled pulumi.BoolPtrInput
   262  	// A list of SNS Action blocks. Documented below.
   263  	SnsActions ReceiptRuleSnsActionArrayInput
   264  	// A list of Stop Action blocks. Documented below.
   265  	StopActions ReceiptRuleStopActionArrayInput
   266  	// `Require` or `Optional`
   267  	TlsPolicy pulumi.StringPtrInput
   268  	// A list of WorkMail Action blocks. Documented below.
   269  	WorkmailActions ReceiptRuleWorkmailActionArrayInput
   270  }
   271  
   272  func (ReceiptRuleArgs) ElementType() reflect.Type {
   273  	return reflect.TypeOf((*receiptRuleArgs)(nil)).Elem()
   274  }
   275  
   276  type ReceiptRuleInput interface {
   277  	pulumi.Input
   278  
   279  	ToReceiptRuleOutput() ReceiptRuleOutput
   280  	ToReceiptRuleOutputWithContext(ctx context.Context) ReceiptRuleOutput
   281  }
   282  
   283  func (*ReceiptRule) ElementType() reflect.Type {
   284  	return reflect.TypeOf((**ReceiptRule)(nil)).Elem()
   285  }
   286  
   287  func (i *ReceiptRule) ToReceiptRuleOutput() ReceiptRuleOutput {
   288  	return i.ToReceiptRuleOutputWithContext(context.Background())
   289  }
   290  
   291  func (i *ReceiptRule) ToReceiptRuleOutputWithContext(ctx context.Context) ReceiptRuleOutput {
   292  	return pulumi.ToOutputWithContext(ctx, i).(ReceiptRuleOutput)
   293  }
   294  
   295  // ReceiptRuleArrayInput is an input type that accepts ReceiptRuleArray and ReceiptRuleArrayOutput values.
   296  // You can construct a concrete instance of `ReceiptRuleArrayInput` via:
   297  //
   298  //	ReceiptRuleArray{ ReceiptRuleArgs{...} }
   299  type ReceiptRuleArrayInput interface {
   300  	pulumi.Input
   301  
   302  	ToReceiptRuleArrayOutput() ReceiptRuleArrayOutput
   303  	ToReceiptRuleArrayOutputWithContext(context.Context) ReceiptRuleArrayOutput
   304  }
   305  
   306  type ReceiptRuleArray []ReceiptRuleInput
   307  
   308  func (ReceiptRuleArray) ElementType() reflect.Type {
   309  	return reflect.TypeOf((*[]*ReceiptRule)(nil)).Elem()
   310  }
   311  
   312  func (i ReceiptRuleArray) ToReceiptRuleArrayOutput() ReceiptRuleArrayOutput {
   313  	return i.ToReceiptRuleArrayOutputWithContext(context.Background())
   314  }
   315  
   316  func (i ReceiptRuleArray) ToReceiptRuleArrayOutputWithContext(ctx context.Context) ReceiptRuleArrayOutput {
   317  	return pulumi.ToOutputWithContext(ctx, i).(ReceiptRuleArrayOutput)
   318  }
   319  
   320  // ReceiptRuleMapInput is an input type that accepts ReceiptRuleMap and ReceiptRuleMapOutput values.
   321  // You can construct a concrete instance of `ReceiptRuleMapInput` via:
   322  //
   323  //	ReceiptRuleMap{ "key": ReceiptRuleArgs{...} }
   324  type ReceiptRuleMapInput interface {
   325  	pulumi.Input
   326  
   327  	ToReceiptRuleMapOutput() ReceiptRuleMapOutput
   328  	ToReceiptRuleMapOutputWithContext(context.Context) ReceiptRuleMapOutput
   329  }
   330  
   331  type ReceiptRuleMap map[string]ReceiptRuleInput
   332  
   333  func (ReceiptRuleMap) ElementType() reflect.Type {
   334  	return reflect.TypeOf((*map[string]*ReceiptRule)(nil)).Elem()
   335  }
   336  
   337  func (i ReceiptRuleMap) ToReceiptRuleMapOutput() ReceiptRuleMapOutput {
   338  	return i.ToReceiptRuleMapOutputWithContext(context.Background())
   339  }
   340  
   341  func (i ReceiptRuleMap) ToReceiptRuleMapOutputWithContext(ctx context.Context) ReceiptRuleMapOutput {
   342  	return pulumi.ToOutputWithContext(ctx, i).(ReceiptRuleMapOutput)
   343  }
   344  
   345  type ReceiptRuleOutput struct{ *pulumi.OutputState }
   346  
   347  func (ReceiptRuleOutput) ElementType() reflect.Type {
   348  	return reflect.TypeOf((**ReceiptRule)(nil)).Elem()
   349  }
   350  
   351  func (o ReceiptRuleOutput) ToReceiptRuleOutput() ReceiptRuleOutput {
   352  	return o
   353  }
   354  
   355  func (o ReceiptRuleOutput) ToReceiptRuleOutputWithContext(ctx context.Context) ReceiptRuleOutput {
   356  	return o
   357  }
   358  
   359  // A list of Add Header Action blocks. Documented below.
   360  func (o ReceiptRuleOutput) AddHeaderActions() ReceiptRuleAddHeaderActionArrayOutput {
   361  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleAddHeaderActionArrayOutput { return v.AddHeaderActions }).(ReceiptRuleAddHeaderActionArrayOutput)
   362  }
   363  
   364  // The name of the rule to place this rule after
   365  func (o ReceiptRuleOutput) After() pulumi.StringPtrOutput {
   366  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringPtrOutput { return v.After }).(pulumi.StringPtrOutput)
   367  }
   368  
   369  // The SES receipt rule ARN.
   370  func (o ReceiptRuleOutput) Arn() pulumi.StringOutput {
   371  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   372  }
   373  
   374  // A list of Bounce Action blocks. Documented below.
   375  func (o ReceiptRuleOutput) BounceActions() ReceiptRuleBounceActionArrayOutput {
   376  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleBounceActionArrayOutput { return v.BounceActions }).(ReceiptRuleBounceActionArrayOutput)
   377  }
   378  
   379  // If true, the rule will be enabled
   380  func (o ReceiptRuleOutput) Enabled() pulumi.BoolPtrOutput {
   381  	return o.ApplyT(func(v *ReceiptRule) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput)
   382  }
   383  
   384  // A list of Lambda Action blocks. Documented below.
   385  func (o ReceiptRuleOutput) LambdaActions() ReceiptRuleLambdaActionArrayOutput {
   386  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleLambdaActionArrayOutput { return v.LambdaActions }).(ReceiptRuleLambdaActionArrayOutput)
   387  }
   388  
   389  // The name of the rule
   390  func (o ReceiptRuleOutput) Name() pulumi.StringOutput {
   391  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   392  }
   393  
   394  // A list of email addresses
   395  func (o ReceiptRuleOutput) Recipients() pulumi.StringArrayOutput {
   396  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringArrayOutput { return v.Recipients }).(pulumi.StringArrayOutput)
   397  }
   398  
   399  // The name of the rule set
   400  func (o ReceiptRuleOutput) RuleSetName() pulumi.StringOutput {
   401  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringOutput { return v.RuleSetName }).(pulumi.StringOutput)
   402  }
   403  
   404  // A list of S3 Action blocks. Documented below.
   405  func (o ReceiptRuleOutput) S3Actions() ReceiptRuleS3ActionArrayOutput {
   406  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleS3ActionArrayOutput { return v.S3Actions }).(ReceiptRuleS3ActionArrayOutput)
   407  }
   408  
   409  // If true, incoming emails will be scanned for spam and viruses
   410  func (o ReceiptRuleOutput) ScanEnabled() pulumi.BoolPtrOutput {
   411  	return o.ApplyT(func(v *ReceiptRule) pulumi.BoolPtrOutput { return v.ScanEnabled }).(pulumi.BoolPtrOutput)
   412  }
   413  
   414  // A list of SNS Action blocks. Documented below.
   415  func (o ReceiptRuleOutput) SnsActions() ReceiptRuleSnsActionArrayOutput {
   416  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleSnsActionArrayOutput { return v.SnsActions }).(ReceiptRuleSnsActionArrayOutput)
   417  }
   418  
   419  // A list of Stop Action blocks. Documented below.
   420  func (o ReceiptRuleOutput) StopActions() ReceiptRuleStopActionArrayOutput {
   421  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleStopActionArrayOutput { return v.StopActions }).(ReceiptRuleStopActionArrayOutput)
   422  }
   423  
   424  // `Require` or `Optional`
   425  func (o ReceiptRuleOutput) TlsPolicy() pulumi.StringOutput {
   426  	return o.ApplyT(func(v *ReceiptRule) pulumi.StringOutput { return v.TlsPolicy }).(pulumi.StringOutput)
   427  }
   428  
   429  // A list of WorkMail Action blocks. Documented below.
   430  func (o ReceiptRuleOutput) WorkmailActions() ReceiptRuleWorkmailActionArrayOutput {
   431  	return o.ApplyT(func(v *ReceiptRule) ReceiptRuleWorkmailActionArrayOutput { return v.WorkmailActions }).(ReceiptRuleWorkmailActionArrayOutput)
   432  }
   433  
   434  type ReceiptRuleArrayOutput struct{ *pulumi.OutputState }
   435  
   436  func (ReceiptRuleArrayOutput) ElementType() reflect.Type {
   437  	return reflect.TypeOf((*[]*ReceiptRule)(nil)).Elem()
   438  }
   439  
   440  func (o ReceiptRuleArrayOutput) ToReceiptRuleArrayOutput() ReceiptRuleArrayOutput {
   441  	return o
   442  }
   443  
   444  func (o ReceiptRuleArrayOutput) ToReceiptRuleArrayOutputWithContext(ctx context.Context) ReceiptRuleArrayOutput {
   445  	return o
   446  }
   447  
   448  func (o ReceiptRuleArrayOutput) Index(i pulumi.IntInput) ReceiptRuleOutput {
   449  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReceiptRule {
   450  		return vs[0].([]*ReceiptRule)[vs[1].(int)]
   451  	}).(ReceiptRuleOutput)
   452  }
   453  
   454  type ReceiptRuleMapOutput struct{ *pulumi.OutputState }
   455  
   456  func (ReceiptRuleMapOutput) ElementType() reflect.Type {
   457  	return reflect.TypeOf((*map[string]*ReceiptRule)(nil)).Elem()
   458  }
   459  
   460  func (o ReceiptRuleMapOutput) ToReceiptRuleMapOutput() ReceiptRuleMapOutput {
   461  	return o
   462  }
   463  
   464  func (o ReceiptRuleMapOutput) ToReceiptRuleMapOutputWithContext(ctx context.Context) ReceiptRuleMapOutput {
   465  	return o
   466  }
   467  
   468  func (o ReceiptRuleMapOutput) MapIndex(k pulumi.StringInput) ReceiptRuleOutput {
   469  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReceiptRule {
   470  		return vs[0].(map[string]*ReceiptRule)[vs[1].(string)]
   471  	}).(ReceiptRuleOutput)
   472  }
   473  
   474  func init() {
   475  	pulumi.RegisterInputType(reflect.TypeOf((*ReceiptRuleInput)(nil)).Elem(), &ReceiptRule{})
   476  	pulumi.RegisterInputType(reflect.TypeOf((*ReceiptRuleArrayInput)(nil)).Elem(), ReceiptRuleArray{})
   477  	pulumi.RegisterInputType(reflect.TypeOf((*ReceiptRuleMapInput)(nil)).Elem(), ReceiptRuleMap{})
   478  	pulumi.RegisterOutputType(ReceiptRuleOutput{})
   479  	pulumi.RegisterOutputType(ReceiptRuleArrayOutput{})
   480  	pulumi.RegisterOutputType(ReceiptRuleMapOutput{})
   481  }