github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/dataRepositoryAssociation.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 fsx 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 // Manages a FSx for Lustre Data Repository Association. See [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html) for more information. 16 // 17 // > **NOTE:** Data Repository Associations are only compatible with AWS FSx for Lustre File Systems and `PERSISTENT_2` deployment type. 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "fmt" 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx" 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // 33 // ) 34 // 35 // func main() { 36 // pulumi.Run(func(ctx *pulumi.Context) error { 37 // example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{ 38 // Bucket: pulumi.String("my-bucket"), 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // _, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{ 44 // Bucket: example.ID(), 45 // Acl: pulumi.String("private"), 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // exampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, "example", &fsx.LustreFileSystemArgs{ 51 // StorageCapacity: pulumi.Int(1200), 52 // SubnetIds: pulumi.Any(exampleAwsSubnet.Id), 53 // DeploymentType: pulumi.String("PERSISTENT_2"), 54 // PerUnitStorageThroughput: pulumi.Int(125), 55 // }) 56 // if err != nil { 57 // return err 58 // } 59 // _, err = fsx.NewDataRepositoryAssociation(ctx, "example", &fsx.DataRepositoryAssociationArgs{ 60 // FileSystemId: exampleLustreFileSystem.ID(), 61 // DataRepositoryPath: example.ID().ApplyT(func(id string) (string, error) { 62 // return fmt.Sprintf("s3://%v", id), nil 63 // }).(pulumi.StringOutput), 64 // FileSystemPath: pulumi.String("/my-bucket"), 65 // S3: &fsx.DataRepositoryAssociationS3Args{ 66 // AutoExportPolicy: &fsx.DataRepositoryAssociationS3AutoExportPolicyArgs{ 67 // Events: pulumi.StringArray{ 68 // pulumi.String("NEW"), 69 // pulumi.String("CHANGED"), 70 // pulumi.String("DELETED"), 71 // }, 72 // }, 73 // AutoImportPolicy: &fsx.DataRepositoryAssociationS3AutoImportPolicyArgs{ 74 // Events: pulumi.StringArray{ 75 // pulumi.String("NEW"), 76 // pulumi.String("CHANGED"), 77 // pulumi.String("DELETED"), 78 // }, 79 // }, 80 // }, 81 // }) 82 // if err != nil { 83 // return err 84 // } 85 // return nil 86 // }) 87 // } 88 // 89 // ``` 90 // <!--End PulumiCodeChooser --> 91 // 92 // ## Import 93 // 94 // Using `pulumi import`, import FSx Data Repository Associations using the `id`. For example: 95 // 96 // ```sh 97 // $ pulumi import aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation example dra-0b1cfaeca11088b10 98 // ``` 99 type DataRepositoryAssociation struct { 100 pulumi.CustomResourceState 101 102 // Amazon Resource Name of the file system. 103 Arn pulumi.StringOutput `pulumi:"arn"` 104 AssociationId pulumi.StringOutput `pulumi:"associationId"` 105 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 106 BatchImportMetaDataOnCreate pulumi.BoolPtrOutput `pulumi:"batchImportMetaDataOnCreate"` 107 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 108 DataRepositoryPath pulumi.StringOutput `pulumi:"dataRepositoryPath"` 109 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 110 DeleteDataInFilesystem pulumi.BoolPtrOutput `pulumi:"deleteDataInFilesystem"` 111 // The ID of the Amazon FSx file system to on which to create a data repository association. 112 FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"` 113 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 114 FileSystemPath pulumi.StringOutput `pulumi:"fileSystemPath"` 115 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 116 ImportedFileChunkSize pulumi.IntOutput `pulumi:"importedFileChunkSize"` 117 // See the `s3` configuration block. Max of 1. 118 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 119 S3 DataRepositoryAssociationS3Output `pulumi:"s3"` 120 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 121 Tags pulumi.StringMapOutput `pulumi:"tags"` 122 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 123 // 124 // Deprecated: Please use `tags` instead. 125 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 126 } 127 128 // NewDataRepositoryAssociation registers a new resource with the given unique name, arguments, and options. 129 func NewDataRepositoryAssociation(ctx *pulumi.Context, 130 name string, args *DataRepositoryAssociationArgs, opts ...pulumi.ResourceOption) (*DataRepositoryAssociation, error) { 131 if args == nil { 132 return nil, errors.New("missing one or more required arguments") 133 } 134 135 if args.DataRepositoryPath == nil { 136 return nil, errors.New("invalid value for required argument 'DataRepositoryPath'") 137 } 138 if args.FileSystemId == nil { 139 return nil, errors.New("invalid value for required argument 'FileSystemId'") 140 } 141 if args.FileSystemPath == nil { 142 return nil, errors.New("invalid value for required argument 'FileSystemPath'") 143 } 144 opts = internal.PkgResourceDefaultOpts(opts) 145 var resource DataRepositoryAssociation 146 err := ctx.RegisterResource("aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation", name, args, &resource, opts...) 147 if err != nil { 148 return nil, err 149 } 150 return &resource, nil 151 } 152 153 // GetDataRepositoryAssociation gets an existing DataRepositoryAssociation resource's state with the given name, ID, and optional 154 // state properties that are used to uniquely qualify the lookup (nil if not required). 155 func GetDataRepositoryAssociation(ctx *pulumi.Context, 156 name string, id pulumi.IDInput, state *DataRepositoryAssociationState, opts ...pulumi.ResourceOption) (*DataRepositoryAssociation, error) { 157 var resource DataRepositoryAssociation 158 err := ctx.ReadResource("aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation", name, id, state, &resource, opts...) 159 if err != nil { 160 return nil, err 161 } 162 return &resource, nil 163 } 164 165 // Input properties used for looking up and filtering DataRepositoryAssociation resources. 166 type dataRepositoryAssociationState struct { 167 // Amazon Resource Name of the file system. 168 Arn *string `pulumi:"arn"` 169 AssociationId *string `pulumi:"associationId"` 170 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 171 BatchImportMetaDataOnCreate *bool `pulumi:"batchImportMetaDataOnCreate"` 172 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 173 DataRepositoryPath *string `pulumi:"dataRepositoryPath"` 174 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 175 DeleteDataInFilesystem *bool `pulumi:"deleteDataInFilesystem"` 176 // The ID of the Amazon FSx file system to on which to create a data repository association. 177 FileSystemId *string `pulumi:"fileSystemId"` 178 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 179 FileSystemPath *string `pulumi:"fileSystemPath"` 180 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 181 ImportedFileChunkSize *int `pulumi:"importedFileChunkSize"` 182 // See the `s3` configuration block. Max of 1. 183 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 184 S3 *DataRepositoryAssociationS3 `pulumi:"s3"` 185 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 186 Tags map[string]string `pulumi:"tags"` 187 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 188 // 189 // Deprecated: Please use `tags` instead. 190 TagsAll map[string]string `pulumi:"tagsAll"` 191 } 192 193 type DataRepositoryAssociationState struct { 194 // Amazon Resource Name of the file system. 195 Arn pulumi.StringPtrInput 196 AssociationId pulumi.StringPtrInput 197 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 198 BatchImportMetaDataOnCreate pulumi.BoolPtrInput 199 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 200 DataRepositoryPath pulumi.StringPtrInput 201 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 202 DeleteDataInFilesystem pulumi.BoolPtrInput 203 // The ID of the Amazon FSx file system to on which to create a data repository association. 204 FileSystemId pulumi.StringPtrInput 205 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 206 FileSystemPath pulumi.StringPtrInput 207 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 208 ImportedFileChunkSize pulumi.IntPtrInput 209 // See the `s3` configuration block. Max of 1. 210 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 211 S3 DataRepositoryAssociationS3PtrInput 212 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 213 Tags pulumi.StringMapInput 214 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 215 // 216 // Deprecated: Please use `tags` instead. 217 TagsAll pulumi.StringMapInput 218 } 219 220 func (DataRepositoryAssociationState) ElementType() reflect.Type { 221 return reflect.TypeOf((*dataRepositoryAssociationState)(nil)).Elem() 222 } 223 224 type dataRepositoryAssociationArgs struct { 225 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 226 BatchImportMetaDataOnCreate *bool `pulumi:"batchImportMetaDataOnCreate"` 227 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 228 DataRepositoryPath string `pulumi:"dataRepositoryPath"` 229 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 230 DeleteDataInFilesystem *bool `pulumi:"deleteDataInFilesystem"` 231 // The ID of the Amazon FSx file system to on which to create a data repository association. 232 FileSystemId string `pulumi:"fileSystemId"` 233 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 234 FileSystemPath string `pulumi:"fileSystemPath"` 235 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 236 ImportedFileChunkSize *int `pulumi:"importedFileChunkSize"` 237 // See the `s3` configuration block. Max of 1. 238 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 239 S3 *DataRepositoryAssociationS3 `pulumi:"s3"` 240 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 241 Tags map[string]string `pulumi:"tags"` 242 } 243 244 // The set of arguments for constructing a DataRepositoryAssociation resource. 245 type DataRepositoryAssociationArgs struct { 246 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 247 BatchImportMetaDataOnCreate pulumi.BoolPtrInput 248 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 249 DataRepositoryPath pulumi.StringInput 250 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 251 DeleteDataInFilesystem pulumi.BoolPtrInput 252 // The ID of the Amazon FSx file system to on which to create a data repository association. 253 FileSystemId pulumi.StringInput 254 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 255 FileSystemPath pulumi.StringInput 256 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 257 ImportedFileChunkSize pulumi.IntPtrInput 258 // See the `s3` configuration block. Max of 1. 259 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 260 S3 DataRepositoryAssociationS3PtrInput 261 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 262 Tags pulumi.StringMapInput 263 } 264 265 func (DataRepositoryAssociationArgs) ElementType() reflect.Type { 266 return reflect.TypeOf((*dataRepositoryAssociationArgs)(nil)).Elem() 267 } 268 269 type DataRepositoryAssociationInput interface { 270 pulumi.Input 271 272 ToDataRepositoryAssociationOutput() DataRepositoryAssociationOutput 273 ToDataRepositoryAssociationOutputWithContext(ctx context.Context) DataRepositoryAssociationOutput 274 } 275 276 func (*DataRepositoryAssociation) ElementType() reflect.Type { 277 return reflect.TypeOf((**DataRepositoryAssociation)(nil)).Elem() 278 } 279 280 func (i *DataRepositoryAssociation) ToDataRepositoryAssociationOutput() DataRepositoryAssociationOutput { 281 return i.ToDataRepositoryAssociationOutputWithContext(context.Background()) 282 } 283 284 func (i *DataRepositoryAssociation) ToDataRepositoryAssociationOutputWithContext(ctx context.Context) DataRepositoryAssociationOutput { 285 return pulumi.ToOutputWithContext(ctx, i).(DataRepositoryAssociationOutput) 286 } 287 288 // DataRepositoryAssociationArrayInput is an input type that accepts DataRepositoryAssociationArray and DataRepositoryAssociationArrayOutput values. 289 // You can construct a concrete instance of `DataRepositoryAssociationArrayInput` via: 290 // 291 // DataRepositoryAssociationArray{ DataRepositoryAssociationArgs{...} } 292 type DataRepositoryAssociationArrayInput interface { 293 pulumi.Input 294 295 ToDataRepositoryAssociationArrayOutput() DataRepositoryAssociationArrayOutput 296 ToDataRepositoryAssociationArrayOutputWithContext(context.Context) DataRepositoryAssociationArrayOutput 297 } 298 299 type DataRepositoryAssociationArray []DataRepositoryAssociationInput 300 301 func (DataRepositoryAssociationArray) ElementType() reflect.Type { 302 return reflect.TypeOf((*[]*DataRepositoryAssociation)(nil)).Elem() 303 } 304 305 func (i DataRepositoryAssociationArray) ToDataRepositoryAssociationArrayOutput() DataRepositoryAssociationArrayOutput { 306 return i.ToDataRepositoryAssociationArrayOutputWithContext(context.Background()) 307 } 308 309 func (i DataRepositoryAssociationArray) ToDataRepositoryAssociationArrayOutputWithContext(ctx context.Context) DataRepositoryAssociationArrayOutput { 310 return pulumi.ToOutputWithContext(ctx, i).(DataRepositoryAssociationArrayOutput) 311 } 312 313 // DataRepositoryAssociationMapInput is an input type that accepts DataRepositoryAssociationMap and DataRepositoryAssociationMapOutput values. 314 // You can construct a concrete instance of `DataRepositoryAssociationMapInput` via: 315 // 316 // DataRepositoryAssociationMap{ "key": DataRepositoryAssociationArgs{...} } 317 type DataRepositoryAssociationMapInput interface { 318 pulumi.Input 319 320 ToDataRepositoryAssociationMapOutput() DataRepositoryAssociationMapOutput 321 ToDataRepositoryAssociationMapOutputWithContext(context.Context) DataRepositoryAssociationMapOutput 322 } 323 324 type DataRepositoryAssociationMap map[string]DataRepositoryAssociationInput 325 326 func (DataRepositoryAssociationMap) ElementType() reflect.Type { 327 return reflect.TypeOf((*map[string]*DataRepositoryAssociation)(nil)).Elem() 328 } 329 330 func (i DataRepositoryAssociationMap) ToDataRepositoryAssociationMapOutput() DataRepositoryAssociationMapOutput { 331 return i.ToDataRepositoryAssociationMapOutputWithContext(context.Background()) 332 } 333 334 func (i DataRepositoryAssociationMap) ToDataRepositoryAssociationMapOutputWithContext(ctx context.Context) DataRepositoryAssociationMapOutput { 335 return pulumi.ToOutputWithContext(ctx, i).(DataRepositoryAssociationMapOutput) 336 } 337 338 type DataRepositoryAssociationOutput struct{ *pulumi.OutputState } 339 340 func (DataRepositoryAssociationOutput) ElementType() reflect.Type { 341 return reflect.TypeOf((**DataRepositoryAssociation)(nil)).Elem() 342 } 343 344 func (o DataRepositoryAssociationOutput) ToDataRepositoryAssociationOutput() DataRepositoryAssociationOutput { 345 return o 346 } 347 348 func (o DataRepositoryAssociationOutput) ToDataRepositoryAssociationOutputWithContext(ctx context.Context) DataRepositoryAssociationOutput { 349 return o 350 } 351 352 // Amazon Resource Name of the file system. 353 func (o DataRepositoryAssociationOutput) Arn() pulumi.StringOutput { 354 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 355 } 356 357 func (o DataRepositoryAssociationOutput) AssociationId() pulumi.StringOutput { 358 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringOutput { return v.AssociationId }).(pulumi.StringOutput) 359 } 360 361 // Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Defaults to `false`. 362 func (o DataRepositoryAssociationOutput) BatchImportMetaDataOnCreate() pulumi.BoolPtrOutput { 363 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.BoolPtrOutput { return v.BatchImportMetaDataOnCreate }).(pulumi.BoolPtrOutput) 364 } 365 366 // The path to the Amazon S3 data repository that will be linked to the file system. The path must be an S3 bucket s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to. The same S3 bucket cannot be linked more than once to the same file system. 367 func (o DataRepositoryAssociationOutput) DataRepositoryPath() pulumi.StringOutput { 368 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringOutput { return v.DataRepositoryPath }).(pulumi.StringOutput) 369 } 370 371 // Set to true to delete files from the file system upon deleting this data repository association. Defaults to `false`. 372 func (o DataRepositoryAssociationOutput) DeleteDataInFilesystem() pulumi.BoolPtrOutput { 373 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.BoolPtrOutput { return v.DeleteDataInFilesystem }).(pulumi.BoolPtrOutput) 374 } 375 376 // The ID of the Amazon FSx file system to on which to create a data repository association. 377 func (o DataRepositoryAssociationOutput) FileSystemId() pulumi.StringOutput { 378 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringOutput { return v.FileSystemId }).(pulumi.StringOutput) 379 } 380 381 // A path on the file system that points to a high-level directory (such as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be mapped 1-1 with `dataRepositoryPath`. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path `/ns1/`, then you cannot link another data repository with file system path `/ns1/ns2`. This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory. 382 func (o DataRepositoryAssociationOutput) FileSystemPath() pulumi.StringOutput { 383 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringOutput { return v.FileSystemPath }).(pulumi.StringOutput) 384 } 385 386 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system. 387 func (o DataRepositoryAssociationOutput) ImportedFileChunkSize() pulumi.IntOutput { 388 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.IntOutput { return v.ImportedFileChunkSize }).(pulumi.IntOutput) 389 } 390 391 // See the `s3` configuration block. Max of 1. 392 // The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository. 393 func (o DataRepositoryAssociationOutput) S3() DataRepositoryAssociationS3Output { 394 return o.ApplyT(func(v *DataRepositoryAssociation) DataRepositoryAssociationS3Output { return v.S3 }).(DataRepositoryAssociationS3Output) 395 } 396 397 // A map of tags to assign to the data repository association. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 398 func (o DataRepositoryAssociationOutput) Tags() pulumi.StringMapOutput { 399 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 400 } 401 402 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 403 // 404 // Deprecated: Please use `tags` instead. 405 func (o DataRepositoryAssociationOutput) TagsAll() pulumi.StringMapOutput { 406 return o.ApplyT(func(v *DataRepositoryAssociation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 407 } 408 409 type DataRepositoryAssociationArrayOutput struct{ *pulumi.OutputState } 410 411 func (DataRepositoryAssociationArrayOutput) ElementType() reflect.Type { 412 return reflect.TypeOf((*[]*DataRepositoryAssociation)(nil)).Elem() 413 } 414 415 func (o DataRepositoryAssociationArrayOutput) ToDataRepositoryAssociationArrayOutput() DataRepositoryAssociationArrayOutput { 416 return o 417 } 418 419 func (o DataRepositoryAssociationArrayOutput) ToDataRepositoryAssociationArrayOutputWithContext(ctx context.Context) DataRepositoryAssociationArrayOutput { 420 return o 421 } 422 423 func (o DataRepositoryAssociationArrayOutput) Index(i pulumi.IntInput) DataRepositoryAssociationOutput { 424 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataRepositoryAssociation { 425 return vs[0].([]*DataRepositoryAssociation)[vs[1].(int)] 426 }).(DataRepositoryAssociationOutput) 427 } 428 429 type DataRepositoryAssociationMapOutput struct{ *pulumi.OutputState } 430 431 func (DataRepositoryAssociationMapOutput) ElementType() reflect.Type { 432 return reflect.TypeOf((*map[string]*DataRepositoryAssociation)(nil)).Elem() 433 } 434 435 func (o DataRepositoryAssociationMapOutput) ToDataRepositoryAssociationMapOutput() DataRepositoryAssociationMapOutput { 436 return o 437 } 438 439 func (o DataRepositoryAssociationMapOutput) ToDataRepositoryAssociationMapOutputWithContext(ctx context.Context) DataRepositoryAssociationMapOutput { 440 return o 441 } 442 443 func (o DataRepositoryAssociationMapOutput) MapIndex(k pulumi.StringInput) DataRepositoryAssociationOutput { 444 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataRepositoryAssociation { 445 return vs[0].(map[string]*DataRepositoryAssociation)[vs[1].(string)] 446 }).(DataRepositoryAssociationOutput) 447 } 448 449 func init() { 450 pulumi.RegisterInputType(reflect.TypeOf((*DataRepositoryAssociationInput)(nil)).Elem(), &DataRepositoryAssociation{}) 451 pulumi.RegisterInputType(reflect.TypeOf((*DataRepositoryAssociationArrayInput)(nil)).Elem(), DataRepositoryAssociationArray{}) 452 pulumi.RegisterInputType(reflect.TypeOf((*DataRepositoryAssociationMapInput)(nil)).Elem(), DataRepositoryAssociationMap{}) 453 pulumi.RegisterOutputType(DataRepositoryAssociationOutput{}) 454 pulumi.RegisterOutputType(DataRepositoryAssociationArrayOutput{}) 455 pulumi.RegisterOutputType(DataRepositoryAssociationMapOutput{}) 456 }