github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/storagegateway/fileSystemAssociation.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 storagegateway
     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  // Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.
    16  //
    17  // [FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).
    18  //
    19  // ## Example Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := storagegateway.NewFileSystemAssociation(ctx, "example", &storagegateway.FileSystemAssociationArgs{
    35  //				GatewayArn:          pulumi.Any(exampleAwsStoragegatewayGateway.Arn),
    36  //				LocationArn:         pulumi.Any(exampleAwsFsxWindowsFileSystem.Arn),
    37  //				Username:            pulumi.String("Admin"),
    38  //				Password:            pulumi.String("avoid-plaintext-passwords"),
    39  //				AuditDestinationArn: pulumi.Any(exampleAwsS3Bucket.Arn),
    40  //			})
    41  //			if err != nil {
    42  //				return err
    43  //			}
    44  //			return nil
    45  //		})
    46  //	}
    47  //
    48  // ```
    49  // <!--End PulumiCodeChooser -->
    50  //
    51  // ## Required Services Example
    52  //
    53  // <!--Start PulumiCodeChooser -->
    54  // ```go
    55  // package main
    56  //
    57  // import (
    58  //
    59  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    60  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx"
    61  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
    62  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway"
    63  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    64  //
    65  // )
    66  //
    67  //	func main() {
    68  //		pulumi.Run(func(ctx *pulumi.Context) error {
    69  //			awsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, &ssm.LookupParameterArgs{
    70  //				Name: "/aws/service/storagegateway/ami/FILE_S3/latest",
    71  //			}, nil)
    72  //			if err != nil {
    73  //				return err
    74  //			}
    75  //			test, err := ec2.NewInstance(ctx, "test", &ec2.InstanceArgs{
    76  //				Ami:                      pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),
    77  //				AssociatePublicIpAddress: pulumi.Bool(true),
    78  //				InstanceType:             ec2.InstanceType(available.InstanceType),
    79  //				VpcSecurityGroupIds: pulumi.StringArray{
    80  //					testAwsSecurityGroup.Id,
    81  //				},
    82  //				SubnetId: pulumi.Any(testAwsSubnet[0].Id),
    83  //			}, pulumi.DependsOn([]pulumi.Resource{
    84  //				testAwsRoute,
    85  //				testAwsVpcDhcpOptionsAssociation,
    86  //			}))
    87  //			if err != nil {
    88  //				return err
    89  //			}
    90  //			testGateway, err := storagegateway.NewGateway(ctx, "test", &storagegateway.GatewayArgs{
    91  //				GatewayIpAddress: test.PublicIp,
    92  //				GatewayName:      pulumi.String("test-sgw"),
    93  //				GatewayTimezone:  pulumi.String("GMT"),
    94  //				GatewayType:      pulumi.String("FILE_FSX_SMB"),
    95  //				SmbActiveDirectorySettings: &storagegateway.GatewaySmbActiveDirectorySettingsArgs{
    96  //					DomainName: pulumi.Any(testAwsDirectoryServiceDirectory.Name),
    97  //					Password:   pulumi.Any(testAwsDirectoryServiceDirectory.Password),
    98  //					Username:   pulumi.String("Admin"),
    99  //				},
   100  //			})
   101  //			if err != nil {
   102  //				return err
   103  //			}
   104  //			testWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, "test", &fsx.WindowsFileSystemArgs{
   105  //				ActiveDirectoryId: pulumi.Any(testAwsDirectoryServiceDirectory.Id),
   106  //				SecurityGroupIds: pulumi.StringArray{
   107  //					testAwsSecurityGroup.Id,
   108  //				},
   109  //				SkipFinalBackup: pulumi.Bool(true),
   110  //				StorageCapacity: pulumi.Int(32),
   111  //				SubnetIds: pulumi.StringArray{
   112  //					testAwsSubnet[0].Id,
   113  //				},
   114  //				ThroughputCapacity: pulumi.Int(8),
   115  //			})
   116  //			if err != nil {
   117  //				return err
   118  //			}
   119  //			_, err = storagegateway.NewFileSystemAssociation(ctx, "fsx", &storagegateway.FileSystemAssociationArgs{
   120  //				GatewayArn:  testGateway.Arn,
   121  //				LocationArn: testWindowsFileSystem.Arn,
   122  //				Username:    pulumi.String("Admin"),
   123  //				Password:    pulumi.Any(testAwsDirectoryServiceDirectory.Password),
   124  //				CacheAttributes: &storagegateway.FileSystemAssociationCacheAttributesArgs{
   125  //					CacheStaleTimeoutInSeconds: pulumi.Int(400),
   126  //				},
   127  //				AuditDestinationArn: pulumi.Any(testAwsCloudwatchLogGroup.Arn),
   128  //			})
   129  //			if err != nil {
   130  //				return err
   131  //			}
   132  //			return nil
   133  //		})
   134  //	}
   135  //
   136  // ```
   137  // <!--End PulumiCodeChooser -->
   138  //
   139  // ## Import
   140  //
   141  // Using `pulumi import`, import `aws_storagegateway_file_system_association` using the FSx file system association Amazon Resource Name (ARN). For example:
   142  //
   143  // ```sh
   144  // $ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125
   145  // ```
   146  type FileSystemAssociation struct {
   147  	pulumi.CustomResourceState
   148  
   149  	// Amazon Resource Name (ARN) of the newly created file system association.
   150  	Arn pulumi.StringOutput `pulumi:"arn"`
   151  	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
   152  	AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"`
   153  	// Refresh cache information. see Cache Attributes for more details.
   154  	CacheAttributes FileSystemAssociationCacheAttributesPtrOutput `pulumi:"cacheAttributes"`
   155  	// The Amazon Resource Name (ARN) of the gateway.
   156  	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
   157  	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   158  	LocationArn pulumi.StringOutput `pulumi:"locationArn"`
   159  	// The password of the user credential.
   160  	Password pulumi.StringOutput `pulumi:"password"`
   161  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   162  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   163  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   164  	//
   165  	// Deprecated: Please use `tags` instead.
   166  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   167  	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   168  	Username pulumi.StringOutput `pulumi:"username"`
   169  }
   170  
   171  // NewFileSystemAssociation registers a new resource with the given unique name, arguments, and options.
   172  func NewFileSystemAssociation(ctx *pulumi.Context,
   173  	name string, args *FileSystemAssociationArgs, opts ...pulumi.ResourceOption) (*FileSystemAssociation, error) {
   174  	if args == nil {
   175  		return nil, errors.New("missing one or more required arguments")
   176  	}
   177  
   178  	if args.GatewayArn == nil {
   179  		return nil, errors.New("invalid value for required argument 'GatewayArn'")
   180  	}
   181  	if args.LocationArn == nil {
   182  		return nil, errors.New("invalid value for required argument 'LocationArn'")
   183  	}
   184  	if args.Password == nil {
   185  		return nil, errors.New("invalid value for required argument 'Password'")
   186  	}
   187  	if args.Username == nil {
   188  		return nil, errors.New("invalid value for required argument 'Username'")
   189  	}
   190  	if args.Password != nil {
   191  		args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput)
   192  	}
   193  	secrets := pulumi.AdditionalSecretOutputs([]string{
   194  		"password",
   195  	})
   196  	opts = append(opts, secrets)
   197  	opts = internal.PkgResourceDefaultOpts(opts)
   198  	var resource FileSystemAssociation
   199  	err := ctx.RegisterResource("aws:storagegateway/fileSystemAssociation:FileSystemAssociation", name, args, &resource, opts...)
   200  	if err != nil {
   201  		return nil, err
   202  	}
   203  	return &resource, nil
   204  }
   205  
   206  // GetFileSystemAssociation gets an existing FileSystemAssociation resource's state with the given name, ID, and optional
   207  // state properties that are used to uniquely qualify the lookup (nil if not required).
   208  func GetFileSystemAssociation(ctx *pulumi.Context,
   209  	name string, id pulumi.IDInput, state *FileSystemAssociationState, opts ...pulumi.ResourceOption) (*FileSystemAssociation, error) {
   210  	var resource FileSystemAssociation
   211  	err := ctx.ReadResource("aws:storagegateway/fileSystemAssociation:FileSystemAssociation", name, id, state, &resource, opts...)
   212  	if err != nil {
   213  		return nil, err
   214  	}
   215  	return &resource, nil
   216  }
   217  
   218  // Input properties used for looking up and filtering FileSystemAssociation resources.
   219  type fileSystemAssociationState struct {
   220  	// Amazon Resource Name (ARN) of the newly created file system association.
   221  	Arn *string `pulumi:"arn"`
   222  	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
   223  	AuditDestinationArn *string `pulumi:"auditDestinationArn"`
   224  	// Refresh cache information. see Cache Attributes for more details.
   225  	CacheAttributes *FileSystemAssociationCacheAttributes `pulumi:"cacheAttributes"`
   226  	// The Amazon Resource Name (ARN) of the gateway.
   227  	GatewayArn *string `pulumi:"gatewayArn"`
   228  	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   229  	LocationArn *string `pulumi:"locationArn"`
   230  	// The password of the user credential.
   231  	Password *string `pulumi:"password"`
   232  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   233  	Tags map[string]string `pulumi:"tags"`
   234  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   235  	//
   236  	// Deprecated: Please use `tags` instead.
   237  	TagsAll map[string]string `pulumi:"tagsAll"`
   238  	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   239  	Username *string `pulumi:"username"`
   240  }
   241  
   242  type FileSystemAssociationState struct {
   243  	// Amazon Resource Name (ARN) of the newly created file system association.
   244  	Arn pulumi.StringPtrInput
   245  	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
   246  	AuditDestinationArn pulumi.StringPtrInput
   247  	// Refresh cache information. see Cache Attributes for more details.
   248  	CacheAttributes FileSystemAssociationCacheAttributesPtrInput
   249  	// The Amazon Resource Name (ARN) of the gateway.
   250  	GatewayArn pulumi.StringPtrInput
   251  	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   252  	LocationArn pulumi.StringPtrInput
   253  	// The password of the user credential.
   254  	Password pulumi.StringPtrInput
   255  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   256  	Tags pulumi.StringMapInput
   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  	TagsAll pulumi.StringMapInput
   261  	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   262  	Username pulumi.StringPtrInput
   263  }
   264  
   265  func (FileSystemAssociationState) ElementType() reflect.Type {
   266  	return reflect.TypeOf((*fileSystemAssociationState)(nil)).Elem()
   267  }
   268  
   269  type fileSystemAssociationArgs struct {
   270  	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
   271  	AuditDestinationArn *string `pulumi:"auditDestinationArn"`
   272  	// Refresh cache information. see Cache Attributes for more details.
   273  	CacheAttributes *FileSystemAssociationCacheAttributes `pulumi:"cacheAttributes"`
   274  	// The Amazon Resource Name (ARN) of the gateway.
   275  	GatewayArn string `pulumi:"gatewayArn"`
   276  	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   277  	LocationArn string `pulumi:"locationArn"`
   278  	// The password of the user credential.
   279  	Password string `pulumi:"password"`
   280  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   281  	Tags map[string]string `pulumi:"tags"`
   282  	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   283  	Username string `pulumi:"username"`
   284  }
   285  
   286  // The set of arguments for constructing a FileSystemAssociation resource.
   287  type FileSystemAssociationArgs struct {
   288  	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
   289  	AuditDestinationArn pulumi.StringPtrInput
   290  	// Refresh cache information. see Cache Attributes for more details.
   291  	CacheAttributes FileSystemAssociationCacheAttributesPtrInput
   292  	// The Amazon Resource Name (ARN) of the gateway.
   293  	GatewayArn pulumi.StringInput
   294  	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   295  	LocationArn pulumi.StringInput
   296  	// The password of the user credential.
   297  	Password pulumi.StringInput
   298  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   299  	Tags pulumi.StringMapInput
   300  	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   301  	Username pulumi.StringInput
   302  }
   303  
   304  func (FileSystemAssociationArgs) ElementType() reflect.Type {
   305  	return reflect.TypeOf((*fileSystemAssociationArgs)(nil)).Elem()
   306  }
   307  
   308  type FileSystemAssociationInput interface {
   309  	pulumi.Input
   310  
   311  	ToFileSystemAssociationOutput() FileSystemAssociationOutput
   312  	ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput
   313  }
   314  
   315  func (*FileSystemAssociation) ElementType() reflect.Type {
   316  	return reflect.TypeOf((**FileSystemAssociation)(nil)).Elem()
   317  }
   318  
   319  func (i *FileSystemAssociation) ToFileSystemAssociationOutput() FileSystemAssociationOutput {
   320  	return i.ToFileSystemAssociationOutputWithContext(context.Background())
   321  }
   322  
   323  func (i *FileSystemAssociation) ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput {
   324  	return pulumi.ToOutputWithContext(ctx, i).(FileSystemAssociationOutput)
   325  }
   326  
   327  // FileSystemAssociationArrayInput is an input type that accepts FileSystemAssociationArray and FileSystemAssociationArrayOutput values.
   328  // You can construct a concrete instance of `FileSystemAssociationArrayInput` via:
   329  //
   330  //	FileSystemAssociationArray{ FileSystemAssociationArgs{...} }
   331  type FileSystemAssociationArrayInput interface {
   332  	pulumi.Input
   333  
   334  	ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput
   335  	ToFileSystemAssociationArrayOutputWithContext(context.Context) FileSystemAssociationArrayOutput
   336  }
   337  
   338  type FileSystemAssociationArray []FileSystemAssociationInput
   339  
   340  func (FileSystemAssociationArray) ElementType() reflect.Type {
   341  	return reflect.TypeOf((*[]*FileSystemAssociation)(nil)).Elem()
   342  }
   343  
   344  func (i FileSystemAssociationArray) ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput {
   345  	return i.ToFileSystemAssociationArrayOutputWithContext(context.Background())
   346  }
   347  
   348  func (i FileSystemAssociationArray) ToFileSystemAssociationArrayOutputWithContext(ctx context.Context) FileSystemAssociationArrayOutput {
   349  	return pulumi.ToOutputWithContext(ctx, i).(FileSystemAssociationArrayOutput)
   350  }
   351  
   352  // FileSystemAssociationMapInput is an input type that accepts FileSystemAssociationMap and FileSystemAssociationMapOutput values.
   353  // You can construct a concrete instance of `FileSystemAssociationMapInput` via:
   354  //
   355  //	FileSystemAssociationMap{ "key": FileSystemAssociationArgs{...} }
   356  type FileSystemAssociationMapInput interface {
   357  	pulumi.Input
   358  
   359  	ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput
   360  	ToFileSystemAssociationMapOutputWithContext(context.Context) FileSystemAssociationMapOutput
   361  }
   362  
   363  type FileSystemAssociationMap map[string]FileSystemAssociationInput
   364  
   365  func (FileSystemAssociationMap) ElementType() reflect.Type {
   366  	return reflect.TypeOf((*map[string]*FileSystemAssociation)(nil)).Elem()
   367  }
   368  
   369  func (i FileSystemAssociationMap) ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput {
   370  	return i.ToFileSystemAssociationMapOutputWithContext(context.Background())
   371  }
   372  
   373  func (i FileSystemAssociationMap) ToFileSystemAssociationMapOutputWithContext(ctx context.Context) FileSystemAssociationMapOutput {
   374  	return pulumi.ToOutputWithContext(ctx, i).(FileSystemAssociationMapOutput)
   375  }
   376  
   377  type FileSystemAssociationOutput struct{ *pulumi.OutputState }
   378  
   379  func (FileSystemAssociationOutput) ElementType() reflect.Type {
   380  	return reflect.TypeOf((**FileSystemAssociation)(nil)).Elem()
   381  }
   382  
   383  func (o FileSystemAssociationOutput) ToFileSystemAssociationOutput() FileSystemAssociationOutput {
   384  	return o
   385  }
   386  
   387  func (o FileSystemAssociationOutput) ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput {
   388  	return o
   389  }
   390  
   391  // Amazon Resource Name (ARN) of the newly created file system association.
   392  func (o FileSystemAssociationOutput) Arn() pulumi.StringOutput {
   393  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   394  }
   395  
   396  // The Amazon Resource Name (ARN) of the storage used for the audit logs.
   397  func (o FileSystemAssociationOutput) AuditDestinationArn() pulumi.StringPtrOutput {
   398  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringPtrOutput { return v.AuditDestinationArn }).(pulumi.StringPtrOutput)
   399  }
   400  
   401  // Refresh cache information. see Cache Attributes for more details.
   402  func (o FileSystemAssociationOutput) CacheAttributes() FileSystemAssociationCacheAttributesPtrOutput {
   403  	return o.ApplyT(func(v *FileSystemAssociation) FileSystemAssociationCacheAttributesPtrOutput { return v.CacheAttributes }).(FileSystemAssociationCacheAttributesPtrOutput)
   404  }
   405  
   406  // The Amazon Resource Name (ARN) of the gateway.
   407  func (o FileSystemAssociationOutput) GatewayArn() pulumi.StringOutput {
   408  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringOutput { return v.GatewayArn }).(pulumi.StringOutput)
   409  }
   410  
   411  // The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
   412  func (o FileSystemAssociationOutput) LocationArn() pulumi.StringOutput {
   413  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringOutput { return v.LocationArn }).(pulumi.StringOutput)
   414  }
   415  
   416  // The password of the user credential.
   417  func (o FileSystemAssociationOutput) Password() pulumi.StringOutput {
   418  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput)
   419  }
   420  
   421  // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   422  func (o FileSystemAssociationOutput) Tags() pulumi.StringMapOutput {
   423  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   424  }
   425  
   426  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   427  //
   428  // Deprecated: Please use `tags` instead.
   429  func (o FileSystemAssociationOutput) TagsAll() pulumi.StringMapOutput {
   430  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   431  }
   432  
   433  // The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
   434  func (o FileSystemAssociationOutput) Username() pulumi.StringOutput {
   435  	return o.ApplyT(func(v *FileSystemAssociation) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput)
   436  }
   437  
   438  type FileSystemAssociationArrayOutput struct{ *pulumi.OutputState }
   439  
   440  func (FileSystemAssociationArrayOutput) ElementType() reflect.Type {
   441  	return reflect.TypeOf((*[]*FileSystemAssociation)(nil)).Elem()
   442  }
   443  
   444  func (o FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput {
   445  	return o
   446  }
   447  
   448  func (o FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutputWithContext(ctx context.Context) FileSystemAssociationArrayOutput {
   449  	return o
   450  }
   451  
   452  func (o FileSystemAssociationArrayOutput) Index(i pulumi.IntInput) FileSystemAssociationOutput {
   453  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FileSystemAssociation {
   454  		return vs[0].([]*FileSystemAssociation)[vs[1].(int)]
   455  	}).(FileSystemAssociationOutput)
   456  }
   457  
   458  type FileSystemAssociationMapOutput struct{ *pulumi.OutputState }
   459  
   460  func (FileSystemAssociationMapOutput) ElementType() reflect.Type {
   461  	return reflect.TypeOf((*map[string]*FileSystemAssociation)(nil)).Elem()
   462  }
   463  
   464  func (o FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput {
   465  	return o
   466  }
   467  
   468  func (o FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutputWithContext(ctx context.Context) FileSystemAssociationMapOutput {
   469  	return o
   470  }
   471  
   472  func (o FileSystemAssociationMapOutput) MapIndex(k pulumi.StringInput) FileSystemAssociationOutput {
   473  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FileSystemAssociation {
   474  		return vs[0].(map[string]*FileSystemAssociation)[vs[1].(string)]
   475  	}).(FileSystemAssociationOutput)
   476  }
   477  
   478  func init() {
   479  	pulumi.RegisterInputType(reflect.TypeOf((*FileSystemAssociationInput)(nil)).Elem(), &FileSystemAssociation{})
   480  	pulumi.RegisterInputType(reflect.TypeOf((*FileSystemAssociationArrayInput)(nil)).Elem(), FileSystemAssociationArray{})
   481  	pulumi.RegisterInputType(reflect.TypeOf((*FileSystemAssociationMapInput)(nil)).Elem(), FileSystemAssociationMap{})
   482  	pulumi.RegisterOutputType(FileSystemAssociationOutput{})
   483  	pulumi.RegisterOutputType(FileSystemAssociationArrayOutput{})
   484  	pulumi.RegisterOutputType(FileSystemAssociationMapOutput{})
   485  }