sfs

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type AccessRule

type AccessRule struct {
	pulumi.CustomResourceState

	// Specifies the access level of the shared file system. Possible values
	// are *ro* (read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrOutput `pulumi:"accessLevel"`
	// Specifies the value that defines the access rule. The value contains 1 to
	// 255 characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of  *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	AccessTo pulumi.StringOutput `pulumi:"accessTo"`
	// Specifies the type of the share access rule. The default value is *cert*.
	// Changing this will create a new access rule.
	AccessType pulumi.StringPtrOutput `pulumi:"accessType"`
	// The region in which to create the sfs access rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new access rule resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the UUID of the shared file system. Changing this will create a new
	// access rule.
	SfsId pulumi.StringOutput `pulumi:"sfsId"`
	// The status of the share access rule.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides an access rule resource of Scalable File Resource (SFS).

## Example Usage ### Usage in VPC authorization scenarios

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		shareName := cfg.RequireObject("shareName")
		vpcId := cfg.RequireObject("vpcId")
		_, err := Sfs.NewFileSystem(ctx, "share-file", &Sfs.FileSystemArgs{
			Size:       pulumi.Int(100),
			ShareProto: pulumi.String("NFS"),
		})
		if err != nil {
			return err
		}
		_, err = Sfs.NewAccessRule(ctx, "rule1", &Sfs.AccessRuleArgs{
			SfsId:    share_file.ID(),
			AccessTo: pulumi.Any(vpcId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SFS access rule can be imported by specifying the SFS ID and access rule ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Sfs/accessRule:AccessRule huaweicloud_sfs_access_rule <sfs_id>/<rule_id>

```

func GetAccessRule

func GetAccessRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessRuleState, opts ...pulumi.ResourceOption) (*AccessRule, error)

GetAccessRule gets an existing AccessRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessRule

func NewAccessRule(ctx *pulumi.Context,
	name string, args *AccessRuleArgs, opts ...pulumi.ResourceOption) (*AccessRule, error)

NewAccessRule registers a new resource with the given unique name, arguments, and options.

func (*AccessRule) ElementType

func (*AccessRule) ElementType() reflect.Type

func (*AccessRule) ToAccessRuleOutput

func (i *AccessRule) ToAccessRuleOutput() AccessRuleOutput

func (*AccessRule) ToAccessRuleOutputWithContext

func (i *AccessRule) ToAccessRuleOutputWithContext(ctx context.Context) AccessRuleOutput

type AccessRuleArgs

type AccessRuleArgs struct {
	// Specifies the access level of the shared file system. Possible values
	// are *ro* (read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrInput
	// Specifies the value that defines the access rule. The value contains 1 to
	// 255 characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of  *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	AccessTo pulumi.StringInput
	// Specifies the type of the share access rule. The default value is *cert*.
	// Changing this will create a new access rule.
	AccessType pulumi.StringPtrInput
	// The region in which to create the sfs access rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new access rule resource.
	Region pulumi.StringPtrInput
	// Specifies the UUID of the shared file system. Changing this will create a new
	// access rule.
	SfsId pulumi.StringInput
}

The set of arguments for constructing a AccessRule resource.

func (AccessRuleArgs) ElementType

func (AccessRuleArgs) ElementType() reflect.Type

type AccessRuleArray

type AccessRuleArray []AccessRuleInput

func (AccessRuleArray) ElementType

func (AccessRuleArray) ElementType() reflect.Type

func (AccessRuleArray) ToAccessRuleArrayOutput

func (i AccessRuleArray) ToAccessRuleArrayOutput() AccessRuleArrayOutput

func (AccessRuleArray) ToAccessRuleArrayOutputWithContext

func (i AccessRuleArray) ToAccessRuleArrayOutputWithContext(ctx context.Context) AccessRuleArrayOutput

type AccessRuleArrayInput

type AccessRuleArrayInput interface {
	pulumi.Input

	ToAccessRuleArrayOutput() AccessRuleArrayOutput
	ToAccessRuleArrayOutputWithContext(context.Context) AccessRuleArrayOutput
}

AccessRuleArrayInput is an input type that accepts AccessRuleArray and AccessRuleArrayOutput values. You can construct a concrete instance of `AccessRuleArrayInput` via:

AccessRuleArray{ AccessRuleArgs{...} }

type AccessRuleArrayOutput

type AccessRuleArrayOutput struct{ *pulumi.OutputState }

func (AccessRuleArrayOutput) ElementType

func (AccessRuleArrayOutput) ElementType() reflect.Type

func (AccessRuleArrayOutput) Index

func (AccessRuleArrayOutput) ToAccessRuleArrayOutput

func (o AccessRuleArrayOutput) ToAccessRuleArrayOutput() AccessRuleArrayOutput

func (AccessRuleArrayOutput) ToAccessRuleArrayOutputWithContext

func (o AccessRuleArrayOutput) ToAccessRuleArrayOutputWithContext(ctx context.Context) AccessRuleArrayOutput

type AccessRuleInput

type AccessRuleInput interface {
	pulumi.Input

	ToAccessRuleOutput() AccessRuleOutput
	ToAccessRuleOutputWithContext(ctx context.Context) AccessRuleOutput
}

type AccessRuleMap

type AccessRuleMap map[string]AccessRuleInput

func (AccessRuleMap) ElementType

func (AccessRuleMap) ElementType() reflect.Type

func (AccessRuleMap) ToAccessRuleMapOutput

func (i AccessRuleMap) ToAccessRuleMapOutput() AccessRuleMapOutput

func (AccessRuleMap) ToAccessRuleMapOutputWithContext

func (i AccessRuleMap) ToAccessRuleMapOutputWithContext(ctx context.Context) AccessRuleMapOutput

type AccessRuleMapInput

type AccessRuleMapInput interface {
	pulumi.Input

	ToAccessRuleMapOutput() AccessRuleMapOutput
	ToAccessRuleMapOutputWithContext(context.Context) AccessRuleMapOutput
}

AccessRuleMapInput is an input type that accepts AccessRuleMap and AccessRuleMapOutput values. You can construct a concrete instance of `AccessRuleMapInput` via:

AccessRuleMap{ "key": AccessRuleArgs{...} }

type AccessRuleMapOutput

type AccessRuleMapOutput struct{ *pulumi.OutputState }

func (AccessRuleMapOutput) ElementType

func (AccessRuleMapOutput) ElementType() reflect.Type

func (AccessRuleMapOutput) MapIndex

func (AccessRuleMapOutput) ToAccessRuleMapOutput

func (o AccessRuleMapOutput) ToAccessRuleMapOutput() AccessRuleMapOutput

func (AccessRuleMapOutput) ToAccessRuleMapOutputWithContext

func (o AccessRuleMapOutput) ToAccessRuleMapOutputWithContext(ctx context.Context) AccessRuleMapOutput

type AccessRuleOutput

type AccessRuleOutput struct{ *pulumi.OutputState }

func (AccessRuleOutput) AccessLevel

func (o AccessRuleOutput) AccessLevel() pulumi.StringPtrOutput

Specifies the access level of the shared file system. Possible values are *ro* (read-only) and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.

func (AccessRuleOutput) AccessTo

func (o AccessRuleOutput) AccessTo() pulumi.StringOutput

Specifies the value that defines the access rule. The value contains 1 to 255 characters. Changing this will create a new access rule. The value varies according to the scenario:

  • Set the VPC ID in VPC authorization scenarios.
  • Set this parameter in IP address authorization scenario:
  • For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*. For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.

func (AccessRuleOutput) AccessType

func (o AccessRuleOutput) AccessType() pulumi.StringPtrOutput

Specifies the type of the share access rule. The default value is *cert*. Changing this will create a new access rule.

func (AccessRuleOutput) ElementType

func (AccessRuleOutput) ElementType() reflect.Type

func (AccessRuleOutput) Region

The region in which to create the sfs access rule resource. If omitted, the provider-level region will be used. Changing this creates a new access rule resource.

func (AccessRuleOutput) SfsId

Specifies the UUID of the shared file system. Changing this will create a new access rule.

func (AccessRuleOutput) Status

The status of the share access rule.

func (AccessRuleOutput) ToAccessRuleOutput

func (o AccessRuleOutput) ToAccessRuleOutput() AccessRuleOutput

func (AccessRuleOutput) ToAccessRuleOutputWithContext

func (o AccessRuleOutput) ToAccessRuleOutputWithContext(ctx context.Context) AccessRuleOutput

type AccessRuleState

type AccessRuleState struct {
	// Specifies the access level of the shared file system. Possible values
	// are *ro* (read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrInput
	// Specifies the value that defines the access rule. The value contains 1 to
	// 255 characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of  *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	AccessTo pulumi.StringPtrInput
	// Specifies the type of the share access rule. The default value is *cert*.
	// Changing this will create a new access rule.
	AccessType pulumi.StringPtrInput
	// The region in which to create the sfs access rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new access rule resource.
	Region pulumi.StringPtrInput
	// Specifies the UUID of the shared file system. Changing this will create a new
	// access rule.
	SfsId pulumi.StringPtrInput
	// The status of the share access rule.
	Status pulumi.StringPtrInput
}

func (AccessRuleState) ElementType

func (AccessRuleState) ElementType() reflect.Type

type FileSystem

type FileSystem struct {
	pulumi.CustomResourceState

	// Specifies the access level of the shared file system. Possible values are *ro* (
	// read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringOutput `pulumi:"accessLevel"`
	// The status of the share access rule.
	AccessRuleStatus pulumi.StringOutput `pulumi:"accessRuleStatus"`
	// All access rules of the shared file system. The object includes the following:
	AccessRules FileSystemAccessRuleArrayOutput `pulumi:"accessRules"`
	// Specifies the value that defines the access rule. The value contains 1 to 255
	// characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	// - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
	AccessTo pulumi.StringPtrOutput `pulumi:"accessTo"`
	// Specifies the type of the share access rule. The default value is *cert*. Changing
	// this will create a new access rule.
	AccessType pulumi.StringOutput `pulumi:"accessType"`
	// Specifies the availability zone name. Changing this parameter will
	// create a new resource.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Specifies the description of the shared file system, which contains 0 to 255
	// characters and can contain only letters, digits, hyphens (-), and underscores (_).
	Description pulumi.StringOutput `pulumi:"description"`
	// The enterprise project id of the shared file system. Changing
	// this creates a new resource.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// The address for accessing the shared file system.
	ExportLocation pulumi.StringOutput `pulumi:"exportLocation"`
	// Specifies whether a file system can be publicly seen.
	// The default value is false.
	IsPublic pulumi.BoolPtrOutput `pulumi:"isPublic"`
	// Specifies the metadata information used to create the shared file system. The
	// supported metadata keys are "#sfs_crypt_key_id", "#sfs_crypt_domain_id" and "#sfs_crypt_alias", and the keys should be
	// exist at the same time to enable the data encryption function. Changing this will create a new resource.
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// Specifies the name of the shared file system, which contains 0 to 255 characters and
	// can contain only letters, digits, hyphens (-), and underscores (_).
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the sfs resource. If omitted, the provider-level
	// region will be used. Changing this creates a new sfs resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The UUID of the share access rule.
	ShareAccessId pulumi.StringOutput `pulumi:"shareAccessId"`
	// Specifies the file system sharing protocol.
	// The valid value can be **NFS** (for Linux OS) or **CIFS** (for Windows OS).
	ShareProto pulumi.StringPtrOutput `pulumi:"shareProto"`
	// Specifies the size (GB) of the shared file system.
	Size pulumi.IntOutput `pulumi:"size"`
	// The status of the share access rule.
	Status pulumi.StringOutput `pulumi:"status"`
	// The key/value pairs to associate with the shared file system.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Shared File System (SFS) resource within HuaweiCloud.

## Example Usage ### Basic example

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		shareName := cfg.RequireObject("shareName")
		shareDescription := cfg.RequireObject("shareDescription")
		vpcId := cfg.RequireObject("vpcId")
		_, err := Sfs.NewFileSystem(ctx, "share-file", &Sfs.FileSystemArgs{
			Size:        pulumi.Int(100),
			ShareProto:  pulumi.String("NFS"),
			AccessLevel: pulumi.String("rw"),
			AccessTo:    pulumi.Any(vpcId),
			Description: pulumi.Any(shareDescription),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### SFS with data encryption

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		shareName := cfg.RequireObject("shareName")
		shareDescription := cfg.RequireObject("shareDescription")
		vpcId := cfg.RequireObject("vpcId")
		_, err := Sfs.NewFileSystem(ctx, "share-file", &Sfs.FileSystemArgs{
			Size:        pulumi.Int(100),
			ShareProto:  pulumi.String("NFS"),
			AccessLevel: pulumi.String("rw"),
			AccessTo:    pulumi.Any(vpcId),
			Description: pulumi.Any(shareDescription),
			Metadata: pulumi.StringMap{
				"#sfs_crypt_key_id":    pulumi.Any(huaweicloud_kms_key.Mykey.Id),
				"#sfs_crypt_domain_id": pulumi.Any(huaweicloud_kms_key.Mykey.Domain_id),
				"#sfs_crypt_alias":     pulumi.Any(huaweicloud_kms_key.Mykey.Key_alias),
			},
			Tags: pulumi.StringMap{
				"function": pulumi.String("encryption"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### SFS with Auto Capacity Expansion

> This feature is only supported in specific regions.

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		shareName := cfg.RequireObject("shareName")
		_, err := Sfs.NewFileSystem(ctx, "share-file", &Sfs.FileSystemArgs{
			Size:        pulumi.Int(100),
			ShareProto:  pulumi.String("NFS"),
			Description: pulumi.String("auto capacity expansion"),
			Metadata: pulumi.StringMap{
				"#sfs_quota_type": pulumi.String("soft"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SFS can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Sfs/fileSystem:FileSystem huaweicloud_sfs_file_system 4779ab1c-7c1a-44b1-a02e-93dfc361b32d

```

[huaweicloud_sfs_access_rule](https://registry.terraform.io/providers/huaweicloud/huaweicloud/latest/docs/resources/sfs_access_rule).

func GetFileSystem

func GetFileSystem(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FileSystemState, opts ...pulumi.ResourceOption) (*FileSystem, error)

GetFileSystem gets an existing FileSystem resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFileSystem

func NewFileSystem(ctx *pulumi.Context,
	name string, args *FileSystemArgs, opts ...pulumi.ResourceOption) (*FileSystem, error)

NewFileSystem registers a new resource with the given unique name, arguments, and options.

func (*FileSystem) ElementType

func (*FileSystem) ElementType() reflect.Type

func (*FileSystem) ToFileSystemOutput

func (i *FileSystem) ToFileSystemOutput() FileSystemOutput

func (*FileSystem) ToFileSystemOutputWithContext

func (i *FileSystem) ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput

type FileSystemAccessRule

type FileSystemAccessRule struct {
	// Specifies the access level of the shared file system. Possible values are *ro* (
	// read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel *string `pulumi:"accessLevel"`
	// The UUID of the share access rule.
	AccessRuleId *string `pulumi:"accessRuleId"`
	// Specifies the value that defines the access rule. The value contains 1 to 255
	// characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	// - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
	AccessTo *string `pulumi:"accessTo"`
	// Specifies the type of the share access rule. The default value is *cert*. Changing
	// this will create a new access rule.
	AccessType *string `pulumi:"accessType"`
	// The status of the share access rule.
	Status *string `pulumi:"status"`
}

type FileSystemAccessRuleArgs

type FileSystemAccessRuleArgs struct {
	// Specifies the access level of the shared file system. Possible values are *ro* (
	// read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// The UUID of the share access rule.
	AccessRuleId pulumi.StringPtrInput `pulumi:"accessRuleId"`
	// Specifies the value that defines the access rule. The value contains 1 to 255
	// characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	// - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
	AccessTo pulumi.StringPtrInput `pulumi:"accessTo"`
	// Specifies the type of the share access rule. The default value is *cert*. Changing
	// this will create a new access rule.
	AccessType pulumi.StringPtrInput `pulumi:"accessType"`
	// The status of the share access rule.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (FileSystemAccessRuleArgs) ElementType

func (FileSystemAccessRuleArgs) ElementType() reflect.Type

func (FileSystemAccessRuleArgs) ToFileSystemAccessRuleOutput

func (i FileSystemAccessRuleArgs) ToFileSystemAccessRuleOutput() FileSystemAccessRuleOutput

func (FileSystemAccessRuleArgs) ToFileSystemAccessRuleOutputWithContext

func (i FileSystemAccessRuleArgs) ToFileSystemAccessRuleOutputWithContext(ctx context.Context) FileSystemAccessRuleOutput

type FileSystemAccessRuleArray

type FileSystemAccessRuleArray []FileSystemAccessRuleInput

func (FileSystemAccessRuleArray) ElementType

func (FileSystemAccessRuleArray) ElementType() reflect.Type

func (FileSystemAccessRuleArray) ToFileSystemAccessRuleArrayOutput

func (i FileSystemAccessRuleArray) ToFileSystemAccessRuleArrayOutput() FileSystemAccessRuleArrayOutput

func (FileSystemAccessRuleArray) ToFileSystemAccessRuleArrayOutputWithContext

func (i FileSystemAccessRuleArray) ToFileSystemAccessRuleArrayOutputWithContext(ctx context.Context) FileSystemAccessRuleArrayOutput

type FileSystemAccessRuleArrayInput

type FileSystemAccessRuleArrayInput interface {
	pulumi.Input

	ToFileSystemAccessRuleArrayOutput() FileSystemAccessRuleArrayOutput
	ToFileSystemAccessRuleArrayOutputWithContext(context.Context) FileSystemAccessRuleArrayOutput
}

FileSystemAccessRuleArrayInput is an input type that accepts FileSystemAccessRuleArray and FileSystemAccessRuleArrayOutput values. You can construct a concrete instance of `FileSystemAccessRuleArrayInput` via:

FileSystemAccessRuleArray{ FileSystemAccessRuleArgs{...} }

type FileSystemAccessRuleArrayOutput

type FileSystemAccessRuleArrayOutput struct{ *pulumi.OutputState }

func (FileSystemAccessRuleArrayOutput) ElementType

func (FileSystemAccessRuleArrayOutput) Index

func (FileSystemAccessRuleArrayOutput) ToFileSystemAccessRuleArrayOutput

func (o FileSystemAccessRuleArrayOutput) ToFileSystemAccessRuleArrayOutput() FileSystemAccessRuleArrayOutput

func (FileSystemAccessRuleArrayOutput) ToFileSystemAccessRuleArrayOutputWithContext

func (o FileSystemAccessRuleArrayOutput) ToFileSystemAccessRuleArrayOutputWithContext(ctx context.Context) FileSystemAccessRuleArrayOutput

type FileSystemAccessRuleInput

type FileSystemAccessRuleInput interface {
	pulumi.Input

	ToFileSystemAccessRuleOutput() FileSystemAccessRuleOutput
	ToFileSystemAccessRuleOutputWithContext(context.Context) FileSystemAccessRuleOutput
}

FileSystemAccessRuleInput is an input type that accepts FileSystemAccessRuleArgs and FileSystemAccessRuleOutput values. You can construct a concrete instance of `FileSystemAccessRuleInput` via:

FileSystemAccessRuleArgs{...}

type FileSystemAccessRuleOutput

type FileSystemAccessRuleOutput struct{ *pulumi.OutputState }

func (FileSystemAccessRuleOutput) AccessLevel

Specifies the access level of the shared file system. Possible values are *ro* ( read-only) and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.

func (FileSystemAccessRuleOutput) AccessRuleId

The UUID of the share access rule.

func (FileSystemAccessRuleOutput) AccessTo

Specifies the value that defines the access rule. The value contains 1 to 255 characters. Changing this will create a new access rule. The value varies according to the scenario:

  • Set the VPC ID in VPC authorization scenarios.
  • Set this parameter in IP address authorization scenario:
  • For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*. For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
  • For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*. For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.

func (FileSystemAccessRuleOutput) AccessType

Specifies the type of the share access rule. The default value is *cert*. Changing this will create a new access rule.

func (FileSystemAccessRuleOutput) ElementType

func (FileSystemAccessRuleOutput) ElementType() reflect.Type

func (FileSystemAccessRuleOutput) Status

The status of the share access rule.

func (FileSystemAccessRuleOutput) ToFileSystemAccessRuleOutput

func (o FileSystemAccessRuleOutput) ToFileSystemAccessRuleOutput() FileSystemAccessRuleOutput

func (FileSystemAccessRuleOutput) ToFileSystemAccessRuleOutputWithContext

func (o FileSystemAccessRuleOutput) ToFileSystemAccessRuleOutputWithContext(ctx context.Context) FileSystemAccessRuleOutput

type FileSystemArgs

type FileSystemArgs struct {
	// Specifies the access level of the shared file system. Possible values are *ro* (
	// read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrInput
	// Specifies the value that defines the access rule. The value contains 1 to 255
	// characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	// - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
	AccessTo pulumi.StringPtrInput
	// Specifies the type of the share access rule. The default value is *cert*. Changing
	// this will create a new access rule.
	AccessType pulumi.StringPtrInput
	// Specifies the availability zone name. Changing this parameter will
	// create a new resource.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the description of the shared file system, which contains 0 to 255
	// characters and can contain only letters, digits, hyphens (-), and underscores (_).
	Description pulumi.StringPtrInput
	// The enterprise project id of the shared file system. Changing
	// this creates a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies whether a file system can be publicly seen.
	// The default value is false.
	IsPublic pulumi.BoolPtrInput
	// Specifies the metadata information used to create the shared file system. The
	// supported metadata keys are "#sfs_crypt_key_id", "#sfs_crypt_domain_id" and "#sfs_crypt_alias", and the keys should be
	// exist at the same time to enable the data encryption function. Changing this will create a new resource.
	Metadata pulumi.StringMapInput
	// Specifies the name of the shared file system, which contains 0 to 255 characters and
	// can contain only letters, digits, hyphens (-), and underscores (_).
	Name pulumi.StringPtrInput
	// The region in which to create the sfs resource. If omitted, the provider-level
	// region will be used. Changing this creates a new sfs resource.
	Region pulumi.StringPtrInput
	// Specifies the file system sharing protocol.
	// The valid value can be **NFS** (for Linux OS) or **CIFS** (for Windows OS).
	ShareProto pulumi.StringPtrInput
	// Specifies the size (GB) of the shared file system.
	Size pulumi.IntInput
	// The key/value pairs to associate with the shared file system.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a FileSystem resource.

func (FileSystemArgs) ElementType

func (FileSystemArgs) ElementType() reflect.Type

type FileSystemArray

type FileSystemArray []FileSystemInput

func (FileSystemArray) ElementType

func (FileSystemArray) ElementType() reflect.Type

func (FileSystemArray) ToFileSystemArrayOutput

func (i FileSystemArray) ToFileSystemArrayOutput() FileSystemArrayOutput

func (FileSystemArray) ToFileSystemArrayOutputWithContext

func (i FileSystemArray) ToFileSystemArrayOutputWithContext(ctx context.Context) FileSystemArrayOutput

type FileSystemArrayInput

type FileSystemArrayInput interface {
	pulumi.Input

	ToFileSystemArrayOutput() FileSystemArrayOutput
	ToFileSystemArrayOutputWithContext(context.Context) FileSystemArrayOutput
}

FileSystemArrayInput is an input type that accepts FileSystemArray and FileSystemArrayOutput values. You can construct a concrete instance of `FileSystemArrayInput` via:

FileSystemArray{ FileSystemArgs{...} }

type FileSystemArrayOutput

type FileSystemArrayOutput struct{ *pulumi.OutputState }

func (FileSystemArrayOutput) ElementType

func (FileSystemArrayOutput) ElementType() reflect.Type

func (FileSystemArrayOutput) Index

func (FileSystemArrayOutput) ToFileSystemArrayOutput

func (o FileSystemArrayOutput) ToFileSystemArrayOutput() FileSystemArrayOutput

func (FileSystemArrayOutput) ToFileSystemArrayOutputWithContext

func (o FileSystemArrayOutput) ToFileSystemArrayOutputWithContext(ctx context.Context) FileSystemArrayOutput

type FileSystemInput

type FileSystemInput interface {
	pulumi.Input

	ToFileSystemOutput() FileSystemOutput
	ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput
}

type FileSystemMap

type FileSystemMap map[string]FileSystemInput

func (FileSystemMap) ElementType

func (FileSystemMap) ElementType() reflect.Type

func (FileSystemMap) ToFileSystemMapOutput

func (i FileSystemMap) ToFileSystemMapOutput() FileSystemMapOutput

func (FileSystemMap) ToFileSystemMapOutputWithContext

func (i FileSystemMap) ToFileSystemMapOutputWithContext(ctx context.Context) FileSystemMapOutput

type FileSystemMapInput

type FileSystemMapInput interface {
	pulumi.Input

	ToFileSystemMapOutput() FileSystemMapOutput
	ToFileSystemMapOutputWithContext(context.Context) FileSystemMapOutput
}

FileSystemMapInput is an input type that accepts FileSystemMap and FileSystemMapOutput values. You can construct a concrete instance of `FileSystemMapInput` via:

FileSystemMap{ "key": FileSystemArgs{...} }

type FileSystemMapOutput

type FileSystemMapOutput struct{ *pulumi.OutputState }

func (FileSystemMapOutput) ElementType

func (FileSystemMapOutput) ElementType() reflect.Type

func (FileSystemMapOutput) MapIndex

func (FileSystemMapOutput) ToFileSystemMapOutput

func (o FileSystemMapOutput) ToFileSystemMapOutput() FileSystemMapOutput

func (FileSystemMapOutput) ToFileSystemMapOutputWithContext

func (o FileSystemMapOutput) ToFileSystemMapOutputWithContext(ctx context.Context) FileSystemMapOutput

type FileSystemOutput

type FileSystemOutput struct{ *pulumi.OutputState }

func (FileSystemOutput) AccessLevel

func (o FileSystemOutput) AccessLevel() pulumi.StringOutput

Specifies the access level of the shared file system. Possible values are *ro* ( read-only) and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.

func (FileSystemOutput) AccessRuleStatus

func (o FileSystemOutput) AccessRuleStatus() pulumi.StringOutput

The status of the share access rule.

func (FileSystemOutput) AccessRules

All access rules of the shared file system. The object includes the following:

func (FileSystemOutput) AccessTo

Specifies the value that defines the access rule. The value contains 1 to 255 characters. Changing this will create a new access rule. The value varies according to the scenario:

  • Set the VPC ID in VPC authorization scenarios.
  • Set this parameter in IP address authorization scenario:
  • For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*. For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
  • For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*. For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.

func (FileSystemOutput) AccessType

func (o FileSystemOutput) AccessType() pulumi.StringOutput

Specifies the type of the share access rule. The default value is *cert*. Changing this will create a new access rule.

func (FileSystemOutput) AvailabilityZone

func (o FileSystemOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone name. Changing this parameter will create a new resource.

func (FileSystemOutput) Description

func (o FileSystemOutput) Description() pulumi.StringOutput

Specifies the description of the shared file system, which contains 0 to 255 characters and can contain only letters, digits, hyphens (-), and underscores (_).

func (FileSystemOutput) ElementType

func (FileSystemOutput) ElementType() reflect.Type

func (FileSystemOutput) EnterpriseProjectId

func (o FileSystemOutput) EnterpriseProjectId() pulumi.StringOutput

The enterprise project id of the shared file system. Changing this creates a new resource.

func (FileSystemOutput) ExportLocation

func (o FileSystemOutput) ExportLocation() pulumi.StringOutput

The address for accessing the shared file system.

func (FileSystemOutput) IsPublic

func (o FileSystemOutput) IsPublic() pulumi.BoolPtrOutput

Specifies whether a file system can be publicly seen. The default value is false.

func (FileSystemOutput) Metadata

Specifies the metadata information used to create the shared file system. The supported metadata keys are "#sfs_crypt_key_id", "#sfs_crypt_domain_id" and "#sfs_crypt_alias", and the keys should be exist at the same time to enable the data encryption function. Changing this will create a new resource.

func (FileSystemOutput) Name

Specifies the name of the shared file system, which contains 0 to 255 characters and can contain only letters, digits, hyphens (-), and underscores (_).

func (FileSystemOutput) Region

The region in which to create the sfs resource. If omitted, the provider-level region will be used. Changing this creates a new sfs resource.

func (FileSystemOutput) ShareAccessId

func (o FileSystemOutput) ShareAccessId() pulumi.StringOutput

The UUID of the share access rule.

func (FileSystemOutput) ShareProto

func (o FileSystemOutput) ShareProto() pulumi.StringPtrOutput

Specifies the file system sharing protocol. The valid value can be **NFS** (for Linux OS) or **CIFS** (for Windows OS).

func (FileSystemOutput) Size

Specifies the size (GB) of the shared file system.

func (FileSystemOutput) Status

The status of the share access rule.

func (FileSystemOutput) Tags

The key/value pairs to associate with the shared file system.

func (FileSystemOutput) ToFileSystemOutput

func (o FileSystemOutput) ToFileSystemOutput() FileSystemOutput

func (FileSystemOutput) ToFileSystemOutputWithContext

func (o FileSystemOutput) ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput

type FileSystemState

type FileSystemState struct {
	// Specifies the access level of the shared file system. Possible values are *ro* (
	// read-only)
	// and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
	AccessLevel pulumi.StringPtrInput
	// The status of the share access rule.
	AccessRuleStatus pulumi.StringPtrInput
	// All access rules of the shared file system. The object includes the following:
	AccessRules FileSystemAccessRuleArrayInput
	// Specifies the value that defines the access rule. The value contains 1 to 255
	// characters. Changing this will create a new access rule. The value varies according to the scenario:
	// + Set the VPC ID in VPC authorization scenarios.
	// + Set this parameter in IP address authorization scenario:
	// - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
	// - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
	//   For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
	AccessTo pulumi.StringPtrInput
	// Specifies the type of the share access rule. The default value is *cert*. Changing
	// this will create a new access rule.
	AccessType pulumi.StringPtrInput
	// Specifies the availability zone name. Changing this parameter will
	// create a new resource.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the description of the shared file system, which contains 0 to 255
	// characters and can contain only letters, digits, hyphens (-), and underscores (_).
	Description pulumi.StringPtrInput
	// The enterprise project id of the shared file system. Changing
	// this creates a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// The address for accessing the shared file system.
	ExportLocation pulumi.StringPtrInput
	// Specifies whether a file system can be publicly seen.
	// The default value is false.
	IsPublic pulumi.BoolPtrInput
	// Specifies the metadata information used to create the shared file system. The
	// supported metadata keys are "#sfs_crypt_key_id", "#sfs_crypt_domain_id" and "#sfs_crypt_alias", and the keys should be
	// exist at the same time to enable the data encryption function. Changing this will create a new resource.
	Metadata pulumi.StringMapInput
	// Specifies the name of the shared file system, which contains 0 to 255 characters and
	// can contain only letters, digits, hyphens (-), and underscores (_).
	Name pulumi.StringPtrInput
	// The region in which to create the sfs resource. If omitted, the provider-level
	// region will be used. Changing this creates a new sfs resource.
	Region pulumi.StringPtrInput
	// The UUID of the share access rule.
	ShareAccessId pulumi.StringPtrInput
	// Specifies the file system sharing protocol.
	// The valid value can be **NFS** (for Linux OS) or **CIFS** (for Windows OS).
	ShareProto pulumi.StringPtrInput
	// Specifies the size (GB) of the shared file system.
	Size pulumi.IntPtrInput
	// The status of the share access rule.
	Status pulumi.StringPtrInput
	// The key/value pairs to associate with the shared file system.
	Tags pulumi.StringMapInput
}

func (FileSystemState) ElementType

func (FileSystemState) ElementType() reflect.Type

type GetTurbosArgs

type GetTurbosArgs struct {
	// The enterprise project ID of the SFS turbo file system.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the name of the SFS turbo file system.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the SFS turbo file systems.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
	// Specifies the protocol of the SFS turbo file system. The valid value is **NFS**.
	ShareProto *string `pulumi:"shareProto"`
	// Specifies the type of the SFS turbo file system.
	// The valid values are **STANDARD** and **PERFORMANCE**.
	ShareType *string `pulumi:"shareType"`
	// Specifies the capacity of the SFS turbo file system, in GB.
	// The value ranges from `500` to `32,768`, and must be large than `10,240` for an enhanced file system.
	Size *int `pulumi:"size"`
}

A collection of arguments for invoking getTurbos.

type GetTurbosOutputArgs

type GetTurbosOutputArgs struct {
	// The enterprise project ID of the SFS turbo file system.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the name of the SFS turbo file system.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the SFS turbo file systems.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the protocol of the SFS turbo file system. The valid value is **NFS**.
	ShareProto pulumi.StringPtrInput `pulumi:"shareProto"`
	// Specifies the type of the SFS turbo file system.
	// The valid values are **STANDARD** and **PERFORMANCE**.
	ShareType pulumi.StringPtrInput `pulumi:"shareType"`
	// Specifies the capacity of the SFS turbo file system, in GB.
	// The value ranges from `500` to `32,768`, and must be large than `10,240` for an enhanced file system.
	Size pulumi.IntPtrInput `pulumi:"size"`
}

A collection of arguments for invoking getTurbos.

func (GetTurbosOutputArgs) ElementType

func (GetTurbosOutputArgs) ElementType() reflect.Type

type GetTurbosResult

type GetTurbosResult struct {
	// The enterprise project ID of the SFS turbo file system.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The name of the SFS turbo file system.
	Name   *string `pulumi:"name"`
	Region *string `pulumi:"region"`
	// The protocol of the SFS turbo file system.
	ShareProto *string `pulumi:"shareProto"`
	// The type of the SFS turbo file system.
	ShareType *string `pulumi:"shareType"`
	// The capacity of the SFS turbo file system.
	Size *int `pulumi:"size"`
	// The list of the SFS turbo file systems. The object structure is documented below.
	Turbos []GetTurbosTurbo `pulumi:"turbos"`
}

A collection of values returned by getTurbos.

func GetTurbos

func GetTurbos(ctx *pulumi.Context, args *GetTurbosArgs, opts ...pulumi.InvokeOption) (*GetTurbosResult, error)

Use this data source to get the list of the available SFS turbos.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		sfsTurboName := cfg.RequireObject("sfsTurboName")
		_, err := Sfs.GetTurbos(ctx, &sfs.GetTurbosArgs{
			Name: pulumi.StringRef(sfsTurboName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetTurbosResultOutput

type GetTurbosResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTurbos.

func (GetTurbosResultOutput) ElementType

func (GetTurbosResultOutput) ElementType() reflect.Type

func (GetTurbosResultOutput) EnterpriseProjectId

func (o GetTurbosResultOutput) EnterpriseProjectId() pulumi.StringPtrOutput

The enterprise project ID of the SFS turbo file system.

func (GetTurbosResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTurbosResultOutput) Name

The name of the SFS turbo file system.

func (GetTurbosResultOutput) Region

func (GetTurbosResultOutput) ShareProto

The protocol of the SFS turbo file system.

func (GetTurbosResultOutput) ShareType

The type of the SFS turbo file system.

func (GetTurbosResultOutput) Size

The capacity of the SFS turbo file system.

func (GetTurbosResultOutput) ToGetTurbosResultOutput

func (o GetTurbosResultOutput) ToGetTurbosResultOutput() GetTurbosResultOutput

func (GetTurbosResultOutput) ToGetTurbosResultOutputWithContext

func (o GetTurbosResultOutput) ToGetTurbosResultOutputWithContext(ctx context.Context) GetTurbosResultOutput

func (GetTurbosResultOutput) Turbos

The list of the SFS turbo file systems. The object structure is documented below.

type GetTurbosTurbo

type GetTurbosTurbo struct {
	// The availability zone where the SFS turbo file system is located.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// The available capacity of the SFS turbo file system, in GB.
	AvailableCapacity string `pulumi:"availableCapacity"`
	// The ID of a KMS key to encrypt the SFS turbo file system.
	CryptKeyId string `pulumi:"cryptKeyId"`
	// Whether the SFS turbo file system is enhanced.
	Enhanced bool `pulumi:"enhanced"`
	// The enterprise project ID of the SFS turbo file system.
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	// The mount point of the SFS turbo file system.
	ExportLocation string `pulumi:"exportLocation"`
	// The resource ID of the SFS turbo file system.
	Id string `pulumi:"id"`
	// Specifies the name of the SFS turbo file system.
	Name string `pulumi:"name"`
	// The ID of the security group to which the SFS turbo belongs.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// Specifies the protocol of the SFS turbo file system. The valid value is **NFS**.
	ShareProto string `pulumi:"shareProto"`
	// Specifies the type of the SFS turbo file system.
	// The valid values are **STANDARD** and **PERFORMANCE**.
	ShareType string `pulumi:"shareType"`
	// Specifies the capacity of the SFS turbo file system, in GB.
	// The value ranges from `500` to `32,768`, and must be large than `10,240` for an enhanced file system.
	Size int `pulumi:"size"`
	// The **network ID** of the subnet to which the SFS turbo belongs.
	SubnetId string `pulumi:"subnetId"`
	// The version of the SFS turbo file system.
	Version string `pulumi:"version"`
	// The ID of the VPC to which the SFS turbo belongs.
	VpcId string `pulumi:"vpcId"`
}

type GetTurbosTurboArgs

type GetTurbosTurboArgs struct {
	// The availability zone where the SFS turbo file system is located.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// The available capacity of the SFS turbo file system, in GB.
	AvailableCapacity pulumi.StringInput `pulumi:"availableCapacity"`
	// The ID of a KMS key to encrypt the SFS turbo file system.
	CryptKeyId pulumi.StringInput `pulumi:"cryptKeyId"`
	// Whether the SFS turbo file system is enhanced.
	Enhanced pulumi.BoolInput `pulumi:"enhanced"`
	// The enterprise project ID of the SFS turbo file system.
	EnterpriseProjectId pulumi.StringInput `pulumi:"enterpriseProjectId"`
	// The mount point of the SFS turbo file system.
	ExportLocation pulumi.StringInput `pulumi:"exportLocation"`
	// The resource ID of the SFS turbo file system.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the name of the SFS turbo file system.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the security group to which the SFS turbo belongs.
	SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"`
	// Specifies the protocol of the SFS turbo file system. The valid value is **NFS**.
	ShareProto pulumi.StringInput `pulumi:"shareProto"`
	// Specifies the type of the SFS turbo file system.
	// The valid values are **STANDARD** and **PERFORMANCE**.
	ShareType pulumi.StringInput `pulumi:"shareType"`
	// Specifies the capacity of the SFS turbo file system, in GB.
	// The value ranges from `500` to `32,768`, and must be large than `10,240` for an enhanced file system.
	Size pulumi.IntInput `pulumi:"size"`
	// The **network ID** of the subnet to which the SFS turbo belongs.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
	// The version of the SFS turbo file system.
	Version pulumi.StringInput `pulumi:"version"`
	// The ID of the VPC to which the SFS turbo belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetTurbosTurboArgs) ElementType

func (GetTurbosTurboArgs) ElementType() reflect.Type

func (GetTurbosTurboArgs) ToGetTurbosTurboOutput

func (i GetTurbosTurboArgs) ToGetTurbosTurboOutput() GetTurbosTurboOutput

func (GetTurbosTurboArgs) ToGetTurbosTurboOutputWithContext

func (i GetTurbosTurboArgs) ToGetTurbosTurboOutputWithContext(ctx context.Context) GetTurbosTurboOutput

type GetTurbosTurboArray

type GetTurbosTurboArray []GetTurbosTurboInput

func (GetTurbosTurboArray) ElementType

func (GetTurbosTurboArray) ElementType() reflect.Type

func (GetTurbosTurboArray) ToGetTurbosTurboArrayOutput

func (i GetTurbosTurboArray) ToGetTurbosTurboArrayOutput() GetTurbosTurboArrayOutput

func (GetTurbosTurboArray) ToGetTurbosTurboArrayOutputWithContext

func (i GetTurbosTurboArray) ToGetTurbosTurboArrayOutputWithContext(ctx context.Context) GetTurbosTurboArrayOutput

type GetTurbosTurboArrayInput

type GetTurbosTurboArrayInput interface {
	pulumi.Input

	ToGetTurbosTurboArrayOutput() GetTurbosTurboArrayOutput
	ToGetTurbosTurboArrayOutputWithContext(context.Context) GetTurbosTurboArrayOutput
}

GetTurbosTurboArrayInput is an input type that accepts GetTurbosTurboArray and GetTurbosTurboArrayOutput values. You can construct a concrete instance of `GetTurbosTurboArrayInput` via:

GetTurbosTurboArray{ GetTurbosTurboArgs{...} }

type GetTurbosTurboArrayOutput

type GetTurbosTurboArrayOutput struct{ *pulumi.OutputState }

func (GetTurbosTurboArrayOutput) ElementType

func (GetTurbosTurboArrayOutput) ElementType() reflect.Type

func (GetTurbosTurboArrayOutput) Index

func (GetTurbosTurboArrayOutput) ToGetTurbosTurboArrayOutput

func (o GetTurbosTurboArrayOutput) ToGetTurbosTurboArrayOutput() GetTurbosTurboArrayOutput

func (GetTurbosTurboArrayOutput) ToGetTurbosTurboArrayOutputWithContext

func (o GetTurbosTurboArrayOutput) ToGetTurbosTurboArrayOutputWithContext(ctx context.Context) GetTurbosTurboArrayOutput

type GetTurbosTurboInput

type GetTurbosTurboInput interface {
	pulumi.Input

	ToGetTurbosTurboOutput() GetTurbosTurboOutput
	ToGetTurbosTurboOutputWithContext(context.Context) GetTurbosTurboOutput
}

GetTurbosTurboInput is an input type that accepts GetTurbosTurboArgs and GetTurbosTurboOutput values. You can construct a concrete instance of `GetTurbosTurboInput` via:

GetTurbosTurboArgs{...}

type GetTurbosTurboOutput

type GetTurbosTurboOutput struct{ *pulumi.OutputState }

func (GetTurbosTurboOutput) AvailabilityZone

func (o GetTurbosTurboOutput) AvailabilityZone() pulumi.StringOutput

The availability zone where the SFS turbo file system is located.

func (GetTurbosTurboOutput) AvailableCapacity

func (o GetTurbosTurboOutput) AvailableCapacity() pulumi.StringOutput

The available capacity of the SFS turbo file system, in GB.

func (GetTurbosTurboOutput) CryptKeyId

func (o GetTurbosTurboOutput) CryptKeyId() pulumi.StringOutput

The ID of a KMS key to encrypt the SFS turbo file system.

func (GetTurbosTurboOutput) ElementType

func (GetTurbosTurboOutput) ElementType() reflect.Type

func (GetTurbosTurboOutput) Enhanced

func (o GetTurbosTurboOutput) Enhanced() pulumi.BoolOutput

Whether the SFS turbo file system is enhanced.

func (GetTurbosTurboOutput) EnterpriseProjectId

func (o GetTurbosTurboOutput) EnterpriseProjectId() pulumi.StringOutput

The enterprise project ID of the SFS turbo file system.

func (GetTurbosTurboOutput) ExportLocation

func (o GetTurbosTurboOutput) ExportLocation() pulumi.StringOutput

The mount point of the SFS turbo file system.

func (GetTurbosTurboOutput) Id

The resource ID of the SFS turbo file system.

func (GetTurbosTurboOutput) Name

Specifies the name of the SFS turbo file system.

func (GetTurbosTurboOutput) SecurityGroupId

func (o GetTurbosTurboOutput) SecurityGroupId() pulumi.StringOutput

The ID of the security group to which the SFS turbo belongs.

func (GetTurbosTurboOutput) ShareProto

func (o GetTurbosTurboOutput) ShareProto() pulumi.StringOutput

Specifies the protocol of the SFS turbo file system. The valid value is **NFS**.

func (GetTurbosTurboOutput) ShareType

Specifies the type of the SFS turbo file system. The valid values are **STANDARD** and **PERFORMANCE**.

func (GetTurbosTurboOutput) Size

Specifies the capacity of the SFS turbo file system, in GB. The value ranges from `500` to `32,768`, and must be large than `10,240` for an enhanced file system.

func (GetTurbosTurboOutput) SubnetId

The **network ID** of the subnet to which the SFS turbo belongs.

func (GetTurbosTurboOutput) ToGetTurbosTurboOutput

func (o GetTurbosTurboOutput) ToGetTurbosTurboOutput() GetTurbosTurboOutput

func (GetTurbosTurboOutput) ToGetTurbosTurboOutputWithContext

func (o GetTurbosTurboOutput) ToGetTurbosTurboOutputWithContext(ctx context.Context) GetTurbosTurboOutput

func (GetTurbosTurboOutput) Version

The version of the SFS turbo file system.

func (GetTurbosTurboOutput) VpcId

The ID of the VPC to which the SFS turbo belongs.

type LookupFileSystemArgs

type LookupFileSystemArgs struct {
	// The UUID of the shared file system.
	Id *string `pulumi:"id"`
	// The name of the shared file system.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the shared file system.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
	// The status of the shared file system.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getFileSystem.

type LookupFileSystemOutputArgs

type LookupFileSystemOutputArgs struct {
	// The UUID of the shared file system.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the shared file system.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the shared file system.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The status of the shared file system.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getFileSystem.

func (LookupFileSystemOutputArgs) ElementType

func (LookupFileSystemOutputArgs) ElementType() reflect.Type

type LookupFileSystemResult

type LookupFileSystemResult struct {
	// The level of the access rule.
	AccessLevel string `pulumi:"accessLevel"`
	// The access that the back end grants or denies.
	AccessTo string `pulumi:"accessTo"`
	// The type of the share access rule.
	AccessType string `pulumi:"accessType"`
	// The availability zone name.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// The description of the shared file system.
	Description string `pulumi:"description"`
	// The path for accessing the shared file system.
	ExportLocation string `pulumi:"exportLocation"`
	Id             string `pulumi:"id"`
	// Whether a file system can be publicly seen.
	IsPublic bool `pulumi:"isPublic"`
	// The key and value pairs information of the shared file system.
	Metadata map[string]string `pulumi:"metadata"`
	// The UUID of the mount location of the shared file system.
	MountId string `pulumi:"mountId"`
	Name    string `pulumi:"name"`
	// Identifies which mount locations are most efficient and are used preferentially when multiple mount
	// locations exist.
	Preferred bool   `pulumi:"preferred"`
	Region    string `pulumi:"region"`
	// The UUID of the share access rule.
	ShareAccessId string `pulumi:"shareAccessId"`
	// The access that the back end grants or denies.
	ShareInstanceId string `pulumi:"shareInstanceId"`
	// The protocol for sharing file systems.
	ShareProto string `pulumi:"shareProto"`
	// The size (GB) of the shared file system.
	Size int `pulumi:"size"`
	// The state of the shared file system.
	State  string `pulumi:"state"`
	Status string `pulumi:"status"`
}

A collection of values returned by getFileSystem.

func LookupFileSystem

func LookupFileSystem(ctx *pulumi.Context, args *LookupFileSystemArgs, opts ...pulumi.InvokeOption) (*LookupFileSystemResult, error)

Provides information about an Shared File System (SFS) within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		shareName := cfg.RequireObject("shareName")
		_, err := Sfs.GetFileSystem(ctx, &sfs.GetFileSystemArgs{
			Name: pulumi.StringRef(shareName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFileSystemResultOutput

type LookupFileSystemResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFileSystem.

func (LookupFileSystemResultOutput) AccessLevel

The level of the access rule.

func (LookupFileSystemResultOutput) AccessTo

The access that the back end grants or denies.

func (LookupFileSystemResultOutput) AccessType

The type of the share access rule.

func (LookupFileSystemResultOutput) AvailabilityZone

func (o LookupFileSystemResultOutput) AvailabilityZone() pulumi.StringOutput

The availability zone name.

func (LookupFileSystemResultOutput) Description

The description of the shared file system.

func (LookupFileSystemResultOutput) ElementType

func (LookupFileSystemResultOutput) ExportLocation

The path for accessing the shared file system.

func (LookupFileSystemResultOutput) Id

func (LookupFileSystemResultOutput) IsPublic

Whether a file system can be publicly seen.

func (LookupFileSystemResultOutput) Metadata

The key and value pairs information of the shared file system.

func (LookupFileSystemResultOutput) MountId

The UUID of the mount location of the shared file system.

func (LookupFileSystemResultOutput) Name

func (LookupFileSystemResultOutput) Preferred

Identifies which mount locations are most efficient and are used preferentially when multiple mount locations exist.

func (LookupFileSystemResultOutput) Region

func (LookupFileSystemResultOutput) ShareAccessId

The UUID of the share access rule.

func (LookupFileSystemResultOutput) ShareInstanceId

func (o LookupFileSystemResultOutput) ShareInstanceId() pulumi.StringOutput

The access that the back end grants or denies.

func (LookupFileSystemResultOutput) ShareProto

The protocol for sharing file systems.

func (LookupFileSystemResultOutput) Size

The size (GB) of the shared file system.

func (LookupFileSystemResultOutput) State

The state of the shared file system.

func (LookupFileSystemResultOutput) Status

func (LookupFileSystemResultOutput) ToLookupFileSystemResultOutput

func (o LookupFileSystemResultOutput) ToLookupFileSystemResultOutput() LookupFileSystemResultOutput

func (LookupFileSystemResultOutput) ToLookupFileSystemResultOutputWithContext

func (o LookupFileSystemResultOutput) ToLookupFileSystemResultOutputWithContext(ctx context.Context) LookupFileSystemResultOutput

type Turbo

type Turbo struct {
	pulumi.CustomResourceState

	// Specifies whether auto renew is enabled.\
	// The valid values are **true** and **false**.
	AutoRenew pulumi.StringPtrOutput `pulumi:"autoRenew"`
	// Specifies the availability zone where the file system is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The available capacity of the SFS Turbo file system in the unit of GB.
	AvailableCapacity pulumi.StringOutput `pulumi:"availableCapacity"`
	// Specifies the charging mode of the SFS Turbo.
	// Valid values are **prePaid** and **postPaid**, defaults to **postPaid**.
	// Changing this parameter will create a new cluster resource.
	ChargingMode pulumi.StringOutput `pulumi:"chargingMode"`
	// Specifies the ID of a KMS key to encrypt the file system. Changing this
	// will create a new resource.
	CryptKeyId pulumi.StringPtrOutput `pulumi:"cryptKeyId"`
	// Specifies the VM flavor used for creating a dedicated file system.
	DedicatedFlavor pulumi.StringPtrOutput `pulumi:"dedicatedFlavor"`
	// Specifies the ID of the dedicated distributed storage used
	// when creating a dedicated file system.
	DedicatedStorageId pulumi.StringPtrOutput `pulumi:"dedicatedStorageId"`
	// Specifies whether the file system is enhanced or not. Changing this will
	// create a new resource.
	Enhanced pulumi.BoolOutput `pulumi:"enhanced"`
	// The enterprise project id of the file system. Changing this
	// will create a new resource.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Tthe mount point of the SFS Turbo file system.
	ExportLocation pulumi.StringOutput `pulumi:"exportLocation"`
	// Specifies the name of an SFS Turbo file system. The value contains 4 to 64
	// characters and must start with a letter. Changing this will create a new resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the charging period of the SFS Turbo.
	// If `periodUnit` is set to **month**, the value ranges from `1` to `11`.
	// If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	// This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Specifies the charging period unit of the SFS Turbo.
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	PeriodUnit pulumi.StringPtrOutput `pulumi:"periodUnit"`
	// The region in which to create the SFS Turbo resource. If omitted, the
	// provider-level region will be used. Changing this creates a new SFS Turbo resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the security group ID. Changing this will create a new
	// resource.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// Specifies the protocol for sharing file systems. The valid value is NFS.
	// Changing this will create a new resource.
	ShareProto pulumi.StringPtrOutput `pulumi:"shareProto"`
	// Specifies the file system type. The valid values are STANDARD and
	// PERFORMANCE Changing this will create a new resource.
	ShareType pulumi.StringPtrOutput `pulumi:"shareType"`
	// Specifies the capacity of a common file system, in GB. The value ranges from 500 to 32768,
	// and must be large than 10240 for an enhanced file system.
	Size pulumi.IntOutput `pulumi:"size"`
	// The status of the SFS Turbo file system.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the network ID of the subnet. Changing this will create a new
	// resource.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// Specifies the key/value pairs to associate with the SFS Turbo.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The version ID of the SFS Turbo file system.
	Version pulumi.StringOutput `pulumi:"version"`
	// Specifies the VPC ID. Changing this will create a new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides an Shared File System (SFS) Turbo resource.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Sfs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		subnetId := cfg.RequireObject("subnetId")
		secgroupId := cfg.RequireObject("secgroupId")
		testAz := cfg.RequireObject("testAz")
		_, err := Sfs.NewTurbo(ctx, "sfs-turbo-1", &Sfs.TurboArgs{
			Size:             pulumi.Int(500),
			ShareProto:       pulumi.String("NFS"),
			VpcId:            pulumi.Any(vpcId),
			SubnetId:         pulumi.Any(subnetId),
			SecurityGroupId:  pulumi.Any(secgroupId),
			AvailabilityZone: pulumi.Any(testAz),
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SFS Turbo can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Sfs/turbo:Turbo huaweicloud_sfs_turbo 1e3d5306-24c9-4316-9185-70e9787d71ab

```

Note that the imported state may not be identical to your resource definition, due to payment attributes missing from the API response. The missing attributes include`charging_mode`, `period_unit`, `period`, `auto_renew`. It is generally recommended running `terraform plan` after importing an instance. You can ignore changes as below. hcl resource "huaweicloud_sfs_turbo" "test" {

...

lifecycle {

ignore_changes = [

charging_mode, period_unit, period, auto_renew,

]

} }

func GetTurbo

func GetTurbo(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TurboState, opts ...pulumi.ResourceOption) (*Turbo, error)

GetTurbo gets an existing Turbo resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTurbo

func NewTurbo(ctx *pulumi.Context,
	name string, args *TurboArgs, opts ...pulumi.ResourceOption) (*Turbo, error)

NewTurbo registers a new resource with the given unique name, arguments, and options.

func (*Turbo) ElementType

func (*Turbo) ElementType() reflect.Type

func (*Turbo) ToTurboOutput

func (i *Turbo) ToTurboOutput() TurboOutput

func (*Turbo) ToTurboOutputWithContext

func (i *Turbo) ToTurboOutputWithContext(ctx context.Context) TurboOutput

type TurboArgs

type TurboArgs struct {
	// Specifies whether auto renew is enabled.\
	// The valid values are **true** and **false**.
	AutoRenew pulumi.StringPtrInput
	// Specifies the availability zone where the file system is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringInput
	// Specifies the charging mode of the SFS Turbo.
	// Valid values are **prePaid** and **postPaid**, defaults to **postPaid**.
	// Changing this parameter will create a new cluster resource.
	ChargingMode pulumi.StringPtrInput
	// Specifies the ID of a KMS key to encrypt the file system. Changing this
	// will create a new resource.
	CryptKeyId pulumi.StringPtrInput
	// Specifies the VM flavor used for creating a dedicated file system.
	DedicatedFlavor pulumi.StringPtrInput
	// Specifies the ID of the dedicated distributed storage used
	// when creating a dedicated file system.
	DedicatedStorageId pulumi.StringPtrInput
	// Specifies whether the file system is enhanced or not. Changing this will
	// create a new resource.
	Enhanced pulumi.BoolPtrInput
	// The enterprise project id of the file system. Changing this
	// will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the name of an SFS Turbo file system. The value contains 4 to 64
	// characters and must start with a letter. Changing this will create a new resource.
	Name pulumi.StringPtrInput
	// Specifies the charging period of the SFS Turbo.
	// If `periodUnit` is set to **month**, the value ranges from `1` to `11`.
	// If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	// This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the SFS Turbo.
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	PeriodUnit pulumi.StringPtrInput
	// The region in which to create the SFS Turbo resource. If omitted, the
	// provider-level region will be used. Changing this creates a new SFS Turbo resource.
	Region pulumi.StringPtrInput
	// Specifies the security group ID. Changing this will create a new
	// resource.
	SecurityGroupId pulumi.StringInput
	// Specifies the protocol for sharing file systems. The valid value is NFS.
	// Changing this will create a new resource.
	ShareProto pulumi.StringPtrInput
	// Specifies the file system type. The valid values are STANDARD and
	// PERFORMANCE Changing this will create a new resource.
	ShareType pulumi.StringPtrInput
	// Specifies the capacity of a common file system, in GB. The value ranges from 500 to 32768,
	// and must be large than 10240 for an enhanced file system.
	Size pulumi.IntInput
	// Specifies the network ID of the subnet. Changing this will create a new
	// resource.
	SubnetId pulumi.StringInput
	// Specifies the key/value pairs to associate with the SFS Turbo.
	Tags pulumi.StringMapInput
	// Specifies the VPC ID. Changing this will create a new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Turbo resource.

func (TurboArgs) ElementType

func (TurboArgs) ElementType() reflect.Type

type TurboArray

type TurboArray []TurboInput

func (TurboArray) ElementType

func (TurboArray) ElementType() reflect.Type

func (TurboArray) ToTurboArrayOutput

func (i TurboArray) ToTurboArrayOutput() TurboArrayOutput

func (TurboArray) ToTurboArrayOutputWithContext

func (i TurboArray) ToTurboArrayOutputWithContext(ctx context.Context) TurboArrayOutput

type TurboArrayInput

type TurboArrayInput interface {
	pulumi.Input

	ToTurboArrayOutput() TurboArrayOutput
	ToTurboArrayOutputWithContext(context.Context) TurboArrayOutput
}

TurboArrayInput is an input type that accepts TurboArray and TurboArrayOutput values. You can construct a concrete instance of `TurboArrayInput` via:

TurboArray{ TurboArgs{...} }

type TurboArrayOutput

type TurboArrayOutput struct{ *pulumi.OutputState }

func (TurboArrayOutput) ElementType

func (TurboArrayOutput) ElementType() reflect.Type

func (TurboArrayOutput) Index

func (TurboArrayOutput) ToTurboArrayOutput

func (o TurboArrayOutput) ToTurboArrayOutput() TurboArrayOutput

func (TurboArrayOutput) ToTurboArrayOutputWithContext

func (o TurboArrayOutput) ToTurboArrayOutputWithContext(ctx context.Context) TurboArrayOutput

type TurboInput

type TurboInput interface {
	pulumi.Input

	ToTurboOutput() TurboOutput
	ToTurboOutputWithContext(ctx context.Context) TurboOutput
}

type TurboMap

type TurboMap map[string]TurboInput

func (TurboMap) ElementType

func (TurboMap) ElementType() reflect.Type

func (TurboMap) ToTurboMapOutput

func (i TurboMap) ToTurboMapOutput() TurboMapOutput

func (TurboMap) ToTurboMapOutputWithContext

func (i TurboMap) ToTurboMapOutputWithContext(ctx context.Context) TurboMapOutput

type TurboMapInput

type TurboMapInput interface {
	pulumi.Input

	ToTurboMapOutput() TurboMapOutput
	ToTurboMapOutputWithContext(context.Context) TurboMapOutput
}

TurboMapInput is an input type that accepts TurboMap and TurboMapOutput values. You can construct a concrete instance of `TurboMapInput` via:

TurboMap{ "key": TurboArgs{...} }

type TurboMapOutput

type TurboMapOutput struct{ *pulumi.OutputState }

func (TurboMapOutput) ElementType

func (TurboMapOutput) ElementType() reflect.Type

func (TurboMapOutput) MapIndex

func (TurboMapOutput) ToTurboMapOutput

func (o TurboMapOutput) ToTurboMapOutput() TurboMapOutput

func (TurboMapOutput) ToTurboMapOutputWithContext

func (o TurboMapOutput) ToTurboMapOutputWithContext(ctx context.Context) TurboMapOutput

type TurboOutput

type TurboOutput struct{ *pulumi.OutputState }

func (TurboOutput) AutoRenew added in v0.0.8

func (o TurboOutput) AutoRenew() pulumi.StringPtrOutput

Specifies whether auto renew is enabled.\ The valid values are **true** and **false**.

func (TurboOutput) AvailabilityZone

func (o TurboOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone where the file system is located. Changing this will create a new resource.

func (TurboOutput) AvailableCapacity

func (o TurboOutput) AvailableCapacity() pulumi.StringOutput

The available capacity of the SFS Turbo file system in the unit of GB.

func (TurboOutput) ChargingMode added in v0.0.8

func (o TurboOutput) ChargingMode() pulumi.StringOutput

Specifies the charging mode of the SFS Turbo. Valid values are **prePaid** and **postPaid**, defaults to **postPaid**. Changing this parameter will create a new cluster resource.

func (TurboOutput) CryptKeyId

func (o TurboOutput) CryptKeyId() pulumi.StringPtrOutput

Specifies the ID of a KMS key to encrypt the file system. Changing this will create a new resource.

func (TurboOutput) DedicatedFlavor added in v0.0.8

func (o TurboOutput) DedicatedFlavor() pulumi.StringPtrOutput

Specifies the VM flavor used for creating a dedicated file system.

func (TurboOutput) DedicatedStorageId added in v0.0.8

func (o TurboOutput) DedicatedStorageId() pulumi.StringPtrOutput

Specifies the ID of the dedicated distributed storage used when creating a dedicated file system.

func (TurboOutput) ElementType

func (TurboOutput) ElementType() reflect.Type

func (TurboOutput) Enhanced

func (o TurboOutput) Enhanced() pulumi.BoolOutput

Specifies whether the file system is enhanced or not. Changing this will create a new resource.

func (TurboOutput) EnterpriseProjectId

func (o TurboOutput) EnterpriseProjectId() pulumi.StringOutput

The enterprise project id of the file system. Changing this will create a new resource.

func (TurboOutput) ExportLocation

func (o TurboOutput) ExportLocation() pulumi.StringOutput

Tthe mount point of the SFS Turbo file system.

func (TurboOutput) Name

func (o TurboOutput) Name() pulumi.StringOutput

Specifies the name of an SFS Turbo file system. The value contains 4 to 64 characters and must start with a letter. Changing this will create a new resource.

func (TurboOutput) Period added in v0.0.8

func (o TurboOutput) Period() pulumi.IntPtrOutput

Specifies the charging period of the SFS Turbo. If `periodUnit` is set to **month**, the value ranges from `1` to `11`. If `periodUnit` is set to **year**, the value ranges from `1` to `3`. This parameter is mandatory if `chargingMode` is set to **prePaid**. Changing this parameter will create a new cluster resource.

func (TurboOutput) PeriodUnit added in v0.0.8

func (o TurboOutput) PeriodUnit() pulumi.StringPtrOutput

Specifies the charging period unit of the SFS Turbo. Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**. Changing this parameter will create a new cluster resource.

func (TurboOutput) Region

func (o TurboOutput) Region() pulumi.StringOutput

The region in which to create the SFS Turbo resource. If omitted, the provider-level region will be used. Changing this creates a new SFS Turbo resource.

func (TurboOutput) SecurityGroupId

func (o TurboOutput) SecurityGroupId() pulumi.StringOutput

Specifies the security group ID. Changing this will create a new resource.

func (TurboOutput) ShareProto

func (o TurboOutput) ShareProto() pulumi.StringPtrOutput

Specifies the protocol for sharing file systems. The valid value is NFS. Changing this will create a new resource.

func (TurboOutput) ShareType

func (o TurboOutput) ShareType() pulumi.StringPtrOutput

Specifies the file system type. The valid values are STANDARD and PERFORMANCE Changing this will create a new resource.

func (TurboOutput) Size

func (o TurboOutput) Size() pulumi.IntOutput

Specifies the capacity of a common file system, in GB. The value ranges from 500 to 32768, and must be large than 10240 for an enhanced file system.

func (TurboOutput) Status

func (o TurboOutput) Status() pulumi.StringOutput

The status of the SFS Turbo file system.

func (TurboOutput) SubnetId

func (o TurboOutput) SubnetId() pulumi.StringOutput

Specifies the network ID of the subnet. Changing this will create a new resource.

func (TurboOutput) Tags added in v0.0.8

Specifies the key/value pairs to associate with the SFS Turbo.

func (TurboOutput) ToTurboOutput

func (o TurboOutput) ToTurboOutput() TurboOutput

func (TurboOutput) ToTurboOutputWithContext

func (o TurboOutput) ToTurboOutputWithContext(ctx context.Context) TurboOutput

func (TurboOutput) Version

func (o TurboOutput) Version() pulumi.StringOutput

The version ID of the SFS Turbo file system.

func (TurboOutput) VpcId

func (o TurboOutput) VpcId() pulumi.StringOutput

Specifies the VPC ID. Changing this will create a new resource.

type TurboState

type TurboState struct {
	// Specifies whether auto renew is enabled.\
	// The valid values are **true** and **false**.
	AutoRenew pulumi.StringPtrInput
	// Specifies the availability zone where the file system is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringPtrInput
	// The available capacity of the SFS Turbo file system in the unit of GB.
	AvailableCapacity pulumi.StringPtrInput
	// Specifies the charging mode of the SFS Turbo.
	// Valid values are **prePaid** and **postPaid**, defaults to **postPaid**.
	// Changing this parameter will create a new cluster resource.
	ChargingMode pulumi.StringPtrInput
	// Specifies the ID of a KMS key to encrypt the file system. Changing this
	// will create a new resource.
	CryptKeyId pulumi.StringPtrInput
	// Specifies the VM flavor used for creating a dedicated file system.
	DedicatedFlavor pulumi.StringPtrInput
	// Specifies the ID of the dedicated distributed storage used
	// when creating a dedicated file system.
	DedicatedStorageId pulumi.StringPtrInput
	// Specifies whether the file system is enhanced or not. Changing this will
	// create a new resource.
	Enhanced pulumi.BoolPtrInput
	// The enterprise project id of the file system. Changing this
	// will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Tthe mount point of the SFS Turbo file system.
	ExportLocation pulumi.StringPtrInput
	// Specifies the name of an SFS Turbo file system. The value contains 4 to 64
	// characters and must start with a letter. Changing this will create a new resource.
	Name pulumi.StringPtrInput
	// Specifies the charging period of the SFS Turbo.
	// If `periodUnit` is set to **month**, the value ranges from `1` to `11`.
	// If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	// This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the SFS Turbo.
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this parameter will create a new cluster resource.
	PeriodUnit pulumi.StringPtrInput
	// The region in which to create the SFS Turbo resource. If omitted, the
	// provider-level region will be used. Changing this creates a new SFS Turbo resource.
	Region pulumi.StringPtrInput
	// Specifies the security group ID. Changing this will create a new
	// resource.
	SecurityGroupId pulumi.StringPtrInput
	// Specifies the protocol for sharing file systems. The valid value is NFS.
	// Changing this will create a new resource.
	ShareProto pulumi.StringPtrInput
	// Specifies the file system type. The valid values are STANDARD and
	// PERFORMANCE Changing this will create a new resource.
	ShareType pulumi.StringPtrInput
	// Specifies the capacity of a common file system, in GB. The value ranges from 500 to 32768,
	// and must be large than 10240 for an enhanced file system.
	Size pulumi.IntPtrInput
	// The status of the SFS Turbo file system.
	Status pulumi.StringPtrInput
	// Specifies the network ID of the subnet. Changing this will create a new
	// resource.
	SubnetId pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the SFS Turbo.
	Tags pulumi.StringMapInput
	// The version ID of the SFS Turbo file system.
	Version pulumi.StringPtrInput
	// Specifies the VPC ID. Changing this will create a new resource.
	VpcId pulumi.StringPtrInput
}

func (TurboState) ElementType

func (TurboState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL