github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/ontapVolume.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 ONTAP Volume. 16 // See the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html) for more information. 17 // 18 // ## Example Usage 19 // 20 // ### Basic Usage 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // _, err := fsx.NewOntapVolume(ctx, "test", &fsx.OntapVolumeArgs{ 36 // Name: pulumi.String("test"), 37 // JunctionPath: pulumi.String("/test"), 38 // SizeInMegabytes: pulumi.Int(1024), 39 // StorageEfficiencyEnabled: pulumi.Bool(true), 40 // StorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // return nil 46 // }) 47 // } 48 // 49 // ``` 50 // <!--End PulumiCodeChooser --> 51 // 52 // ### Using Tiering Policy 53 // 54 // Additional information on tiering policy with ONTAP Volumes can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html). 55 // 56 // <!--Start PulumiCodeChooser --> 57 // ```go 58 // package main 59 // 60 // import ( 61 // 62 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx" 63 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 64 // 65 // ) 66 // 67 // func main() { 68 // pulumi.Run(func(ctx *pulumi.Context) error { 69 // _, err := fsx.NewOntapVolume(ctx, "test", &fsx.OntapVolumeArgs{ 70 // Name: pulumi.String("test"), 71 // JunctionPath: pulumi.String("/test"), 72 // SizeInMegabytes: pulumi.Int(1024), 73 // StorageEfficiencyEnabled: pulumi.Bool(true), 74 // StorageVirtualMachineId: pulumi.Any(testAwsFsxOntapStorageVirtualMachine.Id), 75 // TieringPolicy: &fsx.OntapVolumeTieringPolicyArgs{ 76 // Name: pulumi.String("AUTO"), 77 // CoolingPeriod: pulumi.Int(31), 78 // }, 79 // }) 80 // if err != nil { 81 // return err 82 // } 83 // return nil 84 // }) 85 // } 86 // 87 // ``` 88 // <!--End PulumiCodeChooser --> 89 // 90 // ## Import 91 // 92 // Using `pulumi import`, import FSx ONTAP volume using the `id`. For example: 93 // 94 // ```sh 95 // $ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123 96 // ``` 97 type OntapVolume struct { 98 pulumi.CustomResourceState 99 100 // Amazon Resource Name of the volune. 101 Arn pulumi.StringOutput `pulumi:"arn"` 102 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 103 BypassSnaplockEnterpriseRetention pulumi.BoolPtrOutput `pulumi:"bypassSnaplockEnterpriseRetention"` 104 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 105 CopyTagsToBackups pulumi.BoolPtrOutput `pulumi:"copyTagsToBackups"` 106 // Describes the file system for the volume, e.g. `fs-12345679` 107 FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"` 108 // Specifies the FlexCache endpoint type of the volume, Valid values are `NONE`, `ORIGIN`, `CACHE`. Default value is `NONE`. These can be set by the ONTAP CLI or API and are use with FlexCache feature. 109 FlexcacheEndpointType pulumi.StringOutput `pulumi:"flexcacheEndpointType"` 110 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 111 JunctionPath pulumi.StringPtrOutput `pulumi:"junctionPath"` 112 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 113 Name pulumi.StringOutput `pulumi:"name"` 114 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 115 OntapVolumeType pulumi.StringOutput `pulumi:"ontapVolumeType"` 116 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 117 SecurityStyle pulumi.StringOutput `pulumi:"securityStyle"` 118 // Specifies the size of the volume, in megabytes (MB), that you are creating. 119 SizeInMegabytes pulumi.IntOutput `pulumi:"sizeInMegabytes"` 120 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 121 SkipFinalBackup pulumi.BoolPtrOutput `pulumi:"skipFinalBackup"` 122 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 123 SnaplockConfiguration OntapVolumeSnaplockConfigurationPtrOutput `pulumi:"snaplockConfiguration"` 124 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 125 SnapshotPolicy pulumi.StringOutput `pulumi:"snapshotPolicy"` 126 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 127 StorageEfficiencyEnabled pulumi.BoolPtrOutput `pulumi:"storageEfficiencyEnabled"` 128 // Specifies the storage virtual machine in which to create the volume. 129 StorageVirtualMachineId pulumi.StringOutput `pulumi:"storageVirtualMachineId"` 130 // A map of tags to assign to the volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 131 Tags pulumi.StringMapOutput `pulumi:"tags"` 132 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 133 // 134 // Deprecated: Please use `tags` instead. 135 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 136 // The data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 137 TieringPolicy OntapVolumeTieringPolicyPtrOutput `pulumi:"tieringPolicy"` 138 // The Volume's UUID (universally unique identifier). 139 Uuid pulumi.StringOutput `pulumi:"uuid"` 140 // The type of volume, currently the only valid value is `ONTAP`. 141 VolumeType pulumi.StringPtrOutput `pulumi:"volumeType"` 142 } 143 144 // NewOntapVolume registers a new resource with the given unique name, arguments, and options. 145 func NewOntapVolume(ctx *pulumi.Context, 146 name string, args *OntapVolumeArgs, opts ...pulumi.ResourceOption) (*OntapVolume, error) { 147 if args == nil { 148 return nil, errors.New("missing one or more required arguments") 149 } 150 151 if args.SizeInMegabytes == nil { 152 return nil, errors.New("invalid value for required argument 'SizeInMegabytes'") 153 } 154 if args.StorageVirtualMachineId == nil { 155 return nil, errors.New("invalid value for required argument 'StorageVirtualMachineId'") 156 } 157 opts = internal.PkgResourceDefaultOpts(opts) 158 var resource OntapVolume 159 err := ctx.RegisterResource("aws:fsx/ontapVolume:OntapVolume", name, args, &resource, opts...) 160 if err != nil { 161 return nil, err 162 } 163 return &resource, nil 164 } 165 166 // GetOntapVolume gets an existing OntapVolume resource's state with the given name, ID, and optional 167 // state properties that are used to uniquely qualify the lookup (nil if not required). 168 func GetOntapVolume(ctx *pulumi.Context, 169 name string, id pulumi.IDInput, state *OntapVolumeState, opts ...pulumi.ResourceOption) (*OntapVolume, error) { 170 var resource OntapVolume 171 err := ctx.ReadResource("aws:fsx/ontapVolume:OntapVolume", name, id, state, &resource, opts...) 172 if err != nil { 173 return nil, err 174 } 175 return &resource, nil 176 } 177 178 // Input properties used for looking up and filtering OntapVolume resources. 179 type ontapVolumeState struct { 180 // Amazon Resource Name of the volune. 181 Arn *string `pulumi:"arn"` 182 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 183 BypassSnaplockEnterpriseRetention *bool `pulumi:"bypassSnaplockEnterpriseRetention"` 184 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 185 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 186 // Describes the file system for the volume, e.g. `fs-12345679` 187 FileSystemId *string `pulumi:"fileSystemId"` 188 // Specifies the FlexCache endpoint type of the volume, Valid values are `NONE`, `ORIGIN`, `CACHE`. Default value is `NONE`. These can be set by the ONTAP CLI or API and are use with FlexCache feature. 189 FlexcacheEndpointType *string `pulumi:"flexcacheEndpointType"` 190 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 191 JunctionPath *string `pulumi:"junctionPath"` 192 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 193 Name *string `pulumi:"name"` 194 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 195 OntapVolumeType *string `pulumi:"ontapVolumeType"` 196 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 197 SecurityStyle *string `pulumi:"securityStyle"` 198 // Specifies the size of the volume, in megabytes (MB), that you are creating. 199 SizeInMegabytes *int `pulumi:"sizeInMegabytes"` 200 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 201 SkipFinalBackup *bool `pulumi:"skipFinalBackup"` 202 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 203 SnaplockConfiguration *OntapVolumeSnaplockConfiguration `pulumi:"snaplockConfiguration"` 204 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 205 SnapshotPolicy *string `pulumi:"snapshotPolicy"` 206 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 207 StorageEfficiencyEnabled *bool `pulumi:"storageEfficiencyEnabled"` 208 // Specifies the storage virtual machine in which to create the volume. 209 StorageVirtualMachineId *string `pulumi:"storageVirtualMachineId"` 210 // A map of tags to assign to the volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 211 Tags map[string]string `pulumi:"tags"` 212 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 213 // 214 // Deprecated: Please use `tags` instead. 215 TagsAll map[string]string `pulumi:"tagsAll"` 216 // The data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 217 TieringPolicy *OntapVolumeTieringPolicy `pulumi:"tieringPolicy"` 218 // The Volume's UUID (universally unique identifier). 219 Uuid *string `pulumi:"uuid"` 220 // The type of volume, currently the only valid value is `ONTAP`. 221 VolumeType *string `pulumi:"volumeType"` 222 } 223 224 type OntapVolumeState struct { 225 // Amazon Resource Name of the volune. 226 Arn pulumi.StringPtrInput 227 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 228 BypassSnaplockEnterpriseRetention pulumi.BoolPtrInput 229 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 230 CopyTagsToBackups pulumi.BoolPtrInput 231 // Describes the file system for the volume, e.g. `fs-12345679` 232 FileSystemId pulumi.StringPtrInput 233 // Specifies the FlexCache endpoint type of the volume, Valid values are `NONE`, `ORIGIN`, `CACHE`. Default value is `NONE`. These can be set by the ONTAP CLI or API and are use with FlexCache feature. 234 FlexcacheEndpointType pulumi.StringPtrInput 235 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 236 JunctionPath pulumi.StringPtrInput 237 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 238 Name pulumi.StringPtrInput 239 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 240 OntapVolumeType pulumi.StringPtrInput 241 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 242 SecurityStyle pulumi.StringPtrInput 243 // Specifies the size of the volume, in megabytes (MB), that you are creating. 244 SizeInMegabytes pulumi.IntPtrInput 245 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 246 SkipFinalBackup pulumi.BoolPtrInput 247 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 248 SnaplockConfiguration OntapVolumeSnaplockConfigurationPtrInput 249 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 250 SnapshotPolicy pulumi.StringPtrInput 251 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 252 StorageEfficiencyEnabled pulumi.BoolPtrInput 253 // Specifies the storage virtual machine in which to create the volume. 254 StorageVirtualMachineId pulumi.StringPtrInput 255 // A map of tags to assign to the volume. 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 data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 262 TieringPolicy OntapVolumeTieringPolicyPtrInput 263 // The Volume's UUID (universally unique identifier). 264 Uuid pulumi.StringPtrInput 265 // The type of volume, currently the only valid value is `ONTAP`. 266 VolumeType pulumi.StringPtrInput 267 } 268 269 func (OntapVolumeState) ElementType() reflect.Type { 270 return reflect.TypeOf((*ontapVolumeState)(nil)).Elem() 271 } 272 273 type ontapVolumeArgs struct { 274 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 275 BypassSnaplockEnterpriseRetention *bool `pulumi:"bypassSnaplockEnterpriseRetention"` 276 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 277 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 278 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 279 JunctionPath *string `pulumi:"junctionPath"` 280 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 281 Name *string `pulumi:"name"` 282 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 283 OntapVolumeType *string `pulumi:"ontapVolumeType"` 284 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 285 SecurityStyle *string `pulumi:"securityStyle"` 286 // Specifies the size of the volume, in megabytes (MB), that you are creating. 287 SizeInMegabytes int `pulumi:"sizeInMegabytes"` 288 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 289 SkipFinalBackup *bool `pulumi:"skipFinalBackup"` 290 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 291 SnaplockConfiguration *OntapVolumeSnaplockConfiguration `pulumi:"snaplockConfiguration"` 292 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 293 SnapshotPolicy *string `pulumi:"snapshotPolicy"` 294 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 295 StorageEfficiencyEnabled *bool `pulumi:"storageEfficiencyEnabled"` 296 // Specifies the storage virtual machine in which to create the volume. 297 StorageVirtualMachineId string `pulumi:"storageVirtualMachineId"` 298 // A map of tags to assign to the volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 299 Tags map[string]string `pulumi:"tags"` 300 // The data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 301 TieringPolicy *OntapVolumeTieringPolicy `pulumi:"tieringPolicy"` 302 // The type of volume, currently the only valid value is `ONTAP`. 303 VolumeType *string `pulumi:"volumeType"` 304 } 305 306 // The set of arguments for constructing a OntapVolume resource. 307 type OntapVolumeArgs struct { 308 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 309 BypassSnaplockEnterpriseRetention pulumi.BoolPtrInput 310 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 311 CopyTagsToBackups pulumi.BoolPtrInput 312 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 313 JunctionPath pulumi.StringPtrInput 314 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 315 Name pulumi.StringPtrInput 316 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 317 OntapVolumeType pulumi.StringPtrInput 318 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 319 SecurityStyle pulumi.StringPtrInput 320 // Specifies the size of the volume, in megabytes (MB), that you are creating. 321 SizeInMegabytes pulumi.IntInput 322 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 323 SkipFinalBackup pulumi.BoolPtrInput 324 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 325 SnaplockConfiguration OntapVolumeSnaplockConfigurationPtrInput 326 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 327 SnapshotPolicy pulumi.StringPtrInput 328 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 329 StorageEfficiencyEnabled pulumi.BoolPtrInput 330 // Specifies the storage virtual machine in which to create the volume. 331 StorageVirtualMachineId pulumi.StringInput 332 // A map of tags to assign to the volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 333 Tags pulumi.StringMapInput 334 // The data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 335 TieringPolicy OntapVolumeTieringPolicyPtrInput 336 // The type of volume, currently the only valid value is `ONTAP`. 337 VolumeType pulumi.StringPtrInput 338 } 339 340 func (OntapVolumeArgs) ElementType() reflect.Type { 341 return reflect.TypeOf((*ontapVolumeArgs)(nil)).Elem() 342 } 343 344 type OntapVolumeInput interface { 345 pulumi.Input 346 347 ToOntapVolumeOutput() OntapVolumeOutput 348 ToOntapVolumeOutputWithContext(ctx context.Context) OntapVolumeOutput 349 } 350 351 func (*OntapVolume) ElementType() reflect.Type { 352 return reflect.TypeOf((**OntapVolume)(nil)).Elem() 353 } 354 355 func (i *OntapVolume) ToOntapVolumeOutput() OntapVolumeOutput { 356 return i.ToOntapVolumeOutputWithContext(context.Background()) 357 } 358 359 func (i *OntapVolume) ToOntapVolumeOutputWithContext(ctx context.Context) OntapVolumeOutput { 360 return pulumi.ToOutputWithContext(ctx, i).(OntapVolumeOutput) 361 } 362 363 // OntapVolumeArrayInput is an input type that accepts OntapVolumeArray and OntapVolumeArrayOutput values. 364 // You can construct a concrete instance of `OntapVolumeArrayInput` via: 365 // 366 // OntapVolumeArray{ OntapVolumeArgs{...} } 367 type OntapVolumeArrayInput interface { 368 pulumi.Input 369 370 ToOntapVolumeArrayOutput() OntapVolumeArrayOutput 371 ToOntapVolumeArrayOutputWithContext(context.Context) OntapVolumeArrayOutput 372 } 373 374 type OntapVolumeArray []OntapVolumeInput 375 376 func (OntapVolumeArray) ElementType() reflect.Type { 377 return reflect.TypeOf((*[]*OntapVolume)(nil)).Elem() 378 } 379 380 func (i OntapVolumeArray) ToOntapVolumeArrayOutput() OntapVolumeArrayOutput { 381 return i.ToOntapVolumeArrayOutputWithContext(context.Background()) 382 } 383 384 func (i OntapVolumeArray) ToOntapVolumeArrayOutputWithContext(ctx context.Context) OntapVolumeArrayOutput { 385 return pulumi.ToOutputWithContext(ctx, i).(OntapVolumeArrayOutput) 386 } 387 388 // OntapVolumeMapInput is an input type that accepts OntapVolumeMap and OntapVolumeMapOutput values. 389 // You can construct a concrete instance of `OntapVolumeMapInput` via: 390 // 391 // OntapVolumeMap{ "key": OntapVolumeArgs{...} } 392 type OntapVolumeMapInput interface { 393 pulumi.Input 394 395 ToOntapVolumeMapOutput() OntapVolumeMapOutput 396 ToOntapVolumeMapOutputWithContext(context.Context) OntapVolumeMapOutput 397 } 398 399 type OntapVolumeMap map[string]OntapVolumeInput 400 401 func (OntapVolumeMap) ElementType() reflect.Type { 402 return reflect.TypeOf((*map[string]*OntapVolume)(nil)).Elem() 403 } 404 405 func (i OntapVolumeMap) ToOntapVolumeMapOutput() OntapVolumeMapOutput { 406 return i.ToOntapVolumeMapOutputWithContext(context.Background()) 407 } 408 409 func (i OntapVolumeMap) ToOntapVolumeMapOutputWithContext(ctx context.Context) OntapVolumeMapOutput { 410 return pulumi.ToOutputWithContext(ctx, i).(OntapVolumeMapOutput) 411 } 412 413 type OntapVolumeOutput struct{ *pulumi.OutputState } 414 415 func (OntapVolumeOutput) ElementType() reflect.Type { 416 return reflect.TypeOf((**OntapVolume)(nil)).Elem() 417 } 418 419 func (o OntapVolumeOutput) ToOntapVolumeOutput() OntapVolumeOutput { 420 return o 421 } 422 423 func (o OntapVolumeOutput) ToOntapVolumeOutputWithContext(ctx context.Context) OntapVolumeOutput { 424 return o 425 } 426 427 // Amazon Resource Name of the volune. 428 func (o OntapVolumeOutput) Arn() pulumi.StringOutput { 429 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 430 } 431 432 // Setting this to `true` allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 433 func (o OntapVolumeOutput) BypassSnaplockEnterpriseRetention() pulumi.BoolPtrOutput { 434 return o.ApplyT(func(v *OntapVolume) pulumi.BoolPtrOutput { return v.BypassSnaplockEnterpriseRetention }).(pulumi.BoolPtrOutput) 435 } 436 437 // A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to `false`. 438 func (o OntapVolumeOutput) CopyTagsToBackups() pulumi.BoolPtrOutput { 439 return o.ApplyT(func(v *OntapVolume) pulumi.BoolPtrOutput { return v.CopyTagsToBackups }).(pulumi.BoolPtrOutput) 440 } 441 442 // Describes the file system for the volume, e.g. `fs-12345679` 443 func (o OntapVolumeOutput) FileSystemId() pulumi.StringOutput { 444 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.FileSystemId }).(pulumi.StringOutput) 445 } 446 447 // Specifies the FlexCache endpoint type of the volume, Valid values are `NONE`, `ORIGIN`, `CACHE`. Default value is `NONE`. These can be set by the ONTAP CLI or API and are use with FlexCache feature. 448 func (o OntapVolumeOutput) FlexcacheEndpointType() pulumi.StringOutput { 449 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.FlexcacheEndpointType }).(pulumi.StringOutput) 450 } 451 452 // Specifies the location in the storage virtual machine's namespace where the volume is mounted. The junctionPath must have a leading forward slash, such as `/vol3` 453 func (o OntapVolumeOutput) JunctionPath() pulumi.StringPtrOutput { 454 return o.ApplyT(func(v *OntapVolume) pulumi.StringPtrOutput { return v.JunctionPath }).(pulumi.StringPtrOutput) 455 } 456 457 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 458 func (o OntapVolumeOutput) Name() pulumi.StringOutput { 459 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 460 } 461 462 // Specifies the type of volume, valid values are `RW`, `DP`. Default value is `RW`. These can be set by the ONTAP CLI or API. This setting is used as part of migration and replication [Migrating to Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html) 463 func (o OntapVolumeOutput) OntapVolumeType() pulumi.StringOutput { 464 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.OntapVolumeType }).(pulumi.StringOutput) 465 } 466 467 // Specifies the volume security style, Valid values are `UNIX`, `NTFS`, and `MIXED`. 468 func (o OntapVolumeOutput) SecurityStyle() pulumi.StringOutput { 469 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.SecurityStyle }).(pulumi.StringOutput) 470 } 471 472 // Specifies the size of the volume, in megabytes (MB), that you are creating. 473 func (o OntapVolumeOutput) SizeInMegabytes() pulumi.IntOutput { 474 return o.ApplyT(func(v *OntapVolume) pulumi.IntOutput { return v.SizeInMegabytes }).(pulumi.IntOutput) 475 } 476 477 // When enabled, will skip the default final backup taken when the volume is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 478 func (o OntapVolumeOutput) SkipFinalBackup() pulumi.BoolPtrOutput { 479 return o.ApplyT(func(v *OntapVolume) pulumi.BoolPtrOutput { return v.SkipFinalBackup }).(pulumi.BoolPtrOutput) 480 } 481 482 // The SnapLock configuration for an FSx for ONTAP volume. See SnapLock Configuration below. 483 func (o OntapVolumeOutput) SnaplockConfiguration() OntapVolumeSnaplockConfigurationPtrOutput { 484 return o.ApplyT(func(v *OntapVolume) OntapVolumeSnaplockConfigurationPtrOutput { return v.SnaplockConfiguration }).(OntapVolumeSnaplockConfigurationPtrOutput) 485 } 486 487 // Specifies the snapshot policy for the volume. See [snapshot policies](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snapshots-ontap.html#snapshot-policies) in the Amazon FSx ONTAP User Guide 488 func (o OntapVolumeOutput) SnapshotPolicy() pulumi.StringOutput { 489 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.SnapshotPolicy }).(pulumi.StringOutput) 490 } 491 492 // Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume. 493 func (o OntapVolumeOutput) StorageEfficiencyEnabled() pulumi.BoolPtrOutput { 494 return o.ApplyT(func(v *OntapVolume) pulumi.BoolPtrOutput { return v.StorageEfficiencyEnabled }).(pulumi.BoolPtrOutput) 495 } 496 497 // Specifies the storage virtual machine in which to create the volume. 498 func (o OntapVolumeOutput) StorageVirtualMachineId() pulumi.StringOutput { 499 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.StorageVirtualMachineId }).(pulumi.StringOutput) 500 } 501 502 // A map of tags to assign to the volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 503 func (o OntapVolumeOutput) Tags() pulumi.StringMapOutput { 504 return o.ApplyT(func(v *OntapVolume) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 505 } 506 507 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 508 // 509 // Deprecated: Please use `tags` instead. 510 func (o OntapVolumeOutput) TagsAll() pulumi.StringMapOutput { 511 return o.ApplyT(func(v *OntapVolume) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 512 } 513 514 // The data tiering policy for an FSx for ONTAP volume. See Tiering Policy below. 515 func (o OntapVolumeOutput) TieringPolicy() OntapVolumeTieringPolicyPtrOutput { 516 return o.ApplyT(func(v *OntapVolume) OntapVolumeTieringPolicyPtrOutput { return v.TieringPolicy }).(OntapVolumeTieringPolicyPtrOutput) 517 } 518 519 // The Volume's UUID (universally unique identifier). 520 func (o OntapVolumeOutput) Uuid() pulumi.StringOutput { 521 return o.ApplyT(func(v *OntapVolume) pulumi.StringOutput { return v.Uuid }).(pulumi.StringOutput) 522 } 523 524 // The type of volume, currently the only valid value is `ONTAP`. 525 func (o OntapVolumeOutput) VolumeType() pulumi.StringPtrOutput { 526 return o.ApplyT(func(v *OntapVolume) pulumi.StringPtrOutput { return v.VolumeType }).(pulumi.StringPtrOutput) 527 } 528 529 type OntapVolumeArrayOutput struct{ *pulumi.OutputState } 530 531 func (OntapVolumeArrayOutput) ElementType() reflect.Type { 532 return reflect.TypeOf((*[]*OntapVolume)(nil)).Elem() 533 } 534 535 func (o OntapVolumeArrayOutput) ToOntapVolumeArrayOutput() OntapVolumeArrayOutput { 536 return o 537 } 538 539 func (o OntapVolumeArrayOutput) ToOntapVolumeArrayOutputWithContext(ctx context.Context) OntapVolumeArrayOutput { 540 return o 541 } 542 543 func (o OntapVolumeArrayOutput) Index(i pulumi.IntInput) OntapVolumeOutput { 544 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OntapVolume { 545 return vs[0].([]*OntapVolume)[vs[1].(int)] 546 }).(OntapVolumeOutput) 547 } 548 549 type OntapVolumeMapOutput struct{ *pulumi.OutputState } 550 551 func (OntapVolumeMapOutput) ElementType() reflect.Type { 552 return reflect.TypeOf((*map[string]*OntapVolume)(nil)).Elem() 553 } 554 555 func (o OntapVolumeMapOutput) ToOntapVolumeMapOutput() OntapVolumeMapOutput { 556 return o 557 } 558 559 func (o OntapVolumeMapOutput) ToOntapVolumeMapOutputWithContext(ctx context.Context) OntapVolumeMapOutput { 560 return o 561 } 562 563 func (o OntapVolumeMapOutput) MapIndex(k pulumi.StringInput) OntapVolumeOutput { 564 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OntapVolume { 565 return vs[0].(map[string]*OntapVolume)[vs[1].(string)] 566 }).(OntapVolumeOutput) 567 } 568 569 func init() { 570 pulumi.RegisterInputType(reflect.TypeOf((*OntapVolumeInput)(nil)).Elem(), &OntapVolume{}) 571 pulumi.RegisterInputType(reflect.TypeOf((*OntapVolumeArrayInput)(nil)).Elem(), OntapVolumeArray{}) 572 pulumi.RegisterInputType(reflect.TypeOf((*OntapVolumeMapInput)(nil)).Elem(), OntapVolumeMap{}) 573 pulumi.RegisterOutputType(OntapVolumeOutput{}) 574 pulumi.RegisterOutputType(OntapVolumeArrayOutput{}) 575 pulumi.RegisterOutputType(OntapVolumeMapOutput{}) 576 }