github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/openZfsFileSystem.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 file system. 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.NewOpenZfsFileSystem(ctx, "test", &fsx.OpenZfsFileSystemArgs{ 34 // StorageCapacity: pulumi.Int(64), 35 // SubnetIds: pulumi.Any(test1.Id), 36 // DeploymentType: pulumi.String("SINGLE_AZ_1"), 37 // ThroughputCapacity: pulumi.Int(64), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ## Import 50 // 51 // Using `pulumi import`, import FSx File Systems using the `id`. For example: 52 // 53 // ```sh 54 // $ pulumi import aws:fsx/openZfsFileSystem:OpenZfsFileSystem example fs-543ab12b1ca672f33 55 // ``` 56 // Certain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example: 57 type OpenZfsFileSystem struct { 58 pulumi.CustomResourceState 59 60 // Amazon Resource Name of the file system. 61 Arn pulumi.StringOutput `pulumi:"arn"` 62 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 63 AutomaticBackupRetentionDays pulumi.IntPtrOutput `pulumi:"automaticBackupRetentionDays"` 64 // The ID of the source backup to create the filesystem from. 65 BackupId pulumi.StringPtrOutput `pulumi:"backupId"` 66 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 67 CopyTagsToBackups pulumi.BoolPtrOutput `pulumi:"copyTagsToBackups"` 68 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 69 CopyTagsToVolumes pulumi.BoolPtrOutput `pulumi:"copyTagsToVolumes"` 70 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 71 DailyAutomaticBackupStartTime pulumi.StringOutput `pulumi:"dailyAutomaticBackupStartTime"` 72 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 73 DeploymentType pulumi.StringOutput `pulumi:"deploymentType"` 74 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 75 DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationOutput `pulumi:"diskIopsConfiguration"` 76 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 77 DnsName pulumi.StringOutput `pulumi:"dnsName"` 78 // IP address of the endpoint that is used to access data or to manage the file system. 79 EndpointIpAddress pulumi.StringOutput `pulumi:"endpointIpAddress"` 80 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 81 EndpointIpAddressRange pulumi.StringOutput `pulumi:"endpointIpAddressRange"` 82 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 83 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 84 // Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface. 85 NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"` 86 // AWS account identifier that created the file system. 87 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 88 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 89 PreferredSubnetId pulumi.StringPtrOutput `pulumi:"preferredSubnetId"` 90 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 91 RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationOutput `pulumi:"rootVolumeConfiguration"` 92 // Identifier of the root volume, e.g., `fsvol-12345678` 93 RootVolumeId pulumi.StringOutput `pulumi:"rootVolumeId"` 94 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 95 RouteTableIds pulumi.StringArrayOutput `pulumi:"routeTableIds"` 96 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 97 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 98 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 99 SkipFinalBackup pulumi.BoolPtrOutput `pulumi:"skipFinalBackup"` 100 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 101 StorageCapacity pulumi.IntPtrOutput `pulumi:"storageCapacity"` 102 // The filesystem storage type. Only `SSD` is supported. 103 StorageType pulumi.StringPtrOutput `pulumi:"storageType"` 104 // A list of IDs for the subnets that the file system will be accessible from. 105 SubnetIds pulumi.StringOutput `pulumi:"subnetIds"` 106 // 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. 107 Tags pulumi.StringMapOutput `pulumi:"tags"` 108 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 109 // 110 // Deprecated: Please use `tags` instead. 111 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 112 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 113 ThroughputCapacity pulumi.IntOutput `pulumi:"throughputCapacity"` 114 // Identifier of the Virtual Private Cloud for the file system. 115 VpcId pulumi.StringOutput `pulumi:"vpcId"` 116 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 117 WeeklyMaintenanceStartTime pulumi.StringOutput `pulumi:"weeklyMaintenanceStartTime"` 118 } 119 120 // NewOpenZfsFileSystem registers a new resource with the given unique name, arguments, and options. 121 func NewOpenZfsFileSystem(ctx *pulumi.Context, 122 name string, args *OpenZfsFileSystemArgs, opts ...pulumi.ResourceOption) (*OpenZfsFileSystem, error) { 123 if args == nil { 124 return nil, errors.New("missing one or more required arguments") 125 } 126 127 if args.DeploymentType == nil { 128 return nil, errors.New("invalid value for required argument 'DeploymentType'") 129 } 130 if args.SubnetIds == nil { 131 return nil, errors.New("invalid value for required argument 'SubnetIds'") 132 } 133 if args.ThroughputCapacity == nil { 134 return nil, errors.New("invalid value for required argument 'ThroughputCapacity'") 135 } 136 opts = internal.PkgResourceDefaultOpts(opts) 137 var resource OpenZfsFileSystem 138 err := ctx.RegisterResource("aws:fsx/openZfsFileSystem:OpenZfsFileSystem", name, args, &resource, opts...) 139 if err != nil { 140 return nil, err 141 } 142 return &resource, nil 143 } 144 145 // GetOpenZfsFileSystem gets an existing OpenZfsFileSystem resource's state with the given name, ID, and optional 146 // state properties that are used to uniquely qualify the lookup (nil if not required). 147 func GetOpenZfsFileSystem(ctx *pulumi.Context, 148 name string, id pulumi.IDInput, state *OpenZfsFileSystemState, opts ...pulumi.ResourceOption) (*OpenZfsFileSystem, error) { 149 var resource OpenZfsFileSystem 150 err := ctx.ReadResource("aws:fsx/openZfsFileSystem:OpenZfsFileSystem", name, id, state, &resource, opts...) 151 if err != nil { 152 return nil, err 153 } 154 return &resource, nil 155 } 156 157 // Input properties used for looking up and filtering OpenZfsFileSystem resources. 158 type openZfsFileSystemState struct { 159 // Amazon Resource Name of the file system. 160 Arn *string `pulumi:"arn"` 161 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 162 AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` 163 // The ID of the source backup to create the filesystem from. 164 BackupId *string `pulumi:"backupId"` 165 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 166 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 167 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 168 CopyTagsToVolumes *bool `pulumi:"copyTagsToVolumes"` 169 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 170 DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` 171 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 172 DeploymentType *string `pulumi:"deploymentType"` 173 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 174 DiskIopsConfiguration *OpenZfsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"` 175 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 176 DnsName *string `pulumi:"dnsName"` 177 // IP address of the endpoint that is used to access data or to manage the file system. 178 EndpointIpAddress *string `pulumi:"endpointIpAddress"` 179 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 180 EndpointIpAddressRange *string `pulumi:"endpointIpAddressRange"` 181 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 182 KmsKeyId *string `pulumi:"kmsKeyId"` 183 // Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface. 184 NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` 185 // AWS account identifier that created the file system. 186 OwnerId *string `pulumi:"ownerId"` 187 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 188 PreferredSubnetId *string `pulumi:"preferredSubnetId"` 189 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 190 RootVolumeConfiguration *OpenZfsFileSystemRootVolumeConfiguration `pulumi:"rootVolumeConfiguration"` 191 // Identifier of the root volume, e.g., `fsvol-12345678` 192 RootVolumeId *string `pulumi:"rootVolumeId"` 193 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 194 RouteTableIds []string `pulumi:"routeTableIds"` 195 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 196 SecurityGroupIds []string `pulumi:"securityGroupIds"` 197 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 198 SkipFinalBackup *bool `pulumi:"skipFinalBackup"` 199 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 200 StorageCapacity *int `pulumi:"storageCapacity"` 201 // The filesystem storage type. Only `SSD` is supported. 202 StorageType *string `pulumi:"storageType"` 203 // A list of IDs for the subnets that the file system will be accessible from. 204 SubnetIds *string `pulumi:"subnetIds"` 205 // 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. 206 Tags map[string]string `pulumi:"tags"` 207 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 208 // 209 // Deprecated: Please use `tags` instead. 210 TagsAll map[string]string `pulumi:"tagsAll"` 211 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 212 ThroughputCapacity *int `pulumi:"throughputCapacity"` 213 // Identifier of the Virtual Private Cloud for the file system. 214 VpcId *string `pulumi:"vpcId"` 215 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 216 WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"` 217 } 218 219 type OpenZfsFileSystemState struct { 220 // Amazon Resource Name of the file system. 221 Arn pulumi.StringPtrInput 222 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 223 AutomaticBackupRetentionDays pulumi.IntPtrInput 224 // The ID of the source backup to create the filesystem from. 225 BackupId pulumi.StringPtrInput 226 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 227 CopyTagsToBackups pulumi.BoolPtrInput 228 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 229 CopyTagsToVolumes pulumi.BoolPtrInput 230 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 231 DailyAutomaticBackupStartTime pulumi.StringPtrInput 232 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 233 DeploymentType pulumi.StringPtrInput 234 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 235 DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationPtrInput 236 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 237 DnsName pulumi.StringPtrInput 238 // IP address of the endpoint that is used to access data or to manage the file system. 239 EndpointIpAddress pulumi.StringPtrInput 240 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 241 EndpointIpAddressRange pulumi.StringPtrInput 242 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 243 KmsKeyId pulumi.StringPtrInput 244 // Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface. 245 NetworkInterfaceIds pulumi.StringArrayInput 246 // AWS account identifier that created the file system. 247 OwnerId pulumi.StringPtrInput 248 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 249 PreferredSubnetId pulumi.StringPtrInput 250 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 251 RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationPtrInput 252 // Identifier of the root volume, e.g., `fsvol-12345678` 253 RootVolumeId pulumi.StringPtrInput 254 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 255 RouteTableIds pulumi.StringArrayInput 256 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 257 SecurityGroupIds pulumi.StringArrayInput 258 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 259 SkipFinalBackup pulumi.BoolPtrInput 260 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 261 StorageCapacity pulumi.IntPtrInput 262 // The filesystem storage type. Only `SSD` is supported. 263 StorageType pulumi.StringPtrInput 264 // A list of IDs for the subnets that the file system will be accessible from. 265 SubnetIds pulumi.StringPtrInput 266 // 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. 267 Tags pulumi.StringMapInput 268 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 269 // 270 // Deprecated: Please use `tags` instead. 271 TagsAll pulumi.StringMapInput 272 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 273 ThroughputCapacity pulumi.IntPtrInput 274 // Identifier of the Virtual Private Cloud for the file system. 275 VpcId pulumi.StringPtrInput 276 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 277 WeeklyMaintenanceStartTime pulumi.StringPtrInput 278 } 279 280 func (OpenZfsFileSystemState) ElementType() reflect.Type { 281 return reflect.TypeOf((*openZfsFileSystemState)(nil)).Elem() 282 } 283 284 type openZfsFileSystemArgs struct { 285 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 286 AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` 287 // The ID of the source backup to create the filesystem from. 288 BackupId *string `pulumi:"backupId"` 289 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 290 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 291 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 292 CopyTagsToVolumes *bool `pulumi:"copyTagsToVolumes"` 293 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 294 DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` 295 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 296 DeploymentType string `pulumi:"deploymentType"` 297 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 298 DiskIopsConfiguration *OpenZfsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"` 299 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 300 EndpointIpAddressRange *string `pulumi:"endpointIpAddressRange"` 301 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 302 KmsKeyId *string `pulumi:"kmsKeyId"` 303 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 304 PreferredSubnetId *string `pulumi:"preferredSubnetId"` 305 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 306 RootVolumeConfiguration *OpenZfsFileSystemRootVolumeConfiguration `pulumi:"rootVolumeConfiguration"` 307 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 308 RouteTableIds []string `pulumi:"routeTableIds"` 309 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 310 SecurityGroupIds []string `pulumi:"securityGroupIds"` 311 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 312 SkipFinalBackup *bool `pulumi:"skipFinalBackup"` 313 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 314 StorageCapacity *int `pulumi:"storageCapacity"` 315 // The filesystem storage type. Only `SSD` is supported. 316 StorageType *string `pulumi:"storageType"` 317 // A list of IDs for the subnets that the file system will be accessible from. 318 SubnetIds string `pulumi:"subnetIds"` 319 // 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. 320 Tags map[string]string `pulumi:"tags"` 321 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 322 ThroughputCapacity int `pulumi:"throughputCapacity"` 323 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 324 WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"` 325 } 326 327 // The set of arguments for constructing a OpenZfsFileSystem resource. 328 type OpenZfsFileSystemArgs struct { 329 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 330 AutomaticBackupRetentionDays pulumi.IntPtrInput 331 // The ID of the source backup to create the filesystem from. 332 BackupId pulumi.StringPtrInput 333 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 334 CopyTagsToBackups pulumi.BoolPtrInput 335 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 336 CopyTagsToVolumes pulumi.BoolPtrInput 337 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 338 DailyAutomaticBackupStartTime pulumi.StringPtrInput 339 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 340 DeploymentType pulumi.StringInput 341 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 342 DiskIopsConfiguration OpenZfsFileSystemDiskIopsConfigurationPtrInput 343 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 344 EndpointIpAddressRange pulumi.StringPtrInput 345 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 346 KmsKeyId pulumi.StringPtrInput 347 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 348 PreferredSubnetId pulumi.StringPtrInput 349 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 350 RootVolumeConfiguration OpenZfsFileSystemRootVolumeConfigurationPtrInput 351 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 352 RouteTableIds pulumi.StringArrayInput 353 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 354 SecurityGroupIds pulumi.StringArrayInput 355 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 356 SkipFinalBackup pulumi.BoolPtrInput 357 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 358 StorageCapacity pulumi.IntPtrInput 359 // The filesystem storage type. Only `SSD` is supported. 360 StorageType pulumi.StringPtrInput 361 // A list of IDs for the subnets that the file system will be accessible from. 362 SubnetIds pulumi.StringInput 363 // 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. 364 Tags pulumi.StringMapInput 365 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 366 ThroughputCapacity pulumi.IntInput 367 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 368 WeeklyMaintenanceStartTime pulumi.StringPtrInput 369 } 370 371 func (OpenZfsFileSystemArgs) ElementType() reflect.Type { 372 return reflect.TypeOf((*openZfsFileSystemArgs)(nil)).Elem() 373 } 374 375 type OpenZfsFileSystemInput interface { 376 pulumi.Input 377 378 ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput 379 ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput 380 } 381 382 func (*OpenZfsFileSystem) ElementType() reflect.Type { 383 return reflect.TypeOf((**OpenZfsFileSystem)(nil)).Elem() 384 } 385 386 func (i *OpenZfsFileSystem) ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput { 387 return i.ToOpenZfsFileSystemOutputWithContext(context.Background()) 388 } 389 390 func (i *OpenZfsFileSystem) ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput { 391 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemOutput) 392 } 393 394 // OpenZfsFileSystemArrayInput is an input type that accepts OpenZfsFileSystemArray and OpenZfsFileSystemArrayOutput values. 395 // You can construct a concrete instance of `OpenZfsFileSystemArrayInput` via: 396 // 397 // OpenZfsFileSystemArray{ OpenZfsFileSystemArgs{...} } 398 type OpenZfsFileSystemArrayInput interface { 399 pulumi.Input 400 401 ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput 402 ToOpenZfsFileSystemArrayOutputWithContext(context.Context) OpenZfsFileSystemArrayOutput 403 } 404 405 type OpenZfsFileSystemArray []OpenZfsFileSystemInput 406 407 func (OpenZfsFileSystemArray) ElementType() reflect.Type { 408 return reflect.TypeOf((*[]*OpenZfsFileSystem)(nil)).Elem() 409 } 410 411 func (i OpenZfsFileSystemArray) ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput { 412 return i.ToOpenZfsFileSystemArrayOutputWithContext(context.Background()) 413 } 414 415 func (i OpenZfsFileSystemArray) ToOpenZfsFileSystemArrayOutputWithContext(ctx context.Context) OpenZfsFileSystemArrayOutput { 416 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemArrayOutput) 417 } 418 419 // OpenZfsFileSystemMapInput is an input type that accepts OpenZfsFileSystemMap and OpenZfsFileSystemMapOutput values. 420 // You can construct a concrete instance of `OpenZfsFileSystemMapInput` via: 421 // 422 // OpenZfsFileSystemMap{ "key": OpenZfsFileSystemArgs{...} } 423 type OpenZfsFileSystemMapInput interface { 424 pulumi.Input 425 426 ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput 427 ToOpenZfsFileSystemMapOutputWithContext(context.Context) OpenZfsFileSystemMapOutput 428 } 429 430 type OpenZfsFileSystemMap map[string]OpenZfsFileSystemInput 431 432 func (OpenZfsFileSystemMap) ElementType() reflect.Type { 433 return reflect.TypeOf((*map[string]*OpenZfsFileSystem)(nil)).Elem() 434 } 435 436 func (i OpenZfsFileSystemMap) ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput { 437 return i.ToOpenZfsFileSystemMapOutputWithContext(context.Background()) 438 } 439 440 func (i OpenZfsFileSystemMap) ToOpenZfsFileSystemMapOutputWithContext(ctx context.Context) OpenZfsFileSystemMapOutput { 441 return pulumi.ToOutputWithContext(ctx, i).(OpenZfsFileSystemMapOutput) 442 } 443 444 type OpenZfsFileSystemOutput struct{ *pulumi.OutputState } 445 446 func (OpenZfsFileSystemOutput) ElementType() reflect.Type { 447 return reflect.TypeOf((**OpenZfsFileSystem)(nil)).Elem() 448 } 449 450 func (o OpenZfsFileSystemOutput) ToOpenZfsFileSystemOutput() OpenZfsFileSystemOutput { 451 return o 452 } 453 454 func (o OpenZfsFileSystemOutput) ToOpenZfsFileSystemOutputWithContext(ctx context.Context) OpenZfsFileSystemOutput { 455 return o 456 } 457 458 // Amazon Resource Name of the file system. 459 func (o OpenZfsFileSystemOutput) Arn() pulumi.StringOutput { 460 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 461 } 462 463 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. 464 func (o OpenZfsFileSystemOutput) AutomaticBackupRetentionDays() pulumi.IntPtrOutput { 465 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntPtrOutput { return v.AutomaticBackupRetentionDays }).(pulumi.IntPtrOutput) 466 } 467 468 // The ID of the source backup to create the filesystem from. 469 func (o OpenZfsFileSystemOutput) BackupId() pulumi.StringPtrOutput { 470 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.BackupId }).(pulumi.StringPtrOutput) 471 } 472 473 // A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. 474 func (o OpenZfsFileSystemOutput) CopyTagsToBackups() pulumi.BoolPtrOutput { 475 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.CopyTagsToBackups }).(pulumi.BoolPtrOutput) 476 } 477 478 // A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false. 479 func (o OpenZfsFileSystemOutput) CopyTagsToVolumes() pulumi.BoolPtrOutput { 480 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.CopyTagsToVolumes }).(pulumi.BoolPtrOutput) 481 } 482 483 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automaticBackupRetentionDays` to be set. 484 func (o OpenZfsFileSystemOutput) DailyAutomaticBackupStartTime() pulumi.StringOutput { 485 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DailyAutomaticBackupStartTime }).(pulumi.StringOutput) 486 } 487 488 // The filesystem deployment type. Valid values: `SINGLE_AZ_1`, `SINGLE_AZ_2` and `MULTI_AZ_1`. 489 func (o OpenZfsFileSystemOutput) DeploymentType() pulumi.StringOutput { 490 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DeploymentType }).(pulumi.StringOutput) 491 } 492 493 // The SSD IOPS configuration for the Amazon FSx for OpenZFS file system. See Disk Iops Configuration below. 494 func (o OpenZfsFileSystemOutput) DiskIopsConfiguration() OpenZfsFileSystemDiskIopsConfigurationOutput { 495 return o.ApplyT(func(v *OpenZfsFileSystem) OpenZfsFileSystemDiskIopsConfigurationOutput { 496 return v.DiskIopsConfiguration 497 }).(OpenZfsFileSystemDiskIopsConfigurationOutput) 498 } 499 500 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 501 func (o OpenZfsFileSystemOutput) DnsName() pulumi.StringOutput { 502 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 503 } 504 505 // IP address of the endpoint that is used to access data or to manage the file system. 506 func (o OpenZfsFileSystemOutput) EndpointIpAddress() pulumi.StringOutput { 507 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.EndpointIpAddress }).(pulumi.StringOutput) 508 } 509 510 // (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created. 511 func (o OpenZfsFileSystemOutput) EndpointIpAddressRange() pulumi.StringOutput { 512 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.EndpointIpAddressRange }).(pulumi.StringOutput) 513 } 514 515 // ARN for the KMS Key to encrypt the file system at rest, Defaults to an AWS managed KMS Key. 516 func (o OpenZfsFileSystemOutput) KmsKeyId() pulumi.StringOutput { 517 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 518 } 519 520 // Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface. 521 func (o OpenZfsFileSystemOutput) NetworkInterfaceIds() pulumi.StringArrayOutput { 522 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.NetworkInterfaceIds }).(pulumi.StringArrayOutput) 523 } 524 525 // AWS account identifier that created the file system. 526 func (o OpenZfsFileSystemOutput) OwnerId() pulumi.StringOutput { 527 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 528 } 529 530 // (Multi-AZ only) Required when `deploymentType` is set to `MULTI_AZ_1`. This specifies the subnet in which you want the preferred file server to be located. 531 func (o OpenZfsFileSystemOutput) PreferredSubnetId() pulumi.StringPtrOutput { 532 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.PreferredSubnetId }).(pulumi.StringPtrOutput) 533 } 534 535 // The configuration for the root volume of the file system. All other volumes are children or the root volume. See Root Volume Configuration below. 536 func (o OpenZfsFileSystemOutput) RootVolumeConfiguration() OpenZfsFileSystemRootVolumeConfigurationOutput { 537 return o.ApplyT(func(v *OpenZfsFileSystem) OpenZfsFileSystemRootVolumeConfigurationOutput { 538 return v.RootVolumeConfiguration 539 }).(OpenZfsFileSystemRootVolumeConfigurationOutput) 540 } 541 542 // Identifier of the root volume, e.g., `fsvol-12345678` 543 func (o OpenZfsFileSystemOutput) RootVolumeId() pulumi.StringOutput { 544 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.RootVolumeId }).(pulumi.StringOutput) 545 } 546 547 // (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table. 548 func (o OpenZfsFileSystemOutput) RouteTableIds() pulumi.StringArrayOutput { 549 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.RouteTableIds }).(pulumi.StringArrayOutput) 550 } 551 552 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 553 func (o OpenZfsFileSystemOutput) SecurityGroupIds() pulumi.StringArrayOutput { 554 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 555 } 556 557 // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. 558 func (o OpenZfsFileSystemOutput) SkipFinalBackup() pulumi.BoolPtrOutput { 559 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.BoolPtrOutput { return v.SkipFinalBackup }).(pulumi.BoolPtrOutput) 560 } 561 562 // The storage capacity (GiB) of the file system. Valid values between `64` and `524288`. 563 func (o OpenZfsFileSystemOutput) StorageCapacity() pulumi.IntPtrOutput { 564 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntPtrOutput { return v.StorageCapacity }).(pulumi.IntPtrOutput) 565 } 566 567 // The filesystem storage type. Only `SSD` is supported. 568 func (o OpenZfsFileSystemOutput) StorageType() pulumi.StringPtrOutput { 569 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringPtrOutput { return v.StorageType }).(pulumi.StringPtrOutput) 570 } 571 572 // A list of IDs for the subnets that the file system will be accessible from. 573 func (o OpenZfsFileSystemOutput) SubnetIds() pulumi.StringOutput { 574 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.SubnetIds }).(pulumi.StringOutput) 575 } 576 577 // 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. 578 func (o OpenZfsFileSystemOutput) Tags() pulumi.StringMapOutput { 579 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 580 } 581 582 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 583 // 584 // Deprecated: Please use `tags` instead. 585 func (o OpenZfsFileSystemOutput) TagsAll() pulumi.StringMapOutput { 586 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 587 } 588 589 // Throughput (MB/s) of the file system. Valid values depend on `deploymentType`. Must be one of `64`, `128`, `256`, `512`, `1024`, `2048`, `3072`, `4096` for `SINGLE_AZ_1`. Must be one of `160`, `320`, `640`, `1280`, `2560`, `3840`, `5120`, `7680`, `10240` for `SINGLE_AZ_2`. 590 func (o OpenZfsFileSystemOutput) ThroughputCapacity() pulumi.IntOutput { 591 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.IntOutput { return v.ThroughputCapacity }).(pulumi.IntOutput) 592 } 593 594 // Identifier of the Virtual Private Cloud for the file system. 595 func (o OpenZfsFileSystemOutput) VpcId() pulumi.StringOutput { 596 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) 597 } 598 599 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 600 func (o OpenZfsFileSystemOutput) WeeklyMaintenanceStartTime() pulumi.StringOutput { 601 return o.ApplyT(func(v *OpenZfsFileSystem) pulumi.StringOutput { return v.WeeklyMaintenanceStartTime }).(pulumi.StringOutput) 602 } 603 604 type OpenZfsFileSystemArrayOutput struct{ *pulumi.OutputState } 605 606 func (OpenZfsFileSystemArrayOutput) ElementType() reflect.Type { 607 return reflect.TypeOf((*[]*OpenZfsFileSystem)(nil)).Elem() 608 } 609 610 func (o OpenZfsFileSystemArrayOutput) ToOpenZfsFileSystemArrayOutput() OpenZfsFileSystemArrayOutput { 611 return o 612 } 613 614 func (o OpenZfsFileSystemArrayOutput) ToOpenZfsFileSystemArrayOutputWithContext(ctx context.Context) OpenZfsFileSystemArrayOutput { 615 return o 616 } 617 618 func (o OpenZfsFileSystemArrayOutput) Index(i pulumi.IntInput) OpenZfsFileSystemOutput { 619 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpenZfsFileSystem { 620 return vs[0].([]*OpenZfsFileSystem)[vs[1].(int)] 621 }).(OpenZfsFileSystemOutput) 622 } 623 624 type OpenZfsFileSystemMapOutput struct{ *pulumi.OutputState } 625 626 func (OpenZfsFileSystemMapOutput) ElementType() reflect.Type { 627 return reflect.TypeOf((*map[string]*OpenZfsFileSystem)(nil)).Elem() 628 } 629 630 func (o OpenZfsFileSystemMapOutput) ToOpenZfsFileSystemMapOutput() OpenZfsFileSystemMapOutput { 631 return o 632 } 633 634 func (o OpenZfsFileSystemMapOutput) ToOpenZfsFileSystemMapOutputWithContext(ctx context.Context) OpenZfsFileSystemMapOutput { 635 return o 636 } 637 638 func (o OpenZfsFileSystemMapOutput) MapIndex(k pulumi.StringInput) OpenZfsFileSystemOutput { 639 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpenZfsFileSystem { 640 return vs[0].(map[string]*OpenZfsFileSystem)[vs[1].(string)] 641 }).(OpenZfsFileSystemOutput) 642 } 643 644 func init() { 645 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemInput)(nil)).Elem(), &OpenZfsFileSystem{}) 646 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemArrayInput)(nil)).Elem(), OpenZfsFileSystemArray{}) 647 pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsFileSystemMapInput)(nil)).Elem(), OpenZfsFileSystemMap{}) 648 pulumi.RegisterOutputType(OpenZfsFileSystemOutput{}) 649 pulumi.RegisterOutputType(OpenZfsFileSystemArrayOutput{}) 650 pulumi.RegisterOutputType(OpenZfsFileSystemMapOutput{}) 651 }