github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/openZfsVolume.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 an Amazon FSx for OpenZFS volume. 16 // See the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := fsx.NewOpenZfsVolume(ctx, "test", &fsx.OpenZfsVolumeArgs{ 34 // Name: pulumi.String("testvolume"), 35 // ParentVolumeId: pulumi.Any(testAwsFsxOpenzfsFileSystem.RootVolumeId), 36 // }) 37 // if err != nil { 38 // return err 39 // } 40 // return nil 41 // }) 42 // } 43 // 44 // ``` 45 // <!--End PulumiCodeChooser --> 46 // 47 // ## Import 48 // 49 // Using `pulumi import`, import FSx Volumes using the `id`. For example: 50 // 51 // ```sh 52 // $ pulumi import aws:fsx/openZfsVolume:OpenZfsVolume example fsvol-543ab12b1ca672f33 53 // ``` 54 type OpenZfsVolume struct { 55 pulumi.CustomResourceState 56 57 // Amazon Resource Name of the file system. 58 Arn pulumi.StringOutput `pulumi:"arn"` 59 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 60 CopyTagsToSnapshots pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshots"` 61 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 62 DataCompressionType pulumi.StringPtrOutput `pulumi:"dataCompressionType"` 63 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 64 DeleteVolumeOptions pulumi.StringPtrOutput `pulumi:"deleteVolumeOptions"` 65 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 66 Name pulumi.StringOutput `pulumi:"name"` 67 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 68 NfsExports OpenZfsVolumeNfsExportsPtrOutput `pulumi:"nfsExports"` 69 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 70 OriginSnapshot OpenZfsVolumeOriginSnapshotPtrOutput `pulumi:"originSnapshot"` 71 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 72 ParentVolumeId pulumi.StringOutput `pulumi:"parentVolumeId"` 73 // specifies whether the volume is read-only. Default is false. 74 ReadOnly pulumi.BoolOutput `pulumi:"readOnly"` 75 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 76 RecordSizeKib pulumi.IntPtrOutput `pulumi:"recordSizeKib"` 77 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 78 StorageCapacityQuotaGib pulumi.IntOutput `pulumi:"storageCapacityQuotaGib"` 79 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 80 StorageCapacityReservationGib pulumi.IntOutput `pulumi:"storageCapacityReservationGib"` 81 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 82 Tags pulumi.StringMapOutput `pulumi:"tags"` 83 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 84 // 85 // Deprecated: Please use `tags` instead. 86 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 87 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 88 UserAndGroupQuotas OpenZfsVolumeUserAndGroupQuotaArrayOutput `pulumi:"userAndGroupQuotas"` 89 VolumeType pulumi.StringPtrOutput `pulumi:"volumeType"` 90 } 91 92 // NewOpenZfsVolume registers a new resource with the given unique name, arguments, and options. 93 func NewOpenZfsVolume(ctx *pulumi.Context, 94 name string, args *OpenZfsVolumeArgs, opts ...pulumi.ResourceOption) (*OpenZfsVolume, error) { 95 if args == nil { 96 return nil, errors.New("missing one or more required arguments") 97 } 98 99 if args.ParentVolumeId == nil { 100 return nil, errors.New("invalid value for required argument 'ParentVolumeId'") 101 } 102 opts = internal.PkgResourceDefaultOpts(opts) 103 var resource OpenZfsVolume 104 err := ctx.RegisterResource("aws:fsx/openZfsVolume:OpenZfsVolume", name, args, &resource, opts...) 105 if err != nil { 106 return nil, err 107 } 108 return &resource, nil 109 } 110 111 // GetOpenZfsVolume gets an existing OpenZfsVolume resource's state with the given name, ID, and optional 112 // state properties that are used to uniquely qualify the lookup (nil if not required). 113 func GetOpenZfsVolume(ctx *pulumi.Context, 114 name string, id pulumi.IDInput, state *OpenZfsVolumeState, opts ...pulumi.ResourceOption) (*OpenZfsVolume, error) { 115 var resource OpenZfsVolume 116 err := ctx.ReadResource("aws:fsx/openZfsVolume:OpenZfsVolume", name, id, state, &resource, opts...) 117 if err != nil { 118 return nil, err 119 } 120 return &resource, nil 121 } 122 123 // Input properties used for looking up and filtering OpenZfsVolume resources. 124 type openZfsVolumeState struct { 125 // Amazon Resource Name of the file system. 126 Arn *string `pulumi:"arn"` 127 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 128 CopyTagsToSnapshots *bool `pulumi:"copyTagsToSnapshots"` 129 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 130 DataCompressionType *string `pulumi:"dataCompressionType"` 131 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 132 DeleteVolumeOptions *string `pulumi:"deleteVolumeOptions"` 133 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 134 Name *string `pulumi:"name"` 135 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 136 NfsExports *OpenZfsVolumeNfsExports `pulumi:"nfsExports"` 137 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 138 OriginSnapshot *OpenZfsVolumeOriginSnapshot `pulumi:"originSnapshot"` 139 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 140 ParentVolumeId *string `pulumi:"parentVolumeId"` 141 // specifies whether the volume is read-only. Default is false. 142 ReadOnly *bool `pulumi:"readOnly"` 143 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 144 RecordSizeKib *int `pulumi:"recordSizeKib"` 145 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 146 StorageCapacityQuotaGib *int `pulumi:"storageCapacityQuotaGib"` 147 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 148 StorageCapacityReservationGib *int `pulumi:"storageCapacityReservationGib"` 149 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 150 Tags map[string]string `pulumi:"tags"` 151 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 152 // 153 // Deprecated: Please use `tags` instead. 154 TagsAll map[string]string `pulumi:"tagsAll"` 155 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 156 UserAndGroupQuotas []OpenZfsVolumeUserAndGroupQuota `pulumi:"userAndGroupQuotas"` 157 VolumeType *string `pulumi:"volumeType"` 158 } 159 160 type OpenZfsVolumeState struct { 161 // Amazon Resource Name of the file system. 162 Arn pulumi.StringPtrInput 163 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 164 CopyTagsToSnapshots pulumi.BoolPtrInput 165 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 166 DataCompressionType pulumi.StringPtrInput 167 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 168 DeleteVolumeOptions pulumi.StringPtrInput 169 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 170 Name pulumi.StringPtrInput 171 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 172 NfsExports OpenZfsVolumeNfsExportsPtrInput 173 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 174 OriginSnapshot OpenZfsVolumeOriginSnapshotPtrInput 175 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 176 ParentVolumeId pulumi.StringPtrInput 177 // specifies whether the volume is read-only. Default is false. 178 ReadOnly pulumi.BoolPtrInput 179 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 180 RecordSizeKib pulumi.IntPtrInput 181 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 182 StorageCapacityQuotaGib pulumi.IntPtrInput 183 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 184 StorageCapacityReservationGib pulumi.IntPtrInput 185 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 186 Tags pulumi.StringMapInput 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 pulumi.StringMapInput 191 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 192 UserAndGroupQuotas OpenZfsVolumeUserAndGroupQuotaArrayInput 193 VolumeType pulumi.StringPtrInput 194 } 195 196 func (OpenZfsVolumeState) ElementType() reflect.Type { 197 return reflect.TypeOf((*openZfsVolumeState)(nil)).Elem() 198 } 199 200 type openZfsVolumeArgs struct { 201 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 202 CopyTagsToSnapshots *bool `pulumi:"copyTagsToSnapshots"` 203 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 204 DataCompressionType *string `pulumi:"dataCompressionType"` 205 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 206 DeleteVolumeOptions *string `pulumi:"deleteVolumeOptions"` 207 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 208 Name *string `pulumi:"name"` 209 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 210 NfsExports *OpenZfsVolumeNfsExports `pulumi:"nfsExports"` 211 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 212 OriginSnapshot *OpenZfsVolumeOriginSnapshot `pulumi:"originSnapshot"` 213 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 214 ParentVolumeId string `pulumi:"parentVolumeId"` 215 // specifies whether the volume is read-only. Default is false. 216 ReadOnly *bool `pulumi:"readOnly"` 217 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 218 RecordSizeKib *int `pulumi:"recordSizeKib"` 219 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 220 StorageCapacityQuotaGib *int `pulumi:"storageCapacityQuotaGib"` 221 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 222 StorageCapacityReservationGib *int `pulumi:"storageCapacityReservationGib"` 223 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 224 Tags map[string]string `pulumi:"tags"` 225 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 226 UserAndGroupQuotas []OpenZfsVolumeUserAndGroupQuota `pulumi:"userAndGroupQuotas"` 227 VolumeType *string `pulumi:"volumeType"` 228 } 229 230 // The set of arguments for constructing a OpenZfsVolume resource. 231 type OpenZfsVolumeArgs struct { 232 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 233 CopyTagsToSnapshots pulumi.BoolPtrInput 234 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 235 DataCompressionType pulumi.StringPtrInput 236 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 237 DeleteVolumeOptions pulumi.StringPtrInput 238 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 239 Name pulumi.StringPtrInput 240 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 241 NfsExports OpenZfsVolumeNfsExportsPtrInput 242 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 243 OriginSnapshot OpenZfsVolumeOriginSnapshotPtrInput 244 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 245 ParentVolumeId pulumi.StringInput 246 // specifies whether the volume is read-only. Default is false. 247 ReadOnly pulumi.BoolPtrInput 248 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 249 RecordSizeKib pulumi.IntPtrInput 250 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 251 StorageCapacityQuotaGib pulumi.IntPtrInput 252 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 253 StorageCapacityReservationGib pulumi.IntPtrInput 254 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 255 Tags pulumi.StringMapInput 256 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 257 UserAndGroupQuotas OpenZfsVolumeUserAndGroupQuotaArrayInput 258 VolumeType pulumi.StringPtrInput 259 } 260 261 func (OpenZfsVolumeArgs) ElementType() reflect.Type { 262 return reflect.TypeOf((*openZfsVolumeArgs)(nil)).Elem() 263 } 264 265 type OpenZfsVolumeInput interface { 266 pulumi.Input 267 268 ToOpenZfsVolumeOutput() OpenZfsVolumeOutput 269 ToOpenZfsVolumeOutputWithContext(ctx context.Context) OpenZfsVolumeOutput 270 } 271 272 func (*OpenZfsVolume) ElementType() reflect.Type { 273 return reflect.TypeOf((**OpenZfsVolume)(nil)).Elem() 274 } 275 276 func (i *OpenZfsVolume) ToOpenZfsVolumeOutput() OpenZfsVolumeOutput { 277 return i.ToOpenZfsVolumeOutputWithContext(context.Background()) 278 } 279 280 func (i *OpenZfsVolume) ToOpenZfsVolumeOutputWithContext(ctx context.Context) OpenZfsVolumeOutput { 281 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsVolumeOutput) 282 } 283 284 // OpenZfsVolumeArrayInput is an input type that accepts OpenZfsVolumeArray and OpenZfsVolumeArrayOutput values. 285 // You can construct a concrete instance of `OpenZfsVolumeArrayInput` via: 286 // 287 // OpenZfsVolumeArray{ OpenZfsVolumeArgs{...} } 288 type OpenZfsVolumeArrayInput interface { 289 pulumi.Input 290 291 ToOpenZfsVolumeArrayOutput() OpenZfsVolumeArrayOutput 292 ToOpenZfsVolumeArrayOutputWithContext(context.Context) OpenZfsVolumeArrayOutput 293 } 294 295 type OpenZfsVolumeArray []OpenZfsVolumeInput 296 297 func (OpenZfsVolumeArray) ElementType() reflect.Type { 298 return reflect.TypeOf((*[]*OpenZfsVolume)(nil)).Elem() 299 } 300 301 func (i OpenZfsVolumeArray) ToOpenZfsVolumeArrayOutput() OpenZfsVolumeArrayOutput { 302 return i.ToOpenZfsVolumeArrayOutputWithContext(context.Background()) 303 } 304 305 func (i OpenZfsVolumeArray) ToOpenZfsVolumeArrayOutputWithContext(ctx context.Context) OpenZfsVolumeArrayOutput { 306 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsVolumeArrayOutput) 307 } 308 309 // OpenZfsVolumeMapInput is an input type that accepts OpenZfsVolumeMap and OpenZfsVolumeMapOutput values. 310 // You can construct a concrete instance of `OpenZfsVolumeMapInput` via: 311 // 312 // OpenZfsVolumeMap{ "key": OpenZfsVolumeArgs{...} } 313 type OpenZfsVolumeMapInput interface { 314 pulumi.Input 315 316 ToOpenZfsVolumeMapOutput() OpenZfsVolumeMapOutput 317 ToOpenZfsVolumeMapOutputWithContext(context.Context) OpenZfsVolumeMapOutput 318 } 319 320 type OpenZfsVolumeMap map[string]OpenZfsVolumeInput 321 322 func (OpenZfsVolumeMap) ElementType() reflect.Type { 323 return reflect.TypeOf((*map[string]*OpenZfsVolume)(nil)).Elem() 324 } 325 326 func (i OpenZfsVolumeMap) ToOpenZfsVolumeMapOutput() OpenZfsVolumeMapOutput { 327 return i.ToOpenZfsVolumeMapOutputWithContext(context.Background()) 328 } 329 330 func (i OpenZfsVolumeMap) ToOpenZfsVolumeMapOutputWithContext(ctx context.Context) OpenZfsVolumeMapOutput { 331 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsVolumeMapOutput) 332 } 333 334 type OpenZfsVolumeOutput struct{ *pulumi.OutputState } 335 336 func (OpenZfsVolumeOutput) ElementType() reflect.Type { 337 return reflect.TypeOf((**OpenZfsVolume)(nil)).Elem() 338 } 339 340 func (o OpenZfsVolumeOutput) ToOpenZfsVolumeOutput() OpenZfsVolumeOutput { 341 return o 342 } 343 344 func (o OpenZfsVolumeOutput) ToOpenZfsVolumeOutputWithContext(ctx context.Context) OpenZfsVolumeOutput { 345 return o 346 } 347 348 // Amazon Resource Name of the file system. 349 func (o OpenZfsVolumeOutput) Arn() pulumi.StringOutput { 350 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 351 } 352 353 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 354 func (o OpenZfsVolumeOutput) CopyTagsToSnapshots() pulumi.BoolPtrOutput { 355 return o.ApplyT(func(v *OpenZfsVolume) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshots }).(pulumi.BoolPtrOutput) 356 } 357 358 // Method used to compress the data on the volume. Valid values are `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume. 359 func (o OpenZfsVolumeOutput) DataCompressionType() pulumi.StringPtrOutput { 360 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringPtrOutput { return v.DataCompressionType }).(pulumi.StringPtrOutput) 361 } 362 363 // Whether to delete all child volumes and snapshots. Valid values: `DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`. This configuration must be applied separately before attempting to delete the resource to have the desired behavior.. 364 func (o OpenZfsVolumeOutput) DeleteVolumeOptions() pulumi.StringPtrOutput { 365 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringPtrOutput { return v.DeleteVolumeOptions }).(pulumi.StringPtrOutput) 366 } 367 368 // The name of the Volume. You can use a maximum of 203 alphanumeric characters, plus the underscore (_) special character. 369 func (o OpenZfsVolumeOutput) Name() pulumi.StringOutput { 370 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 371 } 372 373 // NFS export configuration for the root volume. Exactly 1 item. See `nfsExports` Block Below for details. 374 func (o OpenZfsVolumeOutput) NfsExports() OpenZfsVolumeNfsExportsPtrOutput { 375 return o.ApplyT(func(v *OpenZfsVolume) OpenZfsVolumeNfsExportsPtrOutput { return v.NfsExports }).(OpenZfsVolumeNfsExportsPtrOutput) 376 } 377 378 // Specifies the configuration to use when creating the OpenZFS volume. See `originSnapshot` Block below for details. 379 func (o OpenZfsVolumeOutput) OriginSnapshot() OpenZfsVolumeOriginSnapshotPtrOutput { 380 return o.ApplyT(func(v *OpenZfsVolume) OpenZfsVolumeOriginSnapshotPtrOutput { return v.OriginSnapshot }).(OpenZfsVolumeOriginSnapshotPtrOutput) 381 } 382 383 // The volume id of volume that will be the parent volume for the volume being created, this could be the root volume created from the `fsx.OpenZfsFileSystem` resource with the `rootVolumeId` or the `id` property of another `fsx.OpenZfsVolume`. 384 func (o OpenZfsVolumeOutput) ParentVolumeId() pulumi.StringOutput { 385 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringOutput { return v.ParentVolumeId }).(pulumi.StringOutput) 386 } 387 388 // specifies whether the volume is read-only. Default is false. 389 func (o OpenZfsVolumeOutput) ReadOnly() pulumi.BoolOutput { 390 return o.ApplyT(func(v *OpenZfsVolume) pulumi.BoolOutput { return v.ReadOnly }).(pulumi.BoolOutput) 391 } 392 393 // The record size of an OpenZFS volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB. 394 func (o OpenZfsVolumeOutput) RecordSizeKib() pulumi.IntPtrOutput { 395 return o.ApplyT(func(v *OpenZfsVolume) pulumi.IntPtrOutput { return v.RecordSizeKib }).(pulumi.IntPtrOutput) 396 } 397 398 // The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. 399 func (o OpenZfsVolumeOutput) StorageCapacityQuotaGib() pulumi.IntOutput { 400 return o.ApplyT(func(v *OpenZfsVolume) pulumi.IntOutput { return v.StorageCapacityQuotaGib }).(pulumi.IntOutput) 401 } 402 403 // The amount of storage in gibibytes (GiB) to reserve from the parent volume. 404 func (o OpenZfsVolumeOutput) StorageCapacityReservationGib() pulumi.IntOutput { 405 return o.ApplyT(func(v *OpenZfsVolume) pulumi.IntOutput { return v.StorageCapacityReservationGib }).(pulumi.IntOutput) 406 } 407 408 // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 409 func (o OpenZfsVolumeOutput) Tags() pulumi.StringMapOutput { 410 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 411 } 412 413 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 414 // 415 // Deprecated: Please use `tags` instead. 416 func (o OpenZfsVolumeOutput) TagsAll() pulumi.StringMapOutput { 417 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 418 } 419 420 // Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `userAndGroupQuotas` Block Below. 421 func (o OpenZfsVolumeOutput) UserAndGroupQuotas() OpenZfsVolumeUserAndGroupQuotaArrayOutput { 422 return o.ApplyT(func(v *OpenZfsVolume) OpenZfsVolumeUserAndGroupQuotaArrayOutput { return v.UserAndGroupQuotas }).(OpenZfsVolumeUserAndGroupQuotaArrayOutput) 423 } 424 425 func (o OpenZfsVolumeOutput) VolumeType() pulumi.StringPtrOutput { 426 return o.ApplyT(func(v *OpenZfsVolume) pulumi.StringPtrOutput { return v.VolumeType }).(pulumi.StringPtrOutput) 427 } 428 429 type OpenZfsVolumeArrayOutput struct{ *pulumi.OutputState } 430 431 func (OpenZfsVolumeArrayOutput) ElementType() reflect.Type { 432 return reflect.TypeOf((*[]*OpenZfsVolume)(nil)).Elem() 433 } 434 435 func (o OpenZfsVolumeArrayOutput) ToOpenZfsVolumeArrayOutput() OpenZfsVolumeArrayOutput { 436 return o 437 } 438 439 func (o OpenZfsVolumeArrayOutput) ToOpenZfsVolumeArrayOutputWithContext(ctx context.Context) OpenZfsVolumeArrayOutput { 440 return o 441 } 442 443 func (o OpenZfsVolumeArrayOutput) Index(i pulumi.IntInput) OpenZfsVolumeOutput { 444 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpenZfsVolume { 445 return vs[0].([]*OpenZfsVolume)[vs[1].(int)] 446 }).(OpenZfsVolumeOutput) 447 } 448 449 type OpenZfsVolumeMapOutput struct{ *pulumi.OutputState } 450 451 func (OpenZfsVolumeMapOutput) ElementType() reflect.Type { 452 return reflect.TypeOf((*map[string]*OpenZfsVolume)(nil)).Elem() 453 } 454 455 func (o OpenZfsVolumeMapOutput) ToOpenZfsVolumeMapOutput() OpenZfsVolumeMapOutput { 456 return o 457 } 458 459 func (o OpenZfsVolumeMapOutput) ToOpenZfsVolumeMapOutputWithContext(ctx context.Context) OpenZfsVolumeMapOutput { 460 return o 461 } 462 463 func (o OpenZfsVolumeMapOutput) MapIndex(k pulumi.StringInput) OpenZfsVolumeOutput { 464 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpenZfsVolume { 465 return vs[0].(map[string]*OpenZfsVolume)[vs[1].(string)] 466 }).(OpenZfsVolumeOutput) 467 } 468 469 func init() { 470 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsVolumeInput)(nil)).Elem(), &OpenZfsVolume{}) 471 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsVolumeArrayInput)(nil)).Elem(), OpenZfsVolumeArray{}) 472 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsVolumeMapInput)(nil)).Elem(), OpenZfsVolumeMap{}) 473 pulumi.RegisterOutputType(OpenZfsVolumeOutput{}) 474 pulumi.RegisterOutputType(OpenZfsVolumeArrayOutput{}) 475 pulumi.RegisterOutputType(OpenZfsVolumeMapOutput{}) 476 }