nas

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 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.1

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 AccessGroup

type AccessGroup struct {
	pulumi.CustomResourceState

	// A Name of one Access Group.
	AccessGroupName pulumi.StringOutput `pulumi:"accessGroupName"`
	// A Type of one Access Group. Valid values: `Vpc` and `Classic`.
	AccessGroupType pulumi.StringOutput `pulumi:"accessGroupType"`
	// The Access Group description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The type of file system. Valid values: `standard` and `extreme`. Default to `standard`. Note that the extreme only support Vpc Network.
	FileSystemType pulumi.StringPtrOutput `pulumi:"fileSystemType"`
	// Replaced by `accessGroupName` after version 1.92.0.
	Name pulumi.StringOutput `pulumi:"name"`
	// Replaced by `accessGroupType` after version 1.92.0.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a NAS Access Group resource.

In NAS, the permission group acts as a whitelist that allows you to restrict file system access. You can allow specified IP addresses or CIDR blocks to access the file system, and assign different levels of access permission to different IP addresses or CIDR blocks by adding rules to the permission group. For information about NAS Access Group and how to use it, see [What is NAS Access Group](https://www.alibabacloud.com/help/en/doc-detail/27534)

> **NOTE:** Available in v1.33.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.NewAccessGroup(ctx, "foo", &nas.AccessGroupArgs{
			Description: pulumi.String("test_AccessG"),
			Type:        pulumi.String("Classic"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Example after v1.92.0

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.NewAccessGroup(ctx, "foo", &nas.AccessGroupArgs{
			AccessGroupName: pulumi.String("CreateAccessGroup"),
			AccessGroupType: pulumi.String("Vpc"),
			Description:     pulumi.String("test_AccessG"),
			FileSystemType:  pulumi.String("extreme"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NAS Access Group can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/accessGroup:AccessGroup foo tf_testAccNasConfig:standard

```

func GetAccessGroup

func GetAccessGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessGroupState, opts ...pulumi.ResourceOption) (*AccessGroup, error)

GetAccessGroup gets an existing AccessGroup 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 NewAccessGroup

func NewAccessGroup(ctx *pulumi.Context,
	name string, args *AccessGroupArgs, opts ...pulumi.ResourceOption) (*AccessGroup, error)

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

func (*AccessGroup) ElementType

func (*AccessGroup) ElementType() reflect.Type

func (*AccessGroup) ToAccessGroupOutput

func (i *AccessGroup) ToAccessGroupOutput() AccessGroupOutput

func (*AccessGroup) ToAccessGroupOutputWithContext

func (i *AccessGroup) ToAccessGroupOutputWithContext(ctx context.Context) AccessGroupOutput

type AccessGroupArgs

type AccessGroupArgs struct {
	// A Name of one Access Group.
	AccessGroupName pulumi.StringPtrInput
	// A Type of one Access Group. Valid values: `Vpc` and `Classic`.
	AccessGroupType pulumi.StringPtrInput
	// The Access Group description.
	Description pulumi.StringPtrInput
	// The type of file system. Valid values: `standard` and `extreme`. Default to `standard`. Note that the extreme only support Vpc Network.
	FileSystemType pulumi.StringPtrInput
	// Replaced by `accessGroupName` after version 1.92.0.
	Name pulumi.StringPtrInput
	// Replaced by `accessGroupType` after version 1.92.0.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a AccessGroup resource.

func (AccessGroupArgs) ElementType

func (AccessGroupArgs) ElementType() reflect.Type

type AccessGroupArray

type AccessGroupArray []AccessGroupInput

func (AccessGroupArray) ElementType

func (AccessGroupArray) ElementType() reflect.Type

func (AccessGroupArray) ToAccessGroupArrayOutput

func (i AccessGroupArray) ToAccessGroupArrayOutput() AccessGroupArrayOutput

func (AccessGroupArray) ToAccessGroupArrayOutputWithContext

func (i AccessGroupArray) ToAccessGroupArrayOutputWithContext(ctx context.Context) AccessGroupArrayOutput

type AccessGroupArrayInput

type AccessGroupArrayInput interface {
	pulumi.Input

	ToAccessGroupArrayOutput() AccessGroupArrayOutput
	ToAccessGroupArrayOutputWithContext(context.Context) AccessGroupArrayOutput
}

AccessGroupArrayInput is an input type that accepts AccessGroupArray and AccessGroupArrayOutput values. You can construct a concrete instance of `AccessGroupArrayInput` via:

AccessGroupArray{ AccessGroupArgs{...} }

type AccessGroupArrayOutput

type AccessGroupArrayOutput struct{ *pulumi.OutputState }

func (AccessGroupArrayOutput) ElementType

func (AccessGroupArrayOutput) ElementType() reflect.Type

func (AccessGroupArrayOutput) Index

func (AccessGroupArrayOutput) ToAccessGroupArrayOutput

func (o AccessGroupArrayOutput) ToAccessGroupArrayOutput() AccessGroupArrayOutput

func (AccessGroupArrayOutput) ToAccessGroupArrayOutputWithContext

func (o AccessGroupArrayOutput) ToAccessGroupArrayOutputWithContext(ctx context.Context) AccessGroupArrayOutput

type AccessGroupInput

type AccessGroupInput interface {
	pulumi.Input

	ToAccessGroupOutput() AccessGroupOutput
	ToAccessGroupOutputWithContext(ctx context.Context) AccessGroupOutput
}

type AccessGroupMap

type AccessGroupMap map[string]AccessGroupInput

func (AccessGroupMap) ElementType

func (AccessGroupMap) ElementType() reflect.Type

func (AccessGroupMap) ToAccessGroupMapOutput

func (i AccessGroupMap) ToAccessGroupMapOutput() AccessGroupMapOutput

func (AccessGroupMap) ToAccessGroupMapOutputWithContext

func (i AccessGroupMap) ToAccessGroupMapOutputWithContext(ctx context.Context) AccessGroupMapOutput

type AccessGroupMapInput

type AccessGroupMapInput interface {
	pulumi.Input

	ToAccessGroupMapOutput() AccessGroupMapOutput
	ToAccessGroupMapOutputWithContext(context.Context) AccessGroupMapOutput
}

AccessGroupMapInput is an input type that accepts AccessGroupMap and AccessGroupMapOutput values. You can construct a concrete instance of `AccessGroupMapInput` via:

AccessGroupMap{ "key": AccessGroupArgs{...} }

type AccessGroupMapOutput

type AccessGroupMapOutput struct{ *pulumi.OutputState }

func (AccessGroupMapOutput) ElementType

func (AccessGroupMapOutput) ElementType() reflect.Type

func (AccessGroupMapOutput) MapIndex

func (AccessGroupMapOutput) ToAccessGroupMapOutput

func (o AccessGroupMapOutput) ToAccessGroupMapOutput() AccessGroupMapOutput

func (AccessGroupMapOutput) ToAccessGroupMapOutputWithContext

func (o AccessGroupMapOutput) ToAccessGroupMapOutputWithContext(ctx context.Context) AccessGroupMapOutput

type AccessGroupOutput

type AccessGroupOutput struct{ *pulumi.OutputState }

func (AccessGroupOutput) AccessGroupName

func (o AccessGroupOutput) AccessGroupName() pulumi.StringOutput

A Name of one Access Group.

func (AccessGroupOutput) AccessGroupType

func (o AccessGroupOutput) AccessGroupType() pulumi.StringOutput

A Type of one Access Group. Valid values: `Vpc` and `Classic`.

func (AccessGroupOutput) Description

func (o AccessGroupOutput) Description() pulumi.StringPtrOutput

The Access Group description.

func (AccessGroupOutput) ElementType

func (AccessGroupOutput) ElementType() reflect.Type

func (AccessGroupOutput) FileSystemType

func (o AccessGroupOutput) FileSystemType() pulumi.StringPtrOutput

The type of file system. Valid values: `standard` and `extreme`. Default to `standard`. Note that the extreme only support Vpc Network.

func (AccessGroupOutput) Name

Replaced by `accessGroupName` after version 1.92.0.

func (AccessGroupOutput) ToAccessGroupOutput

func (o AccessGroupOutput) ToAccessGroupOutput() AccessGroupOutput

func (AccessGroupOutput) ToAccessGroupOutputWithContext

func (o AccessGroupOutput) ToAccessGroupOutputWithContext(ctx context.Context) AccessGroupOutput

func (AccessGroupOutput) Type

Replaced by `accessGroupType` after version 1.92.0.

type AccessGroupState

type AccessGroupState struct {
	// A Name of one Access Group.
	AccessGroupName pulumi.StringPtrInput
	// A Type of one Access Group. Valid values: `Vpc` and `Classic`.
	AccessGroupType pulumi.StringPtrInput
	// The Access Group description.
	Description pulumi.StringPtrInput
	// The type of file system. Valid values: `standard` and `extreme`. Default to `standard`. Note that the extreme only support Vpc Network.
	FileSystemType pulumi.StringPtrInput
	// Replaced by `accessGroupName` after version 1.92.0.
	Name pulumi.StringPtrInput
	// Replaced by `accessGroupType` after version 1.92.0.
	Type pulumi.StringPtrInput
}

func (AccessGroupState) ElementType

func (AccessGroupState) ElementType() reflect.Type

type AccessRule

type AccessRule struct {
	pulumi.CustomResourceState

	// Permission group name.
	AccessGroupName pulumi.StringOutput `pulumi:"accessGroupName"`
	// The nas access rule ID.
	AccessRuleId pulumi.StringOutput `pulumi:"accessRuleId"`
	// Priority level. Range: 1-100. Default value: `1`.
	Priority pulumi.IntPtrOutput `pulumi:"priority"`
	// Read-write permission type: `RDWR` (default), `RDONLY`.
	RwAccessType pulumi.StringPtrOutput `pulumi:"rwAccessType"`
	// Address or address segment.
	SourceCidrIp pulumi.StringOutput `pulumi:"sourceCidrIp"`
	// User permission type: `noSquash` (default), `rootSquash`, `allSquash`.
	UserAccessType pulumi.StringPtrOutput `pulumi:"userAccessType"`
}

Provides a Nas Access Rule resource.

When NAS is activated, the Default VPC Permission Group is automatically generated. It allows all IP addresses in a VPC to access the mount point with full permissions. Full permissions include Read/Write permission with no restriction on root users.

> **NOTE:** Available in v1.34.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooAccessGroup, err := nas.NewAccessGroup(ctx, "fooAccessGroup", &nas.AccessGroupArgs{
			AccessGroupName: pulumi.String("tf-NasConfigName"),
			AccessGroupType: pulumi.String("Vpc"),
			Description:     pulumi.String("tf-testAccNasConfig"),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewAccessRule(ctx, "fooAccessRule", &nas.AccessRuleArgs{
			AccessGroupName: fooAccessGroup.AccessGroupName,
			SourceCidrIp:    pulumi.String("168.1.1.0/16"),
			RwAccessType:    pulumi.String("RDWR"),
			UserAccessType:  pulumi.String("no_squash"),
			Priority:        pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Nas Access Rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/accessRule:AccessRule foo tf-testAccNasConfigName:1

```

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 {
	// Permission group name.
	AccessGroupName pulumi.StringInput
	// Priority level. Range: 1-100. Default value: `1`.
	Priority pulumi.IntPtrInput
	// Read-write permission type: `RDWR` (default), `RDONLY`.
	RwAccessType pulumi.StringPtrInput
	// Address or address segment.
	SourceCidrIp pulumi.StringInput
	// User permission type: `noSquash` (default), `rootSquash`, `allSquash`.
	UserAccessType pulumi.StringPtrInput
}

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) AccessGroupName

func (o AccessRuleOutput) AccessGroupName() pulumi.StringOutput

Permission group name.

func (AccessRuleOutput) AccessRuleId

func (o AccessRuleOutput) AccessRuleId() pulumi.StringOutput

The nas access rule ID.

func (AccessRuleOutput) ElementType

func (AccessRuleOutput) ElementType() reflect.Type

func (AccessRuleOutput) Priority

func (o AccessRuleOutput) Priority() pulumi.IntPtrOutput

Priority level. Range: 1-100. Default value: `1`.

func (AccessRuleOutput) RwAccessType

func (o AccessRuleOutput) RwAccessType() pulumi.StringPtrOutput

Read-write permission type: `RDWR` (default), `RDONLY`.

func (AccessRuleOutput) SourceCidrIp

func (o AccessRuleOutput) SourceCidrIp() pulumi.StringOutput

Address or address segment.

func (AccessRuleOutput) ToAccessRuleOutput

func (o AccessRuleOutput) ToAccessRuleOutput() AccessRuleOutput

func (AccessRuleOutput) ToAccessRuleOutputWithContext

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

func (AccessRuleOutput) UserAccessType

func (o AccessRuleOutput) UserAccessType() pulumi.StringPtrOutput

User permission type: `noSquash` (default), `rootSquash`, `allSquash`.

type AccessRuleState

type AccessRuleState struct {
	// Permission group name.
	AccessGroupName pulumi.StringPtrInput
	// The nas access rule ID.
	AccessRuleId pulumi.StringPtrInput
	// Priority level. Range: 1-100. Default value: `1`.
	Priority pulumi.IntPtrInput
	// Read-write permission type: `RDWR` (default), `RDONLY`.
	RwAccessType pulumi.StringPtrInput
	// Address or address segment.
	SourceCidrIp pulumi.StringPtrInput
	// User permission type: `noSquash` (default), `rootSquash`, `allSquash`.
	UserAccessType pulumi.StringPtrInput
}

func (AccessRuleState) ElementType

func (AccessRuleState) ElementType() reflect.Type

type AutoSnapshotPolicy

type AutoSnapshotPolicy struct {
	pulumi.CustomResourceState

	// The name of the automatic snapshot policy. Limits:
	// - The name must be `2` to `128` characters in length,
	// - The name must start with a letter.
	// - The name can contain digits, colons (:), underscores (_), and hyphens (-). The name cannot start with `http://` or `https://`.
	// - The value of this parameter is empty by default.
	AutoSnapshotPolicyName pulumi.StringPtrOutput `pulumi:"autoSnapshotPolicyName"`
	// The day on which an auto snapshot is created.
	// - A maximum of 7 time points can be selected.
	// - The format is  an JSON array of ["1", "2", … "7"]  and the time points are separated by commas (,).
	RepeatWeekdays pulumi.StringArrayOutput `pulumi:"repeatWeekdays"`
	// The number of days for which you want to retain auto snapshots. Unit: days. Valid values:
	// - `-1`: the default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntOutput `pulumi:"retentionDays"`
	// The status of the automatic snapshot policy.
	Status pulumi.StringOutput `pulumi:"status"`
	// The point in time at which an auto snapshot is created.
	// - A maximum of 24 time points can be selected.
	// - The format is  an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
	TimePoints pulumi.StringArrayOutput `pulumi:"timePoints"`
}

Provides a Network Attached Storage (NAS) Auto Snapshot Policy resource.

For information about Network Attached Storage (NAS) Auto Snapshot Policy and how to use it, see [What is Auto Snapshot Policy](https://www.alibabacloud.com/help/en/doc-detail/135662.html).

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.NewAutoSnapshotPolicy(ctx, "example", &nas.AutoSnapshotPolicyArgs{
			AutoSnapshotPolicyName: pulumi.String("example_value"),
			RepeatWeekdays: pulumi.StringArray{
				pulumi.String("3"),
				pulumi.String("4"),
				pulumi.String("5"),
			},
			RetentionDays: pulumi.Int(30),
			TimePoints: pulumi.StringArray{
				pulumi.String("3"),
				pulumi.String("4"),
				pulumi.String("5"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Attached Storage (NAS) Auto Snapshot Policy can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/autoSnapshotPolicy:AutoSnapshotPolicy example <id>

```

func GetAutoSnapshotPolicy

func GetAutoSnapshotPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AutoSnapshotPolicyState, opts ...pulumi.ResourceOption) (*AutoSnapshotPolicy, error)

GetAutoSnapshotPolicy gets an existing AutoSnapshotPolicy 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 NewAutoSnapshotPolicy

func NewAutoSnapshotPolicy(ctx *pulumi.Context,
	name string, args *AutoSnapshotPolicyArgs, opts ...pulumi.ResourceOption) (*AutoSnapshotPolicy, error)

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

func (*AutoSnapshotPolicy) ElementType

func (*AutoSnapshotPolicy) ElementType() reflect.Type

func (*AutoSnapshotPolicy) ToAutoSnapshotPolicyOutput

func (i *AutoSnapshotPolicy) ToAutoSnapshotPolicyOutput() AutoSnapshotPolicyOutput

func (*AutoSnapshotPolicy) ToAutoSnapshotPolicyOutputWithContext

func (i *AutoSnapshotPolicy) ToAutoSnapshotPolicyOutputWithContext(ctx context.Context) AutoSnapshotPolicyOutput

type AutoSnapshotPolicyArgs

type AutoSnapshotPolicyArgs struct {
	// The name of the automatic snapshot policy. Limits:
	// - The name must be `2` to `128` characters in length,
	// - The name must start with a letter.
	// - The name can contain digits, colons (:), underscores (_), and hyphens (-). The name cannot start with `http://` or `https://`.
	// - The value of this parameter is empty by default.
	AutoSnapshotPolicyName pulumi.StringPtrInput
	// The day on which an auto snapshot is created.
	// - A maximum of 7 time points can be selected.
	// - The format is  an JSON array of ["1", "2", … "7"]  and the time points are separated by commas (,).
	RepeatWeekdays pulumi.StringArrayInput
	// The number of days for which you want to retain auto snapshots. Unit: days. Valid values:
	// - `-1`: the default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntPtrInput
	// The point in time at which an auto snapshot is created.
	// - A maximum of 24 time points can be selected.
	// - The format is  an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
	TimePoints pulumi.StringArrayInput
}

The set of arguments for constructing a AutoSnapshotPolicy resource.

func (AutoSnapshotPolicyArgs) ElementType

func (AutoSnapshotPolicyArgs) ElementType() reflect.Type

type AutoSnapshotPolicyArray

type AutoSnapshotPolicyArray []AutoSnapshotPolicyInput

func (AutoSnapshotPolicyArray) ElementType

func (AutoSnapshotPolicyArray) ElementType() reflect.Type

func (AutoSnapshotPolicyArray) ToAutoSnapshotPolicyArrayOutput

func (i AutoSnapshotPolicyArray) ToAutoSnapshotPolicyArrayOutput() AutoSnapshotPolicyArrayOutput

func (AutoSnapshotPolicyArray) ToAutoSnapshotPolicyArrayOutputWithContext

func (i AutoSnapshotPolicyArray) ToAutoSnapshotPolicyArrayOutputWithContext(ctx context.Context) AutoSnapshotPolicyArrayOutput

type AutoSnapshotPolicyArrayInput

type AutoSnapshotPolicyArrayInput interface {
	pulumi.Input

	ToAutoSnapshotPolicyArrayOutput() AutoSnapshotPolicyArrayOutput
	ToAutoSnapshotPolicyArrayOutputWithContext(context.Context) AutoSnapshotPolicyArrayOutput
}

AutoSnapshotPolicyArrayInput is an input type that accepts AutoSnapshotPolicyArray and AutoSnapshotPolicyArrayOutput values. You can construct a concrete instance of `AutoSnapshotPolicyArrayInput` via:

AutoSnapshotPolicyArray{ AutoSnapshotPolicyArgs{...} }

type AutoSnapshotPolicyArrayOutput

type AutoSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (AutoSnapshotPolicyArrayOutput) ElementType

func (AutoSnapshotPolicyArrayOutput) Index

func (AutoSnapshotPolicyArrayOutput) ToAutoSnapshotPolicyArrayOutput

func (o AutoSnapshotPolicyArrayOutput) ToAutoSnapshotPolicyArrayOutput() AutoSnapshotPolicyArrayOutput

func (AutoSnapshotPolicyArrayOutput) ToAutoSnapshotPolicyArrayOutputWithContext

func (o AutoSnapshotPolicyArrayOutput) ToAutoSnapshotPolicyArrayOutputWithContext(ctx context.Context) AutoSnapshotPolicyArrayOutput

type AutoSnapshotPolicyInput

type AutoSnapshotPolicyInput interface {
	pulumi.Input

	ToAutoSnapshotPolicyOutput() AutoSnapshotPolicyOutput
	ToAutoSnapshotPolicyOutputWithContext(ctx context.Context) AutoSnapshotPolicyOutput
}

type AutoSnapshotPolicyMap

type AutoSnapshotPolicyMap map[string]AutoSnapshotPolicyInput

func (AutoSnapshotPolicyMap) ElementType

func (AutoSnapshotPolicyMap) ElementType() reflect.Type

func (AutoSnapshotPolicyMap) ToAutoSnapshotPolicyMapOutput

func (i AutoSnapshotPolicyMap) ToAutoSnapshotPolicyMapOutput() AutoSnapshotPolicyMapOutput

func (AutoSnapshotPolicyMap) ToAutoSnapshotPolicyMapOutputWithContext

func (i AutoSnapshotPolicyMap) ToAutoSnapshotPolicyMapOutputWithContext(ctx context.Context) AutoSnapshotPolicyMapOutput

type AutoSnapshotPolicyMapInput

type AutoSnapshotPolicyMapInput interface {
	pulumi.Input

	ToAutoSnapshotPolicyMapOutput() AutoSnapshotPolicyMapOutput
	ToAutoSnapshotPolicyMapOutputWithContext(context.Context) AutoSnapshotPolicyMapOutput
}

AutoSnapshotPolicyMapInput is an input type that accepts AutoSnapshotPolicyMap and AutoSnapshotPolicyMapOutput values. You can construct a concrete instance of `AutoSnapshotPolicyMapInput` via:

AutoSnapshotPolicyMap{ "key": AutoSnapshotPolicyArgs{...} }

type AutoSnapshotPolicyMapOutput

type AutoSnapshotPolicyMapOutput struct{ *pulumi.OutputState }

func (AutoSnapshotPolicyMapOutput) ElementType

func (AutoSnapshotPolicyMapOutput) MapIndex

func (AutoSnapshotPolicyMapOutput) ToAutoSnapshotPolicyMapOutput

func (o AutoSnapshotPolicyMapOutput) ToAutoSnapshotPolicyMapOutput() AutoSnapshotPolicyMapOutput

func (AutoSnapshotPolicyMapOutput) ToAutoSnapshotPolicyMapOutputWithContext

func (o AutoSnapshotPolicyMapOutput) ToAutoSnapshotPolicyMapOutputWithContext(ctx context.Context) AutoSnapshotPolicyMapOutput

type AutoSnapshotPolicyOutput

type AutoSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (AutoSnapshotPolicyOutput) AutoSnapshotPolicyName

func (o AutoSnapshotPolicyOutput) AutoSnapshotPolicyName() pulumi.StringPtrOutput

The name of the automatic snapshot policy. Limits: - The name must be `2` to `128` characters in length, - The name must start with a letter. - The name can contain digits, colons (:), underscores (_), and hyphens (-). The name cannot start with `http://` or `https://`. - The value of this parameter is empty by default.

func (AutoSnapshotPolicyOutput) ElementType

func (AutoSnapshotPolicyOutput) ElementType() reflect.Type

func (AutoSnapshotPolicyOutput) RepeatWeekdays

The day on which an auto snapshot is created. - A maximum of 7 time points can be selected. - The format is an JSON array of ["1", "2", … "7"] and the time points are separated by commas (,).

func (AutoSnapshotPolicyOutput) RetentionDays

func (o AutoSnapshotPolicyOutput) RetentionDays() pulumi.IntOutput

The number of days for which you want to retain auto snapshots. Unit: days. Valid values: - `-1`: the default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.

func (AutoSnapshotPolicyOutput) Status

The status of the automatic snapshot policy.

func (AutoSnapshotPolicyOutput) TimePoints

The point in time at which an auto snapshot is created. - A maximum of 24 time points can be selected. - The format is an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).

func (AutoSnapshotPolicyOutput) ToAutoSnapshotPolicyOutput

func (o AutoSnapshotPolicyOutput) ToAutoSnapshotPolicyOutput() AutoSnapshotPolicyOutput

func (AutoSnapshotPolicyOutput) ToAutoSnapshotPolicyOutputWithContext

func (o AutoSnapshotPolicyOutput) ToAutoSnapshotPolicyOutputWithContext(ctx context.Context) AutoSnapshotPolicyOutput

type AutoSnapshotPolicyState

type AutoSnapshotPolicyState struct {
	// The name of the automatic snapshot policy. Limits:
	// - The name must be `2` to `128` characters in length,
	// - The name must start with a letter.
	// - The name can contain digits, colons (:), underscores (_), and hyphens (-). The name cannot start with `http://` or `https://`.
	// - The value of this parameter is empty by default.
	AutoSnapshotPolicyName pulumi.StringPtrInput
	// The day on which an auto snapshot is created.
	// - A maximum of 7 time points can be selected.
	// - The format is  an JSON array of ["1", "2", … "7"]  and the time points are separated by commas (,).
	RepeatWeekdays pulumi.StringArrayInput
	// The number of days for which you want to retain auto snapshots. Unit: days. Valid values:
	// - `-1`: the default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntPtrInput
	// The status of the automatic snapshot policy.
	Status pulumi.StringPtrInput
	// The point in time at which an auto snapshot is created.
	// - A maximum of 24 time points can be selected.
	// - The format is  an JSON array of ["0", "1", … "23"] and the time points are separated by commas (,).
	TimePoints pulumi.StringArrayInput
}

func (AutoSnapshotPolicyState) ElementType

func (AutoSnapshotPolicyState) ElementType() reflect.Type

type DataFlow

type DataFlow struct {
	pulumi.CustomResourceState

	// The ID of the Data flow.
	DataFlowId pulumi.StringOutput `pulumi:"dataFlowId"`
	// The Description of the data flow. Restrictions:
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The ID of the Fileset.
	FsetId pulumi.StringOutput `pulumi:"fsetId"`
	// The security protection type of the source storage. If the source storage must be accessed through security protection, specify the security protection type of the source storage. Value:
	SourceSecurityType pulumi.StringOutput `pulumi:"sourceSecurityType"`
	// The access path of the source store. Format: `<storage type>://<path>`. Among them:
	// - storage type: currently only OSS is supported.
	// - path: the bucket name of OSS.
	// - Only lowercase letters, numbers, and dashes (-) are supported and must start and end with lowercase letters or numbers.
	SourceStorage pulumi.StringOutput `pulumi:"sourceStorage"`
	// The status of the Data flow. Valid values: `Running`, `Stopped`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The maximum transmission bandwidth of data flow, unit: `MB/s`. Valid values: `1200`, `1500`, `600`. **NOTE:** The transmission bandwidth of data flow must be less than the IO bandwidth of the file system.
	Throughput pulumi.IntOutput `pulumi:"throughput"`
}

Provides a Network Attached Storage (NAS) Data Flow resource.

For information about Network Attached Storage (NAS) Data Flow and how to use it, see [What is Data Flow](https://www.alibabacloud.com/help/en/doc-detail/27530.html).

> **NOTE:** Available in v1.153.0+.

## Import

Network Attached Storage (NAS) Data Flow can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/dataFlow:DataFlow example <file_system_id>:<data_flow_id>

```

func GetDataFlow

func GetDataFlow(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DataFlowState, opts ...pulumi.ResourceOption) (*DataFlow, error)

GetDataFlow gets an existing DataFlow 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 NewDataFlow

func NewDataFlow(ctx *pulumi.Context,
	name string, args *DataFlowArgs, opts ...pulumi.ResourceOption) (*DataFlow, error)

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

func (*DataFlow) ElementType

func (*DataFlow) ElementType() reflect.Type

func (*DataFlow) ToDataFlowOutput

func (i *DataFlow) ToDataFlowOutput() DataFlowOutput

func (*DataFlow) ToDataFlowOutputWithContext

func (i *DataFlow) ToDataFlowOutputWithContext(ctx context.Context) DataFlowOutput

type DataFlowArgs

type DataFlowArgs struct {
	// The Description of the data flow. Restrictions:
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringInput
	// The ID of the Fileset.
	FsetId pulumi.StringInput
	// The security protection type of the source storage. If the source storage must be accessed through security protection, specify the security protection type of the source storage. Value:
	SourceSecurityType pulumi.StringPtrInput
	// The access path of the source store. Format: `<storage type>://<path>`. Among them:
	// - storage type: currently only OSS is supported.
	// - path: the bucket name of OSS.
	// - Only lowercase letters, numbers, and dashes (-) are supported and must start and end with lowercase letters or numbers.
	SourceStorage pulumi.StringInput
	// The status of the Data flow. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
	// The maximum transmission bandwidth of data flow, unit: `MB/s`. Valid values: `1200`, `1500`, `600`. **NOTE:** The transmission bandwidth of data flow must be less than the IO bandwidth of the file system.
	Throughput pulumi.IntInput
}

The set of arguments for constructing a DataFlow resource.

func (DataFlowArgs) ElementType

func (DataFlowArgs) ElementType() reflect.Type

type DataFlowArray

type DataFlowArray []DataFlowInput

func (DataFlowArray) ElementType

func (DataFlowArray) ElementType() reflect.Type

func (DataFlowArray) ToDataFlowArrayOutput

func (i DataFlowArray) ToDataFlowArrayOutput() DataFlowArrayOutput

func (DataFlowArray) ToDataFlowArrayOutputWithContext

func (i DataFlowArray) ToDataFlowArrayOutputWithContext(ctx context.Context) DataFlowArrayOutput

type DataFlowArrayInput

type DataFlowArrayInput interface {
	pulumi.Input

	ToDataFlowArrayOutput() DataFlowArrayOutput
	ToDataFlowArrayOutputWithContext(context.Context) DataFlowArrayOutput
}

DataFlowArrayInput is an input type that accepts DataFlowArray and DataFlowArrayOutput values. You can construct a concrete instance of `DataFlowArrayInput` via:

DataFlowArray{ DataFlowArgs{...} }

type DataFlowArrayOutput

type DataFlowArrayOutput struct{ *pulumi.OutputState }

func (DataFlowArrayOutput) ElementType

func (DataFlowArrayOutput) ElementType() reflect.Type

func (DataFlowArrayOutput) Index

func (DataFlowArrayOutput) ToDataFlowArrayOutput

func (o DataFlowArrayOutput) ToDataFlowArrayOutput() DataFlowArrayOutput

func (DataFlowArrayOutput) ToDataFlowArrayOutputWithContext

func (o DataFlowArrayOutput) ToDataFlowArrayOutputWithContext(ctx context.Context) DataFlowArrayOutput

type DataFlowInput

type DataFlowInput interface {
	pulumi.Input

	ToDataFlowOutput() DataFlowOutput
	ToDataFlowOutputWithContext(ctx context.Context) DataFlowOutput
}

type DataFlowMap

type DataFlowMap map[string]DataFlowInput

func (DataFlowMap) ElementType

func (DataFlowMap) ElementType() reflect.Type

func (DataFlowMap) ToDataFlowMapOutput

func (i DataFlowMap) ToDataFlowMapOutput() DataFlowMapOutput

func (DataFlowMap) ToDataFlowMapOutputWithContext

func (i DataFlowMap) ToDataFlowMapOutputWithContext(ctx context.Context) DataFlowMapOutput

type DataFlowMapInput

type DataFlowMapInput interface {
	pulumi.Input

	ToDataFlowMapOutput() DataFlowMapOutput
	ToDataFlowMapOutputWithContext(context.Context) DataFlowMapOutput
}

DataFlowMapInput is an input type that accepts DataFlowMap and DataFlowMapOutput values. You can construct a concrete instance of `DataFlowMapInput` via:

DataFlowMap{ "key": DataFlowArgs{...} }

type DataFlowMapOutput

type DataFlowMapOutput struct{ *pulumi.OutputState }

func (DataFlowMapOutput) ElementType

func (DataFlowMapOutput) ElementType() reflect.Type

func (DataFlowMapOutput) MapIndex

func (DataFlowMapOutput) ToDataFlowMapOutput

func (o DataFlowMapOutput) ToDataFlowMapOutput() DataFlowMapOutput

func (DataFlowMapOutput) ToDataFlowMapOutputWithContext

func (o DataFlowMapOutput) ToDataFlowMapOutputWithContext(ctx context.Context) DataFlowMapOutput

type DataFlowOutput

type DataFlowOutput struct{ *pulumi.OutputState }

func (DataFlowOutput) DataFlowId

func (o DataFlowOutput) DataFlowId() pulumi.StringOutput

The ID of the Data flow.

func (DataFlowOutput) Description

func (o DataFlowOutput) Description() pulumi.StringPtrOutput

The Description of the data flow. Restrictions:

func (DataFlowOutput) DryRun

func (o DataFlowOutput) DryRun() pulumi.BoolPtrOutput

The dry run.

func (DataFlowOutput) ElementType

func (DataFlowOutput) ElementType() reflect.Type

func (DataFlowOutput) FileSystemId

func (o DataFlowOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (DataFlowOutput) FsetId

func (o DataFlowOutput) FsetId() pulumi.StringOutput

The ID of the Fileset.

func (DataFlowOutput) SourceSecurityType

func (o DataFlowOutput) SourceSecurityType() pulumi.StringOutput

The security protection type of the source storage. If the source storage must be accessed through security protection, specify the security protection type of the source storage. Value:

func (DataFlowOutput) SourceStorage

func (o DataFlowOutput) SourceStorage() pulumi.StringOutput

The access path of the source store. Format: `<storage type>://<path>`. Among them: - storage type: currently only OSS is supported. - path: the bucket name of OSS. - Only lowercase letters, numbers, and dashes (-) are supported and must start and end with lowercase letters or numbers.

func (DataFlowOutput) Status

func (o DataFlowOutput) Status() pulumi.StringOutput

The status of the Data flow. Valid values: `Running`, `Stopped`.

func (DataFlowOutput) Throughput

func (o DataFlowOutput) Throughput() pulumi.IntOutput

The maximum transmission bandwidth of data flow, unit: `MB/s`. Valid values: `1200`, `1500`, `600`. **NOTE:** The transmission bandwidth of data flow must be less than the IO bandwidth of the file system.

func (DataFlowOutput) ToDataFlowOutput

func (o DataFlowOutput) ToDataFlowOutput() DataFlowOutput

func (DataFlowOutput) ToDataFlowOutputWithContext

func (o DataFlowOutput) ToDataFlowOutputWithContext(ctx context.Context) DataFlowOutput

type DataFlowState

type DataFlowState struct {
	// The ID of the Data flow.
	DataFlowId pulumi.StringPtrInput
	// The Description of the data flow. Restrictions:
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput
	// The ID of the Fileset.
	FsetId pulumi.StringPtrInput
	// The security protection type of the source storage. If the source storage must be accessed through security protection, specify the security protection type of the source storage. Value:
	SourceSecurityType pulumi.StringPtrInput
	// The access path of the source store. Format: `<storage type>://<path>`. Among them:
	// - storage type: currently only OSS is supported.
	// - path: the bucket name of OSS.
	// - Only lowercase letters, numbers, and dashes (-) are supported and must start and end with lowercase letters or numbers.
	SourceStorage pulumi.StringPtrInput
	// The status of the Data flow. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
	// The maximum transmission bandwidth of data flow, unit: `MB/s`. Valid values: `1200`, `1500`, `600`. **NOTE:** The transmission bandwidth of data flow must be less than the IO bandwidth of the file system.
	Throughput pulumi.IntPtrInput
}

func (DataFlowState) ElementType

func (DataFlowState) ElementType() reflect.Type

type FileSystem

type FileSystem struct {
	pulumi.CustomResourceState

	// The capacity of the file system. The `capacity` is required when the `fileSystemType` is `extreme`.
	// Unit: gib; **Note**: The minimum value is 100.
	Capacity pulumi.IntOutput `pulumi:"capacity"`
	// The File System description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the file system is encrypted. Using kms service escrow key to encrypt and store the file system data. When reading and writing encrypted data, there is no need to decrypt.
	// * Valid values:
	EncryptType pulumi.IntPtrOutput `pulumi:"encryptType"`
	// the type of the file system.
	// Valid values:
	// `standard` (Default),
	// `extreme`,
	// `cpfs`.
	FileSystemType pulumi.StringPtrOutput `pulumi:"fileSystemType"`
	// The id of the KMS key. The `kmsKeyId` is required when the `encryptType` is `2`.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`),
	// `cpfs` (Available when the `fileSystemType` is `cpfs`).
	ProtocolType pulumi.StringOutput `pulumi:"protocolType"`
	// The storage type of the file System.
	// * Valid values:
	StorageType pulumi.StringOutput `pulumi:"storageType"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The id of the VPC. The `vpcId` is required when the `fileSystemType` is `cpfs`.
	VpcId pulumi.StringPtrOutput `pulumi:"vpcId"`
	// The id of the vSwitch. The `vswitchId` is required when the `fileSystemType` is `cpfs`.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
	// The available zones information that supports nas.When FileSystemType=standard, this parameter is not required. **Note:** By default, a qualified availability zone is randomly selected according to the `protocolType` and `storageType` configuration.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a Nas File System resource.

After activating NAS, you can create a file system and purchase a storage package for it in the NAS console. The NAS console also enables you to view the file system details and remove unnecessary file systems.

For information about NAS file system and how to use it, see [Manage file systems](https://www.alibabacloud.com/help/doc-detail/27530.htm)

> **NOTE:** Available in v1.33.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.NewFileSystem(ctx, "foo", &nas.FileSystemArgs{
			Description:  pulumi.String("tf-testAccNasConfig"),
			EncryptType:  pulumi.Int(1),
			ProtocolType: pulumi.String("NFS"),
			StorageType:  pulumi.String("Performance"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.NewFileSystem(ctx, "foo", &nas.FileSystemArgs{
			Capacity:       pulumi.Int(100),
			Description:    pulumi.String("tf-testAccNasConfig"),
			FileSystemType: pulumi.String("extreme"),
			ProtocolType:   pulumi.String("NFS"),
			StorageType:    pulumi.String("standard"),
			ZoneId:         pulumi.String("cn-hangzhou-f"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := nas.GetZones(ctx, &nas.GetZonesArgs{
			FileSystemType: pulumi.StringRef("cpfs"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].ZoneId),
		}, nil)
		if err != nil {
			return err
		}
		_, err = nas.NewFileSystem(ctx, "foo", &nas.FileSystemArgs{
			ProtocolType:   pulumi.String("cpfs"),
			StorageType:    pulumi.String("advance_200"),
			FileSystemType: pulumi.String("cpfs"),
			Capacity:       pulumi.Int(3600),
			Description:    pulumi.String("tf-testacc"),
			ZoneId:         pulumi.String(defaultZones.Zones[0].ZoneId),
			VpcId:          pulumi.String(defaultNetworks.Ids[0]),
			VswitchId:      pulumi.String(defaultSwitches.Ids[0]),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Nas File System can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/fileSystem:FileSystem foo 1337849c59

```

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 FileSystemArgs

type FileSystemArgs struct {
	// The capacity of the file system. The `capacity` is required when the `fileSystemType` is `extreme`.
	// Unit: gib; **Note**: The minimum value is 100.
	Capacity pulumi.IntPtrInput
	// The File System description.
	Description pulumi.StringPtrInput
	// Whether the file system is encrypted. Using kms service escrow key to encrypt and store the file system data. When reading and writing encrypted data, there is no need to decrypt.
	// * Valid values:
	EncryptType pulumi.IntPtrInput
	// the type of the file system.
	// Valid values:
	// `standard` (Default),
	// `extreme`,
	// `cpfs`.
	FileSystemType pulumi.StringPtrInput
	// The id of the KMS key. The `kmsKeyId` is required when the `encryptType` is `2`.
	KmsKeyId pulumi.StringPtrInput
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`),
	// `cpfs` (Available when the `fileSystemType` is `cpfs`).
	ProtocolType pulumi.StringInput
	// The storage type of the file System.
	// * Valid values:
	StorageType pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The id of the VPC. The `vpcId` is required when the `fileSystemType` is `cpfs`.
	VpcId pulumi.StringPtrInput
	// The id of the vSwitch. The `vswitchId` is required when the `fileSystemType` is `cpfs`.
	VswitchId pulumi.StringPtrInput
	// The available zones information that supports nas.When FileSystemType=standard, this parameter is not required. **Note:** By default, a qualified availability zone is randomly selected according to the `protocolType` and `storageType` configuration.
	ZoneId pulumi.StringPtrInput
}

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) Capacity

func (o FileSystemOutput) Capacity() pulumi.IntOutput

The capacity of the file system. The `capacity` is required when the `fileSystemType` is `extreme`. Unit: gib; **Note**: The minimum value is 100.

func (FileSystemOutput) Description

func (o FileSystemOutput) Description() pulumi.StringPtrOutput

The File System description.

func (FileSystemOutput) ElementType

func (FileSystemOutput) ElementType() reflect.Type

func (FileSystemOutput) EncryptType

func (o FileSystemOutput) EncryptType() pulumi.IntPtrOutput

Whether the file system is encrypted. Using kms service escrow key to encrypt and store the file system data. When reading and writing encrypted data, there is no need to decrypt. * Valid values:

func (FileSystemOutput) FileSystemType

func (o FileSystemOutput) FileSystemType() pulumi.StringPtrOutput

the type of the file system. Valid values: `standard` (Default), `extreme`, `cpfs`.

func (FileSystemOutput) KmsKeyId

func (o FileSystemOutput) KmsKeyId() pulumi.StringOutput

The id of the KMS key. The `kmsKeyId` is required when the `encryptType` is `2`.

func (FileSystemOutput) ProtocolType

func (o FileSystemOutput) ProtocolType() pulumi.StringOutput

The protocol type of the file system. Valid values: `NFS`, `SMB` (Available when the `fileSystemType` is `standard`), `cpfs` (Available when the `fileSystemType` is `cpfs`).

func (FileSystemOutput) StorageType

func (o FileSystemOutput) StorageType() pulumi.StringOutput

The storage type of the file System. * Valid values:

func (FileSystemOutput) Tags

A mapping of tags to assign to the resource.

func (FileSystemOutput) ToFileSystemOutput

func (o FileSystemOutput) ToFileSystemOutput() FileSystemOutput

func (FileSystemOutput) ToFileSystemOutputWithContext

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

func (FileSystemOutput) VpcId

The id of the VPC. The `vpcId` is required when the `fileSystemType` is `cpfs`.

func (FileSystemOutput) VswitchId

func (o FileSystemOutput) VswitchId() pulumi.StringPtrOutput

The id of the vSwitch. The `vswitchId` is required when the `fileSystemType` is `cpfs`.

func (FileSystemOutput) ZoneId

The available zones information that supports nas.When FileSystemType=standard, this parameter is not required. **Note:** By default, a qualified availability zone is randomly selected according to the `protocolType` and `storageType` configuration.

type FileSystemState

type FileSystemState struct {
	// The capacity of the file system. The `capacity` is required when the `fileSystemType` is `extreme`.
	// Unit: gib; **Note**: The minimum value is 100.
	Capacity pulumi.IntPtrInput
	// The File System description.
	Description pulumi.StringPtrInput
	// Whether the file system is encrypted. Using kms service escrow key to encrypt and store the file system data. When reading and writing encrypted data, there is no need to decrypt.
	// * Valid values:
	EncryptType pulumi.IntPtrInput
	// the type of the file system.
	// Valid values:
	// `standard` (Default),
	// `extreme`,
	// `cpfs`.
	FileSystemType pulumi.StringPtrInput
	// The id of the KMS key. The `kmsKeyId` is required when the `encryptType` is `2`.
	KmsKeyId pulumi.StringPtrInput
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`),
	// `cpfs` (Available when the `fileSystemType` is `cpfs`).
	ProtocolType pulumi.StringPtrInput
	// The storage type of the file System.
	// * Valid values:
	StorageType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The id of the VPC. The `vpcId` is required when the `fileSystemType` is `cpfs`.
	VpcId pulumi.StringPtrInput
	// The id of the vSwitch. The `vswitchId` is required when the `fileSystemType` is `cpfs`.
	VswitchId pulumi.StringPtrInput
	// The available zones information that supports nas.When FileSystemType=standard, this parameter is not required. **Note:** By default, a qualified availability zone is randomly selected according to the `protocolType` and `storageType` configuration.
	ZoneId pulumi.StringPtrInput
}

func (FileSystemState) ElementType

func (FileSystemState) ElementType() reflect.Type

type Fileset

type Fileset struct {
	pulumi.CustomResourceState

	// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The path of the fileset.
	FileSystemPath pulumi.StringOutput `pulumi:"fileSystemPath"`
	// The first ID of the resource.
	FilesetId pulumi.StringOutput `pulumi:"filesetId"`
	// The status of the fileset.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a Network Attached Storage (NAS) Fileset resource.

For information about Network Attached Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html).

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := nas.GetZones(ctx, &nas.GetZonesArgs{
			FileSystemType: pulumi.StringRef("cpfs"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].ZoneId),
		}, nil)
		if err != nil {
			return err
		}
		defaultFileSystem, err := nas.NewFileSystem(ctx, "defaultFileSystem", &nas.FileSystemArgs{
			ProtocolType:   pulumi.String("cpfs"),
			StorageType:    pulumi.String("advance_200"),
			FileSystemType: pulumi.String("cpfs"),
			Capacity:       pulumi.Int(3600),
			Description:    pulumi.String("tf-testacc"),
			ZoneId:         pulumi.String(defaultZones.Zones[0].ZoneId),
			VpcId:          pulumi.String(defaultNetworks.Ids[0]),
			VswitchId:      pulumi.String(defaultSwitches.Ids[0]),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewFileset(ctx, "defaultFileset", &nas.FilesetArgs{
			FileSystemId:   defaultFileSystem.ID(),
			FileSystemPath: pulumi.String("/example_path/"),
			Description:    pulumi.String("tf-testacc"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Attached Storage (NAS) Fileset can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/fileset:Fileset example <file_system_id>:<fileset_id>

```

func GetFileset

func GetFileset(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FilesetState, opts ...pulumi.ResourceOption) (*Fileset, error)

GetFileset gets an existing Fileset 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 NewFileset

func NewFileset(ctx *pulumi.Context,
	name string, args *FilesetArgs, opts ...pulumi.ResourceOption) (*Fileset, error)

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

func (*Fileset) ElementType

func (*Fileset) ElementType() reflect.Type

func (*Fileset) ToFilesetOutput

func (i *Fileset) ToFilesetOutput() FilesetOutput

func (*Fileset) ToFilesetOutputWithContext

func (i *Fileset) ToFilesetOutputWithContext(ctx context.Context) FilesetOutput

type FilesetArgs

type FilesetArgs struct {
	// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringInput
	// The path of the fileset.
	FileSystemPath pulumi.StringInput
}

The set of arguments for constructing a Fileset resource.

func (FilesetArgs) ElementType

func (FilesetArgs) ElementType() reflect.Type

type FilesetArray

type FilesetArray []FilesetInput

func (FilesetArray) ElementType

func (FilesetArray) ElementType() reflect.Type

func (FilesetArray) ToFilesetArrayOutput

func (i FilesetArray) ToFilesetArrayOutput() FilesetArrayOutput

func (FilesetArray) ToFilesetArrayOutputWithContext

func (i FilesetArray) ToFilesetArrayOutputWithContext(ctx context.Context) FilesetArrayOutput

type FilesetArrayInput

type FilesetArrayInput interface {
	pulumi.Input

	ToFilesetArrayOutput() FilesetArrayOutput
	ToFilesetArrayOutputWithContext(context.Context) FilesetArrayOutput
}

FilesetArrayInput is an input type that accepts FilesetArray and FilesetArrayOutput values. You can construct a concrete instance of `FilesetArrayInput` via:

FilesetArray{ FilesetArgs{...} }

type FilesetArrayOutput

type FilesetArrayOutput struct{ *pulumi.OutputState }

func (FilesetArrayOutput) ElementType

func (FilesetArrayOutput) ElementType() reflect.Type

func (FilesetArrayOutput) Index

func (FilesetArrayOutput) ToFilesetArrayOutput

func (o FilesetArrayOutput) ToFilesetArrayOutput() FilesetArrayOutput

func (FilesetArrayOutput) ToFilesetArrayOutputWithContext

func (o FilesetArrayOutput) ToFilesetArrayOutputWithContext(ctx context.Context) FilesetArrayOutput

type FilesetInput

type FilesetInput interface {
	pulumi.Input

	ToFilesetOutput() FilesetOutput
	ToFilesetOutputWithContext(ctx context.Context) FilesetOutput
}

type FilesetMap

type FilesetMap map[string]FilesetInput

func (FilesetMap) ElementType

func (FilesetMap) ElementType() reflect.Type

func (FilesetMap) ToFilesetMapOutput

func (i FilesetMap) ToFilesetMapOutput() FilesetMapOutput

func (FilesetMap) ToFilesetMapOutputWithContext

func (i FilesetMap) ToFilesetMapOutputWithContext(ctx context.Context) FilesetMapOutput

type FilesetMapInput

type FilesetMapInput interface {
	pulumi.Input

	ToFilesetMapOutput() FilesetMapOutput
	ToFilesetMapOutputWithContext(context.Context) FilesetMapOutput
}

FilesetMapInput is an input type that accepts FilesetMap and FilesetMapOutput values. You can construct a concrete instance of `FilesetMapInput` via:

FilesetMap{ "key": FilesetArgs{...} }

type FilesetMapOutput

type FilesetMapOutput struct{ *pulumi.OutputState }

func (FilesetMapOutput) ElementType

func (FilesetMapOutput) ElementType() reflect.Type

func (FilesetMapOutput) MapIndex

func (FilesetMapOutput) ToFilesetMapOutput

func (o FilesetMapOutput) ToFilesetMapOutput() FilesetMapOutput

func (FilesetMapOutput) ToFilesetMapOutputWithContext

func (o FilesetMapOutput) ToFilesetMapOutputWithContext(ctx context.Context) FilesetMapOutput

type FilesetOutput

type FilesetOutput struct{ *pulumi.OutputState }

func (FilesetOutput) Description

func (o FilesetOutput) Description() pulumi.StringPtrOutput

The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.

func (FilesetOutput) DryRun

func (o FilesetOutput) DryRun() pulumi.BoolPtrOutput

The dry run.

func (FilesetOutput) ElementType

func (FilesetOutput) ElementType() reflect.Type

func (FilesetOutput) FileSystemId

func (o FilesetOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (FilesetOutput) FileSystemPath

func (o FilesetOutput) FileSystemPath() pulumi.StringOutput

The path of the fileset.

func (FilesetOutput) FilesetId

func (o FilesetOutput) FilesetId() pulumi.StringOutput

The first ID of the resource.

func (FilesetOutput) Status

func (o FilesetOutput) Status() pulumi.StringOutput

The status of the fileset.

func (FilesetOutput) ToFilesetOutput

func (o FilesetOutput) ToFilesetOutput() FilesetOutput

func (FilesetOutput) ToFilesetOutputWithContext

func (o FilesetOutput) ToFilesetOutputWithContext(ctx context.Context) FilesetOutput

type FilesetState

type FilesetState struct {
	// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput
	// The path of the fileset.
	FileSystemPath pulumi.StringPtrInput
	// The first ID of the resource.
	FilesetId pulumi.StringPtrInput
	// The status of the fileset.
	Status pulumi.StringPtrInput
}

func (FilesetState) ElementType

func (FilesetState) ElementType() reflect.Type

type GetAccessGroupsArgs

type GetAccessGroupsArgs struct {
	// The name of access group.
	AccessGroupName *string `pulumi:"accessGroupName"`
	// Filter results by a specific AccessGroupType.
	AccessGroupType *string `pulumi:"accessGroupType"`
	// Filter results by a specific Description.
	Description *string `pulumi:"description"`
	// The type of file system. Valid values: `standard` and `extreme`. Default to `standard`.
	FileSystemType *string `pulumi:"fileSystemType"`
	// A regex string to filter AccessGroups by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// Field `type` has been deprecated from version 1.95.0. Use `accessGroupType` instead.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'access_group_type' replaces it.
	Type *string `pulumi:"type"`
	// Specifies whether the time to return is in UTC. Valid values: true and false.
	UseutcDateTime *bool `pulumi:"useutcDateTime"`
}

A collection of arguments for invoking getAccessGroups.

type GetAccessGroupsGroup

type GetAccessGroupsGroup struct {
	// The name of access group.
	AccessGroupName string `pulumi:"accessGroupName"`
	// Filter results by a specific AccessGroupType.
	AccessGroupType string `pulumi:"accessGroupType"`
	// Filter results by a specific Description.
	Description string `pulumi:"description"`
	// This ID of this AccessGroup. It is formatted to “<access_group_id>:<file_system_type>“. Before version 1.95.0, the value is `accessGroupName`.
	Id string `pulumi:"id"`
	// MountTargetCount block of the AccessGroup
	MountTargetCount int `pulumi:"mountTargetCount"`
	// RuleCount of the AccessGroup.
	RuleCount int `pulumi:"ruleCount"`
	// Field `type` has been deprecated from version 1.95.0. Use `accessGroupType` instead.
	Type string `pulumi:"type"`
}

type GetAccessGroupsGroupArgs

type GetAccessGroupsGroupArgs struct {
	// The name of access group.
	AccessGroupName pulumi.StringInput `pulumi:"accessGroupName"`
	// Filter results by a specific AccessGroupType.
	AccessGroupType pulumi.StringInput `pulumi:"accessGroupType"`
	// Filter results by a specific Description.
	Description pulumi.StringInput `pulumi:"description"`
	// This ID of this AccessGroup. It is formatted to “<access_group_id>:<file_system_type>“. Before version 1.95.0, the value is `accessGroupName`.
	Id pulumi.StringInput `pulumi:"id"`
	// MountTargetCount block of the AccessGroup
	MountTargetCount pulumi.IntInput `pulumi:"mountTargetCount"`
	// RuleCount of the AccessGroup.
	RuleCount pulumi.IntInput `pulumi:"ruleCount"`
	// Field `type` has been deprecated from version 1.95.0. Use `accessGroupType` instead.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetAccessGroupsGroupArgs) ElementType

func (GetAccessGroupsGroupArgs) ElementType() reflect.Type

func (GetAccessGroupsGroupArgs) ToGetAccessGroupsGroupOutput

func (i GetAccessGroupsGroupArgs) ToGetAccessGroupsGroupOutput() GetAccessGroupsGroupOutput

func (GetAccessGroupsGroupArgs) ToGetAccessGroupsGroupOutputWithContext

func (i GetAccessGroupsGroupArgs) ToGetAccessGroupsGroupOutputWithContext(ctx context.Context) GetAccessGroupsGroupOutput

type GetAccessGroupsGroupArray

type GetAccessGroupsGroupArray []GetAccessGroupsGroupInput

func (GetAccessGroupsGroupArray) ElementType

func (GetAccessGroupsGroupArray) ElementType() reflect.Type

func (GetAccessGroupsGroupArray) ToGetAccessGroupsGroupArrayOutput

func (i GetAccessGroupsGroupArray) ToGetAccessGroupsGroupArrayOutput() GetAccessGroupsGroupArrayOutput

func (GetAccessGroupsGroupArray) ToGetAccessGroupsGroupArrayOutputWithContext

func (i GetAccessGroupsGroupArray) ToGetAccessGroupsGroupArrayOutputWithContext(ctx context.Context) GetAccessGroupsGroupArrayOutput

type GetAccessGroupsGroupArrayInput

type GetAccessGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetAccessGroupsGroupArrayOutput() GetAccessGroupsGroupArrayOutput
	ToGetAccessGroupsGroupArrayOutputWithContext(context.Context) GetAccessGroupsGroupArrayOutput
}

GetAccessGroupsGroupArrayInput is an input type that accepts GetAccessGroupsGroupArray and GetAccessGroupsGroupArrayOutput values. You can construct a concrete instance of `GetAccessGroupsGroupArrayInput` via:

GetAccessGroupsGroupArray{ GetAccessGroupsGroupArgs{...} }

type GetAccessGroupsGroupArrayOutput

type GetAccessGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetAccessGroupsGroupArrayOutput) ElementType

func (GetAccessGroupsGroupArrayOutput) Index

func (GetAccessGroupsGroupArrayOutput) ToGetAccessGroupsGroupArrayOutput

func (o GetAccessGroupsGroupArrayOutput) ToGetAccessGroupsGroupArrayOutput() GetAccessGroupsGroupArrayOutput

func (GetAccessGroupsGroupArrayOutput) ToGetAccessGroupsGroupArrayOutputWithContext

func (o GetAccessGroupsGroupArrayOutput) ToGetAccessGroupsGroupArrayOutputWithContext(ctx context.Context) GetAccessGroupsGroupArrayOutput

type GetAccessGroupsGroupInput

type GetAccessGroupsGroupInput interface {
	pulumi.Input

	ToGetAccessGroupsGroupOutput() GetAccessGroupsGroupOutput
	ToGetAccessGroupsGroupOutputWithContext(context.Context) GetAccessGroupsGroupOutput
}

GetAccessGroupsGroupInput is an input type that accepts GetAccessGroupsGroupArgs and GetAccessGroupsGroupOutput values. You can construct a concrete instance of `GetAccessGroupsGroupInput` via:

GetAccessGroupsGroupArgs{...}

type GetAccessGroupsGroupOutput

type GetAccessGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetAccessGroupsGroupOutput) AccessGroupName

func (o GetAccessGroupsGroupOutput) AccessGroupName() pulumi.StringOutput

The name of access group.

func (GetAccessGroupsGroupOutput) AccessGroupType

func (o GetAccessGroupsGroupOutput) AccessGroupType() pulumi.StringOutput

Filter results by a specific AccessGroupType.

func (GetAccessGroupsGroupOutput) Description

Filter results by a specific Description.

func (GetAccessGroupsGroupOutput) ElementType

func (GetAccessGroupsGroupOutput) ElementType() reflect.Type

func (GetAccessGroupsGroupOutput) Id

This ID of this AccessGroup. It is formatted to “<access_group_id>:<file_system_type>“. Before version 1.95.0, the value is `accessGroupName`.

func (GetAccessGroupsGroupOutput) MountTargetCount

func (o GetAccessGroupsGroupOutput) MountTargetCount() pulumi.IntOutput

MountTargetCount block of the AccessGroup

func (GetAccessGroupsGroupOutput) RuleCount

RuleCount of the AccessGroup.

func (GetAccessGroupsGroupOutput) ToGetAccessGroupsGroupOutput

func (o GetAccessGroupsGroupOutput) ToGetAccessGroupsGroupOutput() GetAccessGroupsGroupOutput

func (GetAccessGroupsGroupOutput) ToGetAccessGroupsGroupOutputWithContext

func (o GetAccessGroupsGroupOutput) ToGetAccessGroupsGroupOutputWithContext(ctx context.Context) GetAccessGroupsGroupOutput

func (GetAccessGroupsGroupOutput) Type

Field `type` has been deprecated from version 1.95.0. Use `accessGroupType` instead.

type GetAccessGroupsOutputArgs

type GetAccessGroupsOutputArgs struct {
	// The name of access group.
	AccessGroupName pulumi.StringPtrInput `pulumi:"accessGroupName"`
	// Filter results by a specific AccessGroupType.
	AccessGroupType pulumi.StringPtrInput `pulumi:"accessGroupType"`
	// Filter results by a specific Description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The type of file system. Valid values: `standard` and `extreme`. Default to `standard`.
	FileSystemType pulumi.StringPtrInput `pulumi:"fileSystemType"`
	// A regex string to filter AccessGroups by name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Field `type` has been deprecated from version 1.95.0. Use `accessGroupType` instead.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'access_group_type' replaces it.
	Type pulumi.StringPtrInput `pulumi:"type"`
	// Specifies whether the time to return is in UTC. Valid values: true and false.
	UseutcDateTime pulumi.BoolPtrInput `pulumi:"useutcDateTime"`
}

A collection of arguments for invoking getAccessGroups.

func (GetAccessGroupsOutputArgs) ElementType

func (GetAccessGroupsOutputArgs) ElementType() reflect.Type

type GetAccessGroupsResult

type GetAccessGroupsResult struct {
	// (Available in 1.95.0+) The name of the AccessGroup.
	AccessGroupName *string `pulumi:"accessGroupName"`
	// (Available in 1.95.0+) The type of the AccessGroup.
	AccessGroupType *string `pulumi:"accessGroupType"`
	// Description of the AccessGroup.
	Description    *string `pulumi:"description"`
	FileSystemType *string `pulumi:"fileSystemType"`
	// A list of AccessGroups. Each element contains the following attributes:
	Groups []GetAccessGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of AccessGroup IDs, the value is set to `names`. After version 1.95.0 the item value as `<access_group_id>:<file_system_type>`.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of AccessGroup names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// (Deprecated in v1.95.0+) AccessGroupType of the AccessGroup. The Field replace by `accessGroupType` after version 1.95.0.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'access_group_type' replaces it.
	Type           *string `pulumi:"type"`
	UseutcDateTime *bool   `pulumi:"useutcDateTime"`
}

A collection of values returned by getAccessGroups.

func GetAccessGroups

func GetAccessGroups(ctx *pulumi.Context, args *GetAccessGroupsArgs, opts ...pulumi.InvokeOption) (*GetAccessGroupsResult, error)

This data source provides user-available access groups. Use when you can create mount points

> NOTE: Available in 1.35.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := nas.GetAccessGroups(ctx, &nas.GetAccessGroupsArgs{
			NameRegex:       pulumi.StringRef("^foo"),
			AccessGroupType: pulumi.StringRef("Classic"),
			Description:     pulumi.StringRef("tf-testAccAccessGroupsdatasource"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("alicloudNasAccessGroupsId", example.Groups[0].Id)
		return nil
	})
}

```

type GetAccessGroupsResultOutput

type GetAccessGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccessGroups.

func (GetAccessGroupsResultOutput) AccessGroupName

(Available in 1.95.0+) The name of the AccessGroup.

func (GetAccessGroupsResultOutput) AccessGroupType

(Available in 1.95.0+) The type of the AccessGroup.

func (GetAccessGroupsResultOutput) Description

Description of the AccessGroup.

func (GetAccessGroupsResultOutput) ElementType

func (GetAccessGroupsResultOutput) FileSystemType

func (GetAccessGroupsResultOutput) Groups

A list of AccessGroups. Each element contains the following attributes:

func (GetAccessGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAccessGroupsResultOutput) Ids

A list of AccessGroup IDs, the value is set to `names`. After version 1.95.0 the item value as `<access_group_id>:<file_system_type>`.

func (GetAccessGroupsResultOutput) NameRegex

func (GetAccessGroupsResultOutput) Names

A list of AccessGroup names.

func (GetAccessGroupsResultOutput) OutputFile

func (GetAccessGroupsResultOutput) ToGetAccessGroupsResultOutput

func (o GetAccessGroupsResultOutput) ToGetAccessGroupsResultOutput() GetAccessGroupsResultOutput

func (GetAccessGroupsResultOutput) ToGetAccessGroupsResultOutputWithContext

func (o GetAccessGroupsResultOutput) ToGetAccessGroupsResultOutputWithContext(ctx context.Context) GetAccessGroupsResultOutput

func (GetAccessGroupsResultOutput) Type deprecated

(Deprecated in v1.95.0+) AccessGroupType of the AccessGroup. The Field replace by `accessGroupType` after version 1.95.0.

Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'access_group_type' replaces it.

func (GetAccessGroupsResultOutput) UseutcDateTime

type GetAccessRulesArgs

type GetAccessRulesArgs struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName string `pulumi:"accessGroupName"`
	// A list of rule IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// Filter results by a specific RWAccess.
	RwAccess *string `pulumi:"rwAccess"`
	// Filter results by a specific SourceCidrIp.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
	// Filter results by a specific UserAccess.
	UserAccess *string `pulumi:"userAccess"`
}

A collection of arguments for invoking getAccessRules.

type GetAccessRulesOutputArgs

type GetAccessRulesOutputArgs struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName pulumi.StringInput `pulumi:"accessGroupName"`
	// A list of rule IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// Filter results by a specific RWAccess.
	RwAccess pulumi.StringPtrInput `pulumi:"rwAccess"`
	// Filter results by a specific SourceCidrIp.
	SourceCidrIp pulumi.StringPtrInput `pulumi:"sourceCidrIp"`
	// Filter results by a specific UserAccess.
	UserAccess pulumi.StringPtrInput `pulumi:"userAccess"`
}

A collection of arguments for invoking getAccessRules.

func (GetAccessRulesOutputArgs) ElementType

func (GetAccessRulesOutputArgs) ElementType() reflect.Type

type GetAccessRulesResult

type GetAccessRulesResult struct {
	AccessGroupName string `pulumi:"accessGroupName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of rule IDs, Each element set to `accessRuleId` (Each element formats as `<access_group_name>:<access_rule_id>` before 1.53.0).
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of AccessRules. Each element contains the following attributes:
	Rules []GetAccessRulesRule `pulumi:"rules"`
	// RWAccess of the AccessRule.
	RwAccess *string `pulumi:"rwAccess"`
	// SourceCidrIp of the AccessRule.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
	// UserAccess of the AccessRule
	UserAccess *string `pulumi:"userAccess"`
}

A collection of values returned by getAccessRules.

func GetAccessRules

func GetAccessRules(ctx *pulumi.Context, args *GetAccessRulesArgs, opts ...pulumi.InvokeOption) (*GetAccessRulesResult, error)

This data source provides AccessRule available to the user.

> **NOTE**: Available in 1.35.0+

type GetAccessRulesResultOutput

type GetAccessRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccessRules.

func (GetAccessRulesResultOutput) AccessGroupName

func (o GetAccessRulesResultOutput) AccessGroupName() pulumi.StringOutput

func (GetAccessRulesResultOutput) ElementType

func (GetAccessRulesResultOutput) ElementType() reflect.Type

func (GetAccessRulesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAccessRulesResultOutput) Ids

A list of rule IDs, Each element set to `accessRuleId` (Each element formats as `<access_group_name>:<access_rule_id>` before 1.53.0).

func (GetAccessRulesResultOutput) OutputFile

func (GetAccessRulesResultOutput) Rules

A list of AccessRules. Each element contains the following attributes:

func (GetAccessRulesResultOutput) RwAccess

RWAccess of the AccessRule.

func (GetAccessRulesResultOutput) SourceCidrIp

SourceCidrIp of the AccessRule.

func (GetAccessRulesResultOutput) ToGetAccessRulesResultOutput

func (o GetAccessRulesResultOutput) ToGetAccessRulesResultOutput() GetAccessRulesResultOutput

func (GetAccessRulesResultOutput) ToGetAccessRulesResultOutputWithContext

func (o GetAccessRulesResultOutput) ToGetAccessRulesResultOutputWithContext(ctx context.Context) GetAccessRulesResultOutput

func (GetAccessRulesResultOutput) UserAccess

UserAccess of the AccessRule

type GetAccessRulesRule

type GetAccessRulesRule struct {
	// AccessRuleId of the AccessRule.
	AccessRuleId string `pulumi:"accessRuleId"`
	// Priority of the AccessRule.
	Priority int `pulumi:"priority"`
	// Filter results by a specific RWAccess.
	RwAccess string `pulumi:"rwAccess"`
	// Filter results by a specific SourceCidrIp.
	SourceCidrIp string `pulumi:"sourceCidrIp"`
	// Filter results by a specific UserAccess.
	UserAccess string `pulumi:"userAccess"`
}

type GetAccessRulesRuleArgs

type GetAccessRulesRuleArgs struct {
	// AccessRuleId of the AccessRule.
	AccessRuleId pulumi.StringInput `pulumi:"accessRuleId"`
	// Priority of the AccessRule.
	Priority pulumi.IntInput `pulumi:"priority"`
	// Filter results by a specific RWAccess.
	RwAccess pulumi.StringInput `pulumi:"rwAccess"`
	// Filter results by a specific SourceCidrIp.
	SourceCidrIp pulumi.StringInput `pulumi:"sourceCidrIp"`
	// Filter results by a specific UserAccess.
	UserAccess pulumi.StringInput `pulumi:"userAccess"`
}

func (GetAccessRulesRuleArgs) ElementType

func (GetAccessRulesRuleArgs) ElementType() reflect.Type

func (GetAccessRulesRuleArgs) ToGetAccessRulesRuleOutput

func (i GetAccessRulesRuleArgs) ToGetAccessRulesRuleOutput() GetAccessRulesRuleOutput

func (GetAccessRulesRuleArgs) ToGetAccessRulesRuleOutputWithContext

func (i GetAccessRulesRuleArgs) ToGetAccessRulesRuleOutputWithContext(ctx context.Context) GetAccessRulesRuleOutput

type GetAccessRulesRuleArray

type GetAccessRulesRuleArray []GetAccessRulesRuleInput

func (GetAccessRulesRuleArray) ElementType

func (GetAccessRulesRuleArray) ElementType() reflect.Type

func (GetAccessRulesRuleArray) ToGetAccessRulesRuleArrayOutput

func (i GetAccessRulesRuleArray) ToGetAccessRulesRuleArrayOutput() GetAccessRulesRuleArrayOutput

func (GetAccessRulesRuleArray) ToGetAccessRulesRuleArrayOutputWithContext

func (i GetAccessRulesRuleArray) ToGetAccessRulesRuleArrayOutputWithContext(ctx context.Context) GetAccessRulesRuleArrayOutput

type GetAccessRulesRuleArrayInput

type GetAccessRulesRuleArrayInput interface {
	pulumi.Input

	ToGetAccessRulesRuleArrayOutput() GetAccessRulesRuleArrayOutput
	ToGetAccessRulesRuleArrayOutputWithContext(context.Context) GetAccessRulesRuleArrayOutput
}

GetAccessRulesRuleArrayInput is an input type that accepts GetAccessRulesRuleArray and GetAccessRulesRuleArrayOutput values. You can construct a concrete instance of `GetAccessRulesRuleArrayInput` via:

GetAccessRulesRuleArray{ GetAccessRulesRuleArgs{...} }

type GetAccessRulesRuleArrayOutput

type GetAccessRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetAccessRulesRuleArrayOutput) ElementType

func (GetAccessRulesRuleArrayOutput) Index

func (GetAccessRulesRuleArrayOutput) ToGetAccessRulesRuleArrayOutput

func (o GetAccessRulesRuleArrayOutput) ToGetAccessRulesRuleArrayOutput() GetAccessRulesRuleArrayOutput

func (GetAccessRulesRuleArrayOutput) ToGetAccessRulesRuleArrayOutputWithContext

func (o GetAccessRulesRuleArrayOutput) ToGetAccessRulesRuleArrayOutputWithContext(ctx context.Context) GetAccessRulesRuleArrayOutput

type GetAccessRulesRuleInput

type GetAccessRulesRuleInput interface {
	pulumi.Input

	ToGetAccessRulesRuleOutput() GetAccessRulesRuleOutput
	ToGetAccessRulesRuleOutputWithContext(context.Context) GetAccessRulesRuleOutput
}

GetAccessRulesRuleInput is an input type that accepts GetAccessRulesRuleArgs and GetAccessRulesRuleOutput values. You can construct a concrete instance of `GetAccessRulesRuleInput` via:

GetAccessRulesRuleArgs{...}

type GetAccessRulesRuleOutput

type GetAccessRulesRuleOutput struct{ *pulumi.OutputState }

func (GetAccessRulesRuleOutput) AccessRuleId

func (o GetAccessRulesRuleOutput) AccessRuleId() pulumi.StringOutput

AccessRuleId of the AccessRule.

func (GetAccessRulesRuleOutput) ElementType

func (GetAccessRulesRuleOutput) ElementType() reflect.Type

func (GetAccessRulesRuleOutput) Priority

Priority of the AccessRule.

func (GetAccessRulesRuleOutput) RwAccess

Filter results by a specific RWAccess.

func (GetAccessRulesRuleOutput) SourceCidrIp

func (o GetAccessRulesRuleOutput) SourceCidrIp() pulumi.StringOutput

Filter results by a specific SourceCidrIp.

func (GetAccessRulesRuleOutput) ToGetAccessRulesRuleOutput

func (o GetAccessRulesRuleOutput) ToGetAccessRulesRuleOutput() GetAccessRulesRuleOutput

func (GetAccessRulesRuleOutput) ToGetAccessRulesRuleOutputWithContext

func (o GetAccessRulesRuleOutput) ToGetAccessRulesRuleOutputWithContext(ctx context.Context) GetAccessRulesRuleOutput

func (GetAccessRulesRuleOutput) UserAccess

Filter results by a specific UserAccess.

type GetAutoSnapshotPoliciesArgs

type GetAutoSnapshotPoliciesArgs struct {
	// A list of Auto Snapshot Policies IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Auto Snapshot Policy name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the automatic snapshot policy. Valid values: `Creating`, `Available`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getAutoSnapshotPolicies.

type GetAutoSnapshotPoliciesOutputArgs

type GetAutoSnapshotPoliciesOutputArgs struct {
	// A list of Auto Snapshot Policies IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Auto Snapshot Policy name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the automatic snapshot policy. Valid values: `Creating`, `Available`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getAutoSnapshotPolicies.

func (GetAutoSnapshotPoliciesOutputArgs) ElementType

type GetAutoSnapshotPoliciesPolicy

type GetAutoSnapshotPoliciesPolicy struct {
	// The ID of the automatic snapshot policy.
	AutoSnapshotPolicyId string `pulumi:"autoSnapshotPolicyId"`
	// The name of the automatic snapshot policy.
	AutoSnapshotPolicyName string `pulumi:"autoSnapshotPolicyName"`
	// The time when the automatic snapshot policy was created.
	CreateTime string `pulumi:"createTime"`
	// The number of file systems to which the automatic snapshot policy applies.
	FileSystemNums int `pulumi:"fileSystemNums"`
	// ID of the Auto Snapshot Policy.
	Id string `pulumi:"id"`
	// The day on which an auto snapshot was created.
	RepeatWeekdays []string `pulumi:"repeatWeekdays"`
	// The number of days for which you want to retain auto snapshots.
	RetentionDays int `pulumi:"retentionDays"`
	// The status of the automatic snapshot policy. Valid values: `Creating`, `Available`.
	Status string `pulumi:"status"`
	// The point in time at which an auto snapshot was created. Unit: hours.
	TimePoints []string `pulumi:"timePoints"`
}

type GetAutoSnapshotPoliciesPolicyArgs

type GetAutoSnapshotPoliciesPolicyArgs struct {
	// The ID of the automatic snapshot policy.
	AutoSnapshotPolicyId pulumi.StringInput `pulumi:"autoSnapshotPolicyId"`
	// The name of the automatic snapshot policy.
	AutoSnapshotPolicyName pulumi.StringInput `pulumi:"autoSnapshotPolicyName"`
	// The time when the automatic snapshot policy was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The number of file systems to which the automatic snapshot policy applies.
	FileSystemNums pulumi.IntInput `pulumi:"fileSystemNums"`
	// ID of the Auto Snapshot Policy.
	Id pulumi.StringInput `pulumi:"id"`
	// The day on which an auto snapshot was created.
	RepeatWeekdays pulumi.StringArrayInput `pulumi:"repeatWeekdays"`
	// The number of days for which you want to retain auto snapshots.
	RetentionDays pulumi.IntInput `pulumi:"retentionDays"`
	// The status of the automatic snapshot policy. Valid values: `Creating`, `Available`.
	Status pulumi.StringInput `pulumi:"status"`
	// The point in time at which an auto snapshot was created. Unit: hours.
	TimePoints pulumi.StringArrayInput `pulumi:"timePoints"`
}

func (GetAutoSnapshotPoliciesPolicyArgs) ElementType

func (GetAutoSnapshotPoliciesPolicyArgs) ToGetAutoSnapshotPoliciesPolicyOutput

func (i GetAutoSnapshotPoliciesPolicyArgs) ToGetAutoSnapshotPoliciesPolicyOutput() GetAutoSnapshotPoliciesPolicyOutput

func (GetAutoSnapshotPoliciesPolicyArgs) ToGetAutoSnapshotPoliciesPolicyOutputWithContext

func (i GetAutoSnapshotPoliciesPolicyArgs) ToGetAutoSnapshotPoliciesPolicyOutputWithContext(ctx context.Context) GetAutoSnapshotPoliciesPolicyOutput

type GetAutoSnapshotPoliciesPolicyArray

type GetAutoSnapshotPoliciesPolicyArray []GetAutoSnapshotPoliciesPolicyInput

func (GetAutoSnapshotPoliciesPolicyArray) ElementType

func (GetAutoSnapshotPoliciesPolicyArray) ToGetAutoSnapshotPoliciesPolicyArrayOutput

func (i GetAutoSnapshotPoliciesPolicyArray) ToGetAutoSnapshotPoliciesPolicyArrayOutput() GetAutoSnapshotPoliciesPolicyArrayOutput

func (GetAutoSnapshotPoliciesPolicyArray) ToGetAutoSnapshotPoliciesPolicyArrayOutputWithContext

func (i GetAutoSnapshotPoliciesPolicyArray) ToGetAutoSnapshotPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAutoSnapshotPoliciesPolicyArrayOutput

type GetAutoSnapshotPoliciesPolicyArrayInput

type GetAutoSnapshotPoliciesPolicyArrayInput interface {
	pulumi.Input

	ToGetAutoSnapshotPoliciesPolicyArrayOutput() GetAutoSnapshotPoliciesPolicyArrayOutput
	ToGetAutoSnapshotPoliciesPolicyArrayOutputWithContext(context.Context) GetAutoSnapshotPoliciesPolicyArrayOutput
}

GetAutoSnapshotPoliciesPolicyArrayInput is an input type that accepts GetAutoSnapshotPoliciesPolicyArray and GetAutoSnapshotPoliciesPolicyArrayOutput values. You can construct a concrete instance of `GetAutoSnapshotPoliciesPolicyArrayInput` via:

GetAutoSnapshotPoliciesPolicyArray{ GetAutoSnapshotPoliciesPolicyArgs{...} }

type GetAutoSnapshotPoliciesPolicyArrayOutput

type GetAutoSnapshotPoliciesPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetAutoSnapshotPoliciesPolicyArrayOutput) ElementType

func (GetAutoSnapshotPoliciesPolicyArrayOutput) Index

func (GetAutoSnapshotPoliciesPolicyArrayOutput) ToGetAutoSnapshotPoliciesPolicyArrayOutput

func (o GetAutoSnapshotPoliciesPolicyArrayOutput) ToGetAutoSnapshotPoliciesPolicyArrayOutput() GetAutoSnapshotPoliciesPolicyArrayOutput

func (GetAutoSnapshotPoliciesPolicyArrayOutput) ToGetAutoSnapshotPoliciesPolicyArrayOutputWithContext

func (o GetAutoSnapshotPoliciesPolicyArrayOutput) ToGetAutoSnapshotPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAutoSnapshotPoliciesPolicyArrayOutput

type GetAutoSnapshotPoliciesPolicyInput

type GetAutoSnapshotPoliciesPolicyInput interface {
	pulumi.Input

	ToGetAutoSnapshotPoliciesPolicyOutput() GetAutoSnapshotPoliciesPolicyOutput
	ToGetAutoSnapshotPoliciesPolicyOutputWithContext(context.Context) GetAutoSnapshotPoliciesPolicyOutput
}

GetAutoSnapshotPoliciesPolicyInput is an input type that accepts GetAutoSnapshotPoliciesPolicyArgs and GetAutoSnapshotPoliciesPolicyOutput values. You can construct a concrete instance of `GetAutoSnapshotPoliciesPolicyInput` via:

GetAutoSnapshotPoliciesPolicyArgs{...}

type GetAutoSnapshotPoliciesPolicyOutput

type GetAutoSnapshotPoliciesPolicyOutput struct{ *pulumi.OutputState }

func (GetAutoSnapshotPoliciesPolicyOutput) AutoSnapshotPolicyId

func (o GetAutoSnapshotPoliciesPolicyOutput) AutoSnapshotPolicyId() pulumi.StringOutput

The ID of the automatic snapshot policy.

func (GetAutoSnapshotPoliciesPolicyOutput) AutoSnapshotPolicyName

func (o GetAutoSnapshotPoliciesPolicyOutput) AutoSnapshotPolicyName() pulumi.StringOutput

The name of the automatic snapshot policy.

func (GetAutoSnapshotPoliciesPolicyOutput) CreateTime

The time when the automatic snapshot policy was created.

func (GetAutoSnapshotPoliciesPolicyOutput) ElementType

func (GetAutoSnapshotPoliciesPolicyOutput) FileSystemNums

The number of file systems to which the automatic snapshot policy applies.

func (GetAutoSnapshotPoliciesPolicyOutput) Id

ID of the Auto Snapshot Policy.

func (GetAutoSnapshotPoliciesPolicyOutput) RepeatWeekdays

The day on which an auto snapshot was created.

func (GetAutoSnapshotPoliciesPolicyOutput) RetentionDays

The number of days for which you want to retain auto snapshots.

func (GetAutoSnapshotPoliciesPolicyOutput) Status

The status of the automatic snapshot policy. Valid values: `Creating`, `Available`.

func (GetAutoSnapshotPoliciesPolicyOutput) TimePoints

The point in time at which an auto snapshot was created. Unit: hours.

func (GetAutoSnapshotPoliciesPolicyOutput) ToGetAutoSnapshotPoliciesPolicyOutput

func (o GetAutoSnapshotPoliciesPolicyOutput) ToGetAutoSnapshotPoliciesPolicyOutput() GetAutoSnapshotPoliciesPolicyOutput

func (GetAutoSnapshotPoliciesPolicyOutput) ToGetAutoSnapshotPoliciesPolicyOutputWithContext

func (o GetAutoSnapshotPoliciesPolicyOutput) ToGetAutoSnapshotPoliciesPolicyOutputWithContext(ctx context.Context) GetAutoSnapshotPoliciesPolicyOutput

type GetAutoSnapshotPoliciesResult

type GetAutoSnapshotPoliciesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id        string   `pulumi:"id"`
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of Auto Snapshot Policy names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of Auto Snapshot Policies. Each element contains the following attributes:
	Policies []GetAutoSnapshotPoliciesPolicy `pulumi:"policies"`
	// The status of the automatic snapshot policy.
	Status *string `pulumi:"status"`
}

A collection of values returned by getAutoSnapshotPolicies.

func GetAutoSnapshotPolicies

func GetAutoSnapshotPolicies(ctx *pulumi.Context, args *GetAutoSnapshotPoliciesArgs, opts ...pulumi.InvokeOption) (*GetAutoSnapshotPoliciesResult, error)

This data source provides Auto Snapshot Policies available to the user.

> **NOTE**: Available in v1.153.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nas.GetAutoSnapshotPolicies(ctx, &nas.GetAutoSnapshotPoliciesArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasAutoSnapshotPoliciesId1", ids.Policies[0].Id)
		return nil
	})
}

```

type GetAutoSnapshotPoliciesResultOutput

type GetAutoSnapshotPoliciesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAutoSnapshotPolicies.

func (GetAutoSnapshotPoliciesResultOutput) ElementType

func (GetAutoSnapshotPoliciesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAutoSnapshotPoliciesResultOutput) Ids

func (GetAutoSnapshotPoliciesResultOutput) NameRegex

func (GetAutoSnapshotPoliciesResultOutput) Names

A list of Auto Snapshot Policy names.

func (GetAutoSnapshotPoliciesResultOutput) OutputFile

func (GetAutoSnapshotPoliciesResultOutput) Policies

A list of Auto Snapshot Policies. Each element contains the following attributes:

func (GetAutoSnapshotPoliciesResultOutput) Status

The status of the automatic snapshot policy.

func (GetAutoSnapshotPoliciesResultOutput) ToGetAutoSnapshotPoliciesResultOutput

func (o GetAutoSnapshotPoliciesResultOutput) ToGetAutoSnapshotPoliciesResultOutput() GetAutoSnapshotPoliciesResultOutput

func (GetAutoSnapshotPoliciesResultOutput) ToGetAutoSnapshotPoliciesResultOutputWithContext

func (o GetAutoSnapshotPoliciesResultOutput) ToGetAutoSnapshotPoliciesResultOutputWithContext(ctx context.Context) GetAutoSnapshotPoliciesResultOutput

type GetDataFlowsArgs

type GetDataFlowsArgs struct {
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// A list of Data Flow IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the Data flow.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getDataFlows.

type GetDataFlowsFlow

type GetDataFlowsFlow struct {
	// The time when Fileset was created. Executing the ISO8601 standard means that the return format is: 'yyyy-MM-ddTHH:mm:ssZ'.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Data Flow.
	DataFlowId string `pulumi:"dataFlowId"`
	// The Description of data flow.
	Description string `pulumi:"description"`
	// Error message.
	ErrorMessage string `pulumi:"errorMessage"`
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// The path of Fileset in the CPFS file system.
	FileSystemPath string `pulumi:"fileSystemPath"`
	// Description of automatic update.
	FsetDescription string `pulumi:"fsetDescription"`
	// The ID of the Fileset.
	FsetId string `pulumi:"fsetId"`
	// The resource ID of the data flow. The value formats as `<file_system_id>:<data_flow_id>`.
	Id string `pulumi:"id"`
	// The security protection type of the source storage.
	SourceSecurityType string `pulumi:"sourceSecurityType"`
	// The access path of the source store. Format: `<storage type>://<path>`.
	SourceStorage string `pulumi:"sourceStorage"`
	// The status of the Data flow.
	Status string `pulumi:"status"`
	// The maximum transmission bandwidth of data flow, unit: `MB/s`.
	Throughput int `pulumi:"throughput"`
}

type GetDataFlowsFlowArgs

type GetDataFlowsFlowArgs struct {
	// The time when Fileset was created. Executing the ISO8601 standard means that the return format is: 'yyyy-MM-ddTHH:mm:ssZ'.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Data Flow.
	DataFlowId pulumi.StringInput `pulumi:"dataFlowId"`
	// The Description of data flow.
	Description pulumi.StringInput `pulumi:"description"`
	// Error message.
	ErrorMessage pulumi.StringInput `pulumi:"errorMessage"`
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// The path of Fileset in the CPFS file system.
	FileSystemPath pulumi.StringInput `pulumi:"fileSystemPath"`
	// Description of automatic update.
	FsetDescription pulumi.StringInput `pulumi:"fsetDescription"`
	// The ID of the Fileset.
	FsetId pulumi.StringInput `pulumi:"fsetId"`
	// The resource ID of the data flow. The value formats as `<file_system_id>:<data_flow_id>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The security protection type of the source storage.
	SourceSecurityType pulumi.StringInput `pulumi:"sourceSecurityType"`
	// The access path of the source store. Format: `<storage type>://<path>`.
	SourceStorage pulumi.StringInput `pulumi:"sourceStorage"`
	// The status of the Data flow.
	Status pulumi.StringInput `pulumi:"status"`
	// The maximum transmission bandwidth of data flow, unit: `MB/s`.
	Throughput pulumi.IntInput `pulumi:"throughput"`
}

func (GetDataFlowsFlowArgs) ElementType

func (GetDataFlowsFlowArgs) ElementType() reflect.Type

func (GetDataFlowsFlowArgs) ToGetDataFlowsFlowOutput

func (i GetDataFlowsFlowArgs) ToGetDataFlowsFlowOutput() GetDataFlowsFlowOutput

func (GetDataFlowsFlowArgs) ToGetDataFlowsFlowOutputWithContext

func (i GetDataFlowsFlowArgs) ToGetDataFlowsFlowOutputWithContext(ctx context.Context) GetDataFlowsFlowOutput

type GetDataFlowsFlowArray

type GetDataFlowsFlowArray []GetDataFlowsFlowInput

func (GetDataFlowsFlowArray) ElementType

func (GetDataFlowsFlowArray) ElementType() reflect.Type

func (GetDataFlowsFlowArray) ToGetDataFlowsFlowArrayOutput

func (i GetDataFlowsFlowArray) ToGetDataFlowsFlowArrayOutput() GetDataFlowsFlowArrayOutput

func (GetDataFlowsFlowArray) ToGetDataFlowsFlowArrayOutputWithContext

func (i GetDataFlowsFlowArray) ToGetDataFlowsFlowArrayOutputWithContext(ctx context.Context) GetDataFlowsFlowArrayOutput

type GetDataFlowsFlowArrayInput

type GetDataFlowsFlowArrayInput interface {
	pulumi.Input

	ToGetDataFlowsFlowArrayOutput() GetDataFlowsFlowArrayOutput
	ToGetDataFlowsFlowArrayOutputWithContext(context.Context) GetDataFlowsFlowArrayOutput
}

GetDataFlowsFlowArrayInput is an input type that accepts GetDataFlowsFlowArray and GetDataFlowsFlowArrayOutput values. You can construct a concrete instance of `GetDataFlowsFlowArrayInput` via:

GetDataFlowsFlowArray{ GetDataFlowsFlowArgs{...} }

type GetDataFlowsFlowArrayOutput

type GetDataFlowsFlowArrayOutput struct{ *pulumi.OutputState }

func (GetDataFlowsFlowArrayOutput) ElementType

func (GetDataFlowsFlowArrayOutput) Index

func (GetDataFlowsFlowArrayOutput) ToGetDataFlowsFlowArrayOutput

func (o GetDataFlowsFlowArrayOutput) ToGetDataFlowsFlowArrayOutput() GetDataFlowsFlowArrayOutput

func (GetDataFlowsFlowArrayOutput) ToGetDataFlowsFlowArrayOutputWithContext

func (o GetDataFlowsFlowArrayOutput) ToGetDataFlowsFlowArrayOutputWithContext(ctx context.Context) GetDataFlowsFlowArrayOutput

type GetDataFlowsFlowInput

type GetDataFlowsFlowInput interface {
	pulumi.Input

	ToGetDataFlowsFlowOutput() GetDataFlowsFlowOutput
	ToGetDataFlowsFlowOutputWithContext(context.Context) GetDataFlowsFlowOutput
}

GetDataFlowsFlowInput is an input type that accepts GetDataFlowsFlowArgs and GetDataFlowsFlowOutput values. You can construct a concrete instance of `GetDataFlowsFlowInput` via:

GetDataFlowsFlowArgs{...}

type GetDataFlowsFlowOutput

type GetDataFlowsFlowOutput struct{ *pulumi.OutputState }

func (GetDataFlowsFlowOutput) CreateTime

The time when Fileset was created. Executing the ISO8601 standard means that the return format is: 'yyyy-MM-ddTHH:mm:ssZ'.

func (GetDataFlowsFlowOutput) DataFlowId

The ID of the Data Flow.

func (GetDataFlowsFlowOutput) Description

func (o GetDataFlowsFlowOutput) Description() pulumi.StringOutput

The Description of data flow.

func (GetDataFlowsFlowOutput) ElementType

func (GetDataFlowsFlowOutput) ElementType() reflect.Type

func (GetDataFlowsFlowOutput) ErrorMessage

func (o GetDataFlowsFlowOutput) ErrorMessage() pulumi.StringOutput

Error message.

func (GetDataFlowsFlowOutput) FileSystemId

func (o GetDataFlowsFlowOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (GetDataFlowsFlowOutput) FileSystemPath

func (o GetDataFlowsFlowOutput) FileSystemPath() pulumi.StringOutput

The path of Fileset in the CPFS file system.

func (GetDataFlowsFlowOutput) FsetDescription

func (o GetDataFlowsFlowOutput) FsetDescription() pulumi.StringOutput

Description of automatic update.

func (GetDataFlowsFlowOutput) FsetId

The ID of the Fileset.

func (GetDataFlowsFlowOutput) Id

The resource ID of the data flow. The value formats as `<file_system_id>:<data_flow_id>`.

func (GetDataFlowsFlowOutput) SourceSecurityType

func (o GetDataFlowsFlowOutput) SourceSecurityType() pulumi.StringOutput

The security protection type of the source storage.

func (GetDataFlowsFlowOutput) SourceStorage

func (o GetDataFlowsFlowOutput) SourceStorage() pulumi.StringOutput

The access path of the source store. Format: `<storage type>://<path>`.

func (GetDataFlowsFlowOutput) Status

The status of the Data flow.

func (GetDataFlowsFlowOutput) Throughput

func (o GetDataFlowsFlowOutput) Throughput() pulumi.IntOutput

The maximum transmission bandwidth of data flow, unit: `MB/s`.

func (GetDataFlowsFlowOutput) ToGetDataFlowsFlowOutput

func (o GetDataFlowsFlowOutput) ToGetDataFlowsFlowOutput() GetDataFlowsFlowOutput

func (GetDataFlowsFlowOutput) ToGetDataFlowsFlowOutputWithContext

func (o GetDataFlowsFlowOutput) ToGetDataFlowsFlowOutputWithContext(ctx context.Context) GetDataFlowsFlowOutput

type GetDataFlowsOutputArgs

type GetDataFlowsOutputArgs struct {
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// A list of Data Flow IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the Data flow.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getDataFlows.

func (GetDataFlowsOutputArgs) ElementType

func (GetDataFlowsOutputArgs) ElementType() reflect.Type

type GetDataFlowsResult

type GetDataFlowsResult struct {
	FileSystemId string             `pulumi:"fileSystemId"`
	Flows        []GetDataFlowsFlow `pulumi:"flows"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	Status     *string  `pulumi:"status"`
}

A collection of values returned by getDataFlows.

func GetDataFlows

func GetDataFlows(ctx *pulumi.Context, args *GetDataFlowsArgs, opts ...pulumi.InvokeOption) (*GetDataFlowsResult, error)

This data source provides the Nas Data Flows of the current Alibaba Cloud user.

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nas.GetDataFlows(ctx, &nas.GetDataFlowsArgs{
			FileSystemId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasDataFlowId1", ids.Flows[0].Id)
		status, err := nas.GetDataFlows(ctx, &nas.GetDataFlowsArgs{
			FileSystemId: "example_value",
			Status:       pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasDataFlowId2", status.Flows[0].Id)
		return nil
	})
}

```

type GetDataFlowsResultOutput

type GetDataFlowsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDataFlows.

func (GetDataFlowsResultOutput) ElementType

func (GetDataFlowsResultOutput) ElementType() reflect.Type

func (GetDataFlowsResultOutput) FileSystemId

func (o GetDataFlowsResultOutput) FileSystemId() pulumi.StringOutput

func (GetDataFlowsResultOutput) Flows

func (GetDataFlowsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDataFlowsResultOutput) Ids

func (GetDataFlowsResultOutput) OutputFile

func (GetDataFlowsResultOutput) Status

func (GetDataFlowsResultOutput) ToGetDataFlowsResultOutput

func (o GetDataFlowsResultOutput) ToGetDataFlowsResultOutput() GetDataFlowsResultOutput

func (GetDataFlowsResultOutput) ToGetDataFlowsResultOutputWithContext

func (o GetDataFlowsResultOutput) ToGetDataFlowsResultOutputWithContext(ctx context.Context) GetDataFlowsResultOutput

type GetFileSystemsArgs

type GetFileSystemsArgs struct {
	// A regex string to filter the results by the :FileSystem description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of FileSystemId.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`).
	ProtocolType *string `pulumi:"protocolType"`
	// The storage type of the file system.
	// * Valid values:
	StorageType *string `pulumi:"storageType"`
}

A collection of arguments for invoking getFileSystems.

type GetFileSystemsOutputArgs

type GetFileSystemsOutputArgs struct {
	// A regex string to filter the results by the :FileSystem description.
	DescriptionRegex pulumi.StringPtrInput `pulumi:"descriptionRegex"`
	// A list of FileSystemId.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`).
	ProtocolType pulumi.StringPtrInput `pulumi:"protocolType"`
	// The storage type of the file system.
	// * Valid values:
	StorageType pulumi.StringPtrInput `pulumi:"storageType"`
}

A collection of arguments for invoking getFileSystems.

func (GetFileSystemsOutputArgs) ElementType

func (GetFileSystemsOutputArgs) ElementType() reflect.Type

type GetFileSystemsResult

type GetFileSystemsResult struct {
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of FileSystem descriptions.
	Descriptions []string `pulumi:"descriptions"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of FileSystem Id.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// ProtocolType block of the FileSystem
	ProtocolType *string `pulumi:"protocolType"`
	// StorageType block of the FileSystem.
	StorageType *string `pulumi:"storageType"`
	// A list of VPCs. Each element contains the following attributes:
	Systems []GetFileSystemsSystem `pulumi:"systems"`
}

A collection of values returned by getFileSystems.

func GetFileSystems

func GetFileSystems(ctx *pulumi.Context, args *GetFileSystemsArgs, opts ...pulumi.InvokeOption) (*GetFileSystemsResult, error)

This data source provides FileSystems available to the user.

> **NOTE**: Available in 1.35.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fs, err := nas.GetFileSystems(ctx, &nas.GetFileSystemsArgs{
			DescriptionRegex: pulumi.StringRef(alicloud_nas_file_system.Foo.Description),
			ProtocolType:     pulumi.StringRef("NFS"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("alicloudNasFileSystemsId", fs.Systems[0].Id)
		return nil
	})
}

```

type GetFileSystemsResultOutput

type GetFileSystemsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFileSystems.

func (GetFileSystemsResultOutput) DescriptionRegex

func (o GetFileSystemsResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetFileSystemsResultOutput) Descriptions

A list of FileSystem descriptions.

func (GetFileSystemsResultOutput) ElementType

func (GetFileSystemsResultOutput) ElementType() reflect.Type

func (GetFileSystemsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetFileSystemsResultOutput) Ids

A list of FileSystem Id.

func (GetFileSystemsResultOutput) OutputFile

func (GetFileSystemsResultOutput) ProtocolType

ProtocolType block of the FileSystem

func (GetFileSystemsResultOutput) StorageType

StorageType block of the FileSystem.

func (GetFileSystemsResultOutput) Systems

A list of VPCs. Each element contains the following attributes:

func (GetFileSystemsResultOutput) ToGetFileSystemsResultOutput

func (o GetFileSystemsResultOutput) ToGetFileSystemsResultOutput() GetFileSystemsResultOutput

func (GetFileSystemsResultOutput) ToGetFileSystemsResultOutputWithContext

func (o GetFileSystemsResultOutput) ToGetFileSystemsResultOutputWithContext(ctx context.Context) GetFileSystemsResultOutput

type GetFileSystemsSystem

type GetFileSystemsSystem struct {
	// (Optional, Available in v1.140.0+) The capacity of the file system.
	Capacity int `pulumi:"capacity"`
	// Time of creation.
	CreateTime string `pulumi:"createTime"`
	// Description of the FileSystem.
	Description string `pulumi:"description"`
	// (Optional, Available in v1.121.2+) Whether the file system is encrypted.
	// * Valid values:
	// * `0`: The file system is not encrypted.
	// * `1`: The file system is encrypted with a managed secret key.
	// * `2`: User management key.
	EncryptType int `pulumi:"encryptType"`
	// The type of the file system.
	// Valid values:
	// `standard` (Default),
	// `extreme`.
	FileSystemType string `pulumi:"fileSystemType"`
	// ID of the FileSystem.
	Id string `pulumi:"id"`
	// (Optional, Available in v1.140.0+) The id of the KMS key.
	KmsKeyId string `pulumi:"kmsKeyId"`
	// MeteredSize of the FileSystem.
	MeteredSize int `pulumi:"meteredSize"`
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`).
	ProtocolType string `pulumi:"protocolType"`
	// ID of the region where the FileSystem is located.
	RegionId string `pulumi:"regionId"`
	// The storage type of the file system.
	// * Valid values:
	StorageType string `pulumi:"storageType"`
	// (Optional, Available in v1.140.0+) The id of the zone. Each region consists of multiple isolated locations known as zones. Each zone has an independent power supply and network.
	ZoneId string `pulumi:"zoneId"`
}

type GetFileSystemsSystemArgs

type GetFileSystemsSystemArgs struct {
	// (Optional, Available in v1.140.0+) The capacity of the file system.
	Capacity pulumi.IntInput `pulumi:"capacity"`
	// Time of creation.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Description of the FileSystem.
	Description pulumi.StringInput `pulumi:"description"`
	// (Optional, Available in v1.121.2+) Whether the file system is encrypted.
	// * Valid values:
	// * `0`: The file system is not encrypted.
	// * `1`: The file system is encrypted with a managed secret key.
	// * `2`: User management key.
	EncryptType pulumi.IntInput `pulumi:"encryptType"`
	// The type of the file system.
	// Valid values:
	// `standard` (Default),
	// `extreme`.
	FileSystemType pulumi.StringInput `pulumi:"fileSystemType"`
	// ID of the FileSystem.
	Id pulumi.StringInput `pulumi:"id"`
	// (Optional, Available in v1.140.0+) The id of the KMS key.
	KmsKeyId pulumi.StringInput `pulumi:"kmsKeyId"`
	// MeteredSize of the FileSystem.
	MeteredSize pulumi.IntInput `pulumi:"meteredSize"`
	// The protocol type of the file system.
	// Valid values:
	// `NFS`,
	// `SMB` (Available when the `fileSystemType` is `standard`).
	ProtocolType pulumi.StringInput `pulumi:"protocolType"`
	// ID of the region where the FileSystem is located.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The storage type of the file system.
	// * Valid values:
	StorageType pulumi.StringInput `pulumi:"storageType"`
	// (Optional, Available in v1.140.0+) The id of the zone. Each region consists of multiple isolated locations known as zones. Each zone has an independent power supply and network.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetFileSystemsSystemArgs) ElementType

func (GetFileSystemsSystemArgs) ElementType() reflect.Type

func (GetFileSystemsSystemArgs) ToGetFileSystemsSystemOutput

func (i GetFileSystemsSystemArgs) ToGetFileSystemsSystemOutput() GetFileSystemsSystemOutput

func (GetFileSystemsSystemArgs) ToGetFileSystemsSystemOutputWithContext

func (i GetFileSystemsSystemArgs) ToGetFileSystemsSystemOutputWithContext(ctx context.Context) GetFileSystemsSystemOutput

type GetFileSystemsSystemArray

type GetFileSystemsSystemArray []GetFileSystemsSystemInput

func (GetFileSystemsSystemArray) ElementType

func (GetFileSystemsSystemArray) ElementType() reflect.Type

func (GetFileSystemsSystemArray) ToGetFileSystemsSystemArrayOutput

func (i GetFileSystemsSystemArray) ToGetFileSystemsSystemArrayOutput() GetFileSystemsSystemArrayOutput

func (GetFileSystemsSystemArray) ToGetFileSystemsSystemArrayOutputWithContext

func (i GetFileSystemsSystemArray) ToGetFileSystemsSystemArrayOutputWithContext(ctx context.Context) GetFileSystemsSystemArrayOutput

type GetFileSystemsSystemArrayInput

type GetFileSystemsSystemArrayInput interface {
	pulumi.Input

	ToGetFileSystemsSystemArrayOutput() GetFileSystemsSystemArrayOutput
	ToGetFileSystemsSystemArrayOutputWithContext(context.Context) GetFileSystemsSystemArrayOutput
}

GetFileSystemsSystemArrayInput is an input type that accepts GetFileSystemsSystemArray and GetFileSystemsSystemArrayOutput values. You can construct a concrete instance of `GetFileSystemsSystemArrayInput` via:

GetFileSystemsSystemArray{ GetFileSystemsSystemArgs{...} }

type GetFileSystemsSystemArrayOutput

type GetFileSystemsSystemArrayOutput struct{ *pulumi.OutputState }

func (GetFileSystemsSystemArrayOutput) ElementType

func (GetFileSystemsSystemArrayOutput) Index

func (GetFileSystemsSystemArrayOutput) ToGetFileSystemsSystemArrayOutput

func (o GetFileSystemsSystemArrayOutput) ToGetFileSystemsSystemArrayOutput() GetFileSystemsSystemArrayOutput

func (GetFileSystemsSystemArrayOutput) ToGetFileSystemsSystemArrayOutputWithContext

func (o GetFileSystemsSystemArrayOutput) ToGetFileSystemsSystemArrayOutputWithContext(ctx context.Context) GetFileSystemsSystemArrayOutput

type GetFileSystemsSystemInput

type GetFileSystemsSystemInput interface {
	pulumi.Input

	ToGetFileSystemsSystemOutput() GetFileSystemsSystemOutput
	ToGetFileSystemsSystemOutputWithContext(context.Context) GetFileSystemsSystemOutput
}

GetFileSystemsSystemInput is an input type that accepts GetFileSystemsSystemArgs and GetFileSystemsSystemOutput values. You can construct a concrete instance of `GetFileSystemsSystemInput` via:

GetFileSystemsSystemArgs{...}

type GetFileSystemsSystemOutput

type GetFileSystemsSystemOutput struct{ *pulumi.OutputState }

func (GetFileSystemsSystemOutput) Capacity

(Optional, Available in v1.140.0+) The capacity of the file system.

func (GetFileSystemsSystemOutput) CreateTime

Time of creation.

func (GetFileSystemsSystemOutput) Description

Description of the FileSystem.

func (GetFileSystemsSystemOutput) ElementType

func (GetFileSystemsSystemOutput) ElementType() reflect.Type

func (GetFileSystemsSystemOutput) EncryptType

(Optional, Available in v1.121.2+) Whether the file system is encrypted. * Valid values: * `0`: The file system is not encrypted. * `1`: The file system is encrypted with a managed secret key. * `2`: User management key.

func (GetFileSystemsSystemOutput) FileSystemType

func (o GetFileSystemsSystemOutput) FileSystemType() pulumi.StringOutput

The type of the file system. Valid values: `standard` (Default), `extreme`.

func (GetFileSystemsSystemOutput) Id

ID of the FileSystem.

func (GetFileSystemsSystemOutput) KmsKeyId

(Optional, Available in v1.140.0+) The id of the KMS key.

func (GetFileSystemsSystemOutput) MeteredSize

MeteredSize of the FileSystem.

func (GetFileSystemsSystemOutput) ProtocolType

The protocol type of the file system. Valid values: `NFS`, `SMB` (Available when the `fileSystemType` is `standard`).

func (GetFileSystemsSystemOutput) RegionId

ID of the region where the FileSystem is located.

func (GetFileSystemsSystemOutput) StorageType

The storage type of the file system. * Valid values:

func (GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutput

func (o GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutput() GetFileSystemsSystemOutput

func (GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutputWithContext

func (o GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutputWithContext(ctx context.Context) GetFileSystemsSystemOutput

func (GetFileSystemsSystemOutput) ZoneId

(Optional, Available in v1.140.0+) The id of the zone. Each region consists of multiple isolated locations known as zones. Each zone has an independent power supply and network.

type GetFilesetsArgs

type GetFilesetsArgs struct {
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// A list of Fileset IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the fileset.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getFilesets.

type GetFilesetsFileset

type GetFilesetsFileset struct {
	// The time when Fileset was created.
	CreateTime string `pulumi:"createTime"`
	// Description of Fileset.
	Description string `pulumi:"description"`
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// The path of Fileset.
	FileSystemPath string `pulumi:"fileSystemPath"`
	// The first ID of the resource.
	FilesetId string `pulumi:"filesetId"`
	// The ID of the Fileset.
	Id string `pulumi:"id"`
	// The status of the fileset.
	Status string `pulumi:"status"`
	// The latest update time of Fileset.
	UpdateTime string `pulumi:"updateTime"`
}

type GetFilesetsFilesetArgs

type GetFilesetsFilesetArgs struct {
	// The time when Fileset was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Description of Fileset.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// The path of Fileset.
	FileSystemPath pulumi.StringInput `pulumi:"fileSystemPath"`
	// The first ID of the resource.
	FilesetId pulumi.StringInput `pulumi:"filesetId"`
	// The ID of the Fileset.
	Id pulumi.StringInput `pulumi:"id"`
	// The status of the fileset.
	Status pulumi.StringInput `pulumi:"status"`
	// The latest update time of Fileset.
	UpdateTime pulumi.StringInput `pulumi:"updateTime"`
}

func (GetFilesetsFilesetArgs) ElementType

func (GetFilesetsFilesetArgs) ElementType() reflect.Type

func (GetFilesetsFilesetArgs) ToGetFilesetsFilesetOutput

func (i GetFilesetsFilesetArgs) ToGetFilesetsFilesetOutput() GetFilesetsFilesetOutput

func (GetFilesetsFilesetArgs) ToGetFilesetsFilesetOutputWithContext

func (i GetFilesetsFilesetArgs) ToGetFilesetsFilesetOutputWithContext(ctx context.Context) GetFilesetsFilesetOutput

type GetFilesetsFilesetArray

type GetFilesetsFilesetArray []GetFilesetsFilesetInput

func (GetFilesetsFilesetArray) ElementType

func (GetFilesetsFilesetArray) ElementType() reflect.Type

func (GetFilesetsFilesetArray) ToGetFilesetsFilesetArrayOutput

func (i GetFilesetsFilesetArray) ToGetFilesetsFilesetArrayOutput() GetFilesetsFilesetArrayOutput

func (GetFilesetsFilesetArray) ToGetFilesetsFilesetArrayOutputWithContext

func (i GetFilesetsFilesetArray) ToGetFilesetsFilesetArrayOutputWithContext(ctx context.Context) GetFilesetsFilesetArrayOutput

type GetFilesetsFilesetArrayInput

type GetFilesetsFilesetArrayInput interface {
	pulumi.Input

	ToGetFilesetsFilesetArrayOutput() GetFilesetsFilesetArrayOutput
	ToGetFilesetsFilesetArrayOutputWithContext(context.Context) GetFilesetsFilesetArrayOutput
}

GetFilesetsFilesetArrayInput is an input type that accepts GetFilesetsFilesetArray and GetFilesetsFilesetArrayOutput values. You can construct a concrete instance of `GetFilesetsFilesetArrayInput` via:

GetFilesetsFilesetArray{ GetFilesetsFilesetArgs{...} }

type GetFilesetsFilesetArrayOutput

type GetFilesetsFilesetArrayOutput struct{ *pulumi.OutputState }

func (GetFilesetsFilesetArrayOutput) ElementType

func (GetFilesetsFilesetArrayOutput) Index

func (GetFilesetsFilesetArrayOutput) ToGetFilesetsFilesetArrayOutput

func (o GetFilesetsFilesetArrayOutput) ToGetFilesetsFilesetArrayOutput() GetFilesetsFilesetArrayOutput

func (GetFilesetsFilesetArrayOutput) ToGetFilesetsFilesetArrayOutputWithContext

func (o GetFilesetsFilesetArrayOutput) ToGetFilesetsFilesetArrayOutputWithContext(ctx context.Context) GetFilesetsFilesetArrayOutput

type GetFilesetsFilesetInput

type GetFilesetsFilesetInput interface {
	pulumi.Input

	ToGetFilesetsFilesetOutput() GetFilesetsFilesetOutput
	ToGetFilesetsFilesetOutputWithContext(context.Context) GetFilesetsFilesetOutput
}

GetFilesetsFilesetInput is an input type that accepts GetFilesetsFilesetArgs and GetFilesetsFilesetOutput values. You can construct a concrete instance of `GetFilesetsFilesetInput` via:

GetFilesetsFilesetArgs{...}

type GetFilesetsFilesetOutput

type GetFilesetsFilesetOutput struct{ *pulumi.OutputState }

func (GetFilesetsFilesetOutput) CreateTime

The time when Fileset was created.

func (GetFilesetsFilesetOutput) Description

Description of Fileset.

func (GetFilesetsFilesetOutput) ElementType

func (GetFilesetsFilesetOutput) ElementType() reflect.Type

func (GetFilesetsFilesetOutput) FileSystemId

func (o GetFilesetsFilesetOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (GetFilesetsFilesetOutput) FileSystemPath

func (o GetFilesetsFilesetOutput) FileSystemPath() pulumi.StringOutput

The path of Fileset.

func (GetFilesetsFilesetOutput) FilesetId

The first ID of the resource.

func (GetFilesetsFilesetOutput) Id

The ID of the Fileset.

func (GetFilesetsFilesetOutput) Status

The status of the fileset.

func (GetFilesetsFilesetOutput) ToGetFilesetsFilesetOutput

func (o GetFilesetsFilesetOutput) ToGetFilesetsFilesetOutput() GetFilesetsFilesetOutput

func (GetFilesetsFilesetOutput) ToGetFilesetsFilesetOutputWithContext

func (o GetFilesetsFilesetOutput) ToGetFilesetsFilesetOutputWithContext(ctx context.Context) GetFilesetsFilesetOutput

func (GetFilesetsFilesetOutput) UpdateTime

The latest update time of Fileset.

type GetFilesetsOutputArgs

type GetFilesetsOutputArgs struct {
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// A list of Fileset IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the fileset.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getFilesets.

func (GetFilesetsOutputArgs) ElementType

func (GetFilesetsOutputArgs) ElementType() reflect.Type

type GetFilesetsResult

type GetFilesetsResult struct {
	FileSystemId string               `pulumi:"fileSystemId"`
	Filesets     []GetFilesetsFileset `pulumi:"filesets"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	Status     *string  `pulumi:"status"`
}

A collection of values returned by getFilesets.

func GetFilesets

func GetFilesets(ctx *pulumi.Context, args *GetFilesetsArgs, opts ...pulumi.InvokeOption) (*GetFilesetsResult, error)

This data source provides the Nas Filesets of the current Alibaba Cloud user.

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nas.GetFilesets(ctx, &nas.GetFilesetsArgs{
			FileSystemId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasFilesetId1", ids.Filesets[0].Id)
		return nil
	})
}

```

type GetFilesetsResultOutput

type GetFilesetsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFilesets.

func (GetFilesetsResultOutput) ElementType

func (GetFilesetsResultOutput) ElementType() reflect.Type

func (GetFilesetsResultOutput) FileSystemId

func (o GetFilesetsResultOutput) FileSystemId() pulumi.StringOutput

func (GetFilesetsResultOutput) Filesets

func (GetFilesetsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetFilesetsResultOutput) Ids

func (GetFilesetsResultOutput) OutputFile

func (GetFilesetsResultOutput) Status

func (GetFilesetsResultOutput) ToGetFilesetsResultOutput

func (o GetFilesetsResultOutput) ToGetFilesetsResultOutput() GetFilesetsResultOutput

func (GetFilesetsResultOutput) ToGetFilesetsResultOutputWithContext

func (o GetFilesetsResultOutput) ToGetFilesetsResultOutputWithContext(ctx context.Context) GetFilesetsResultOutput

type GetLifecyclePoliciesArgs

type GetLifecyclePoliciesArgs struct {
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// A list of Lifecycle Policy IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Lifecycle Policy name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getLifecyclePolicies.

type GetLifecyclePoliciesOutputArgs

type GetLifecyclePoliciesOutputArgs struct {
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// A list of Lifecycle Policy IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Lifecycle Policy name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getLifecyclePolicies.

func (GetLifecyclePoliciesOutputArgs) ElementType

type GetLifecyclePoliciesPolicy

type GetLifecyclePoliciesPolicy struct {
	// The time when the lifecycle management policy was created.
	CreateTime string `pulumi:"createTime"`
	// The ID of the file system.
	FileSystemId string `pulumi:"fileSystemId"`
	// The ID of the Lifecycle Policy. Its value is same as Queue Name.
	Id string `pulumi:"id"`
	// The name of the lifecycle management policy.
	LifecyclePolicyName string `pulumi:"lifecyclePolicyName"`
	// The rules in the lifecycle management policy.
	LifecycleRuleName string `pulumi:"lifecycleRuleName"`
	// The list of absolute paths for multiple directories. In this case, you can associate a lifecycle management policy with each directory.
	Paths []string `pulumi:"paths"`
	// The storage type of the data that is dumped to the IA storage medium.
	StorageType string `pulumi:"storageType"`
}

type GetLifecyclePoliciesPolicyArgs

type GetLifecyclePoliciesPolicyArgs struct {
	// The time when the lifecycle management policy was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the file system.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// The ID of the Lifecycle Policy. Its value is same as Queue Name.
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the lifecycle management policy.
	LifecyclePolicyName pulumi.StringInput `pulumi:"lifecyclePolicyName"`
	// The rules in the lifecycle management policy.
	LifecycleRuleName pulumi.StringInput `pulumi:"lifecycleRuleName"`
	// The list of absolute paths for multiple directories. In this case, you can associate a lifecycle management policy with each directory.
	Paths pulumi.StringArrayInput `pulumi:"paths"`
	// The storage type of the data that is dumped to the IA storage medium.
	StorageType pulumi.StringInput `pulumi:"storageType"`
}

func (GetLifecyclePoliciesPolicyArgs) ElementType

func (GetLifecyclePoliciesPolicyArgs) ToGetLifecyclePoliciesPolicyOutput

func (i GetLifecyclePoliciesPolicyArgs) ToGetLifecyclePoliciesPolicyOutput() GetLifecyclePoliciesPolicyOutput

func (GetLifecyclePoliciesPolicyArgs) ToGetLifecyclePoliciesPolicyOutputWithContext

func (i GetLifecyclePoliciesPolicyArgs) ToGetLifecyclePoliciesPolicyOutputWithContext(ctx context.Context) GetLifecyclePoliciesPolicyOutput

type GetLifecyclePoliciesPolicyArray

type GetLifecyclePoliciesPolicyArray []GetLifecyclePoliciesPolicyInput

func (GetLifecyclePoliciesPolicyArray) ElementType

func (GetLifecyclePoliciesPolicyArray) ToGetLifecyclePoliciesPolicyArrayOutput

func (i GetLifecyclePoliciesPolicyArray) ToGetLifecyclePoliciesPolicyArrayOutput() GetLifecyclePoliciesPolicyArrayOutput

func (GetLifecyclePoliciesPolicyArray) ToGetLifecyclePoliciesPolicyArrayOutputWithContext

func (i GetLifecyclePoliciesPolicyArray) ToGetLifecyclePoliciesPolicyArrayOutputWithContext(ctx context.Context) GetLifecyclePoliciesPolicyArrayOutput

type GetLifecyclePoliciesPolicyArrayInput

type GetLifecyclePoliciesPolicyArrayInput interface {
	pulumi.Input

	ToGetLifecyclePoliciesPolicyArrayOutput() GetLifecyclePoliciesPolicyArrayOutput
	ToGetLifecyclePoliciesPolicyArrayOutputWithContext(context.Context) GetLifecyclePoliciesPolicyArrayOutput
}

GetLifecyclePoliciesPolicyArrayInput is an input type that accepts GetLifecyclePoliciesPolicyArray and GetLifecyclePoliciesPolicyArrayOutput values. You can construct a concrete instance of `GetLifecyclePoliciesPolicyArrayInput` via:

GetLifecyclePoliciesPolicyArray{ GetLifecyclePoliciesPolicyArgs{...} }

type GetLifecyclePoliciesPolicyArrayOutput

type GetLifecyclePoliciesPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetLifecyclePoliciesPolicyArrayOutput) ElementType

func (GetLifecyclePoliciesPolicyArrayOutput) Index

func (GetLifecyclePoliciesPolicyArrayOutput) ToGetLifecyclePoliciesPolicyArrayOutput

func (o GetLifecyclePoliciesPolicyArrayOutput) ToGetLifecyclePoliciesPolicyArrayOutput() GetLifecyclePoliciesPolicyArrayOutput

func (GetLifecyclePoliciesPolicyArrayOutput) ToGetLifecyclePoliciesPolicyArrayOutputWithContext

func (o GetLifecyclePoliciesPolicyArrayOutput) ToGetLifecyclePoliciesPolicyArrayOutputWithContext(ctx context.Context) GetLifecyclePoliciesPolicyArrayOutput

type GetLifecyclePoliciesPolicyInput

type GetLifecyclePoliciesPolicyInput interface {
	pulumi.Input

	ToGetLifecyclePoliciesPolicyOutput() GetLifecyclePoliciesPolicyOutput
	ToGetLifecyclePoliciesPolicyOutputWithContext(context.Context) GetLifecyclePoliciesPolicyOutput
}

GetLifecyclePoliciesPolicyInput is an input type that accepts GetLifecyclePoliciesPolicyArgs and GetLifecyclePoliciesPolicyOutput values. You can construct a concrete instance of `GetLifecyclePoliciesPolicyInput` via:

GetLifecyclePoliciesPolicyArgs{...}

type GetLifecyclePoliciesPolicyOutput

type GetLifecyclePoliciesPolicyOutput struct{ *pulumi.OutputState }

func (GetLifecyclePoliciesPolicyOutput) CreateTime

The time when the lifecycle management policy was created.

func (GetLifecyclePoliciesPolicyOutput) ElementType

func (GetLifecyclePoliciesPolicyOutput) FileSystemId

The ID of the file system.

func (GetLifecyclePoliciesPolicyOutput) Id

The ID of the Lifecycle Policy. Its value is same as Queue Name.

func (GetLifecyclePoliciesPolicyOutput) LifecyclePolicyName

func (o GetLifecyclePoliciesPolicyOutput) LifecyclePolicyName() pulumi.StringOutput

The name of the lifecycle management policy.

func (GetLifecyclePoliciesPolicyOutput) LifecycleRuleName

The rules in the lifecycle management policy.

func (GetLifecyclePoliciesPolicyOutput) Paths

The list of absolute paths for multiple directories. In this case, you can associate a lifecycle management policy with each directory.

func (GetLifecyclePoliciesPolicyOutput) StorageType

The storage type of the data that is dumped to the IA storage medium.

func (GetLifecyclePoliciesPolicyOutput) ToGetLifecyclePoliciesPolicyOutput

func (o GetLifecyclePoliciesPolicyOutput) ToGetLifecyclePoliciesPolicyOutput() GetLifecyclePoliciesPolicyOutput

func (GetLifecyclePoliciesPolicyOutput) ToGetLifecyclePoliciesPolicyOutputWithContext

func (o GetLifecyclePoliciesPolicyOutput) ToGetLifecyclePoliciesPolicyOutputWithContext(ctx context.Context) GetLifecyclePoliciesPolicyOutput

type GetLifecyclePoliciesResult

type GetLifecyclePoliciesResult struct {
	FileSystemId string `pulumi:"fileSystemId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string                       `pulumi:"id"`
	Ids        []string                     `pulumi:"ids"`
	NameRegex  *string                      `pulumi:"nameRegex"`
	Names      []string                     `pulumi:"names"`
	OutputFile *string                      `pulumi:"outputFile"`
	Policies   []GetLifecyclePoliciesPolicy `pulumi:"policies"`
}

A collection of values returned by getLifecyclePolicies.

func GetLifecyclePolicies

func GetLifecyclePolicies(ctx *pulumi.Context, args *GetLifecyclePoliciesArgs, opts ...pulumi.InvokeOption) (*GetLifecyclePoliciesResult, error)

This data source provides the Nas Lifecycle Policies of the current Alibaba Cloud user.

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nas.GetLifecyclePolicies(ctx, &nas.GetLifecyclePoliciesArgs{
			FileSystemId: "example_value",
			Ids: []string{
				"my-LifecyclePolicy-1",
				"my-LifecyclePolicy-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasLifecyclePolicyId1", ids.Policies[0].Id)
		nameRegex, err := nas.GetLifecyclePolicies(ctx, &nas.GetLifecyclePoliciesArgs{
			FileSystemId: "example_value",
			NameRegex:    pulumi.StringRef("^my-LifecyclePolicy"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasLifecyclePolicyId2", nameRegex.Policies[0].Id)
		return nil
	})
}

```

type GetLifecyclePoliciesResultOutput

type GetLifecyclePoliciesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLifecyclePolicies.

func (GetLifecyclePoliciesResultOutput) ElementType

func (GetLifecyclePoliciesResultOutput) FileSystemId

func (GetLifecyclePoliciesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetLifecyclePoliciesResultOutput) Ids

func (GetLifecyclePoliciesResultOutput) NameRegex

func (GetLifecyclePoliciesResultOutput) Names

func (GetLifecyclePoliciesResultOutput) OutputFile

func (GetLifecyclePoliciesResultOutput) Policies

func (GetLifecyclePoliciesResultOutput) ToGetLifecyclePoliciesResultOutput

func (o GetLifecyclePoliciesResultOutput) ToGetLifecyclePoliciesResultOutput() GetLifecyclePoliciesResultOutput

func (GetLifecyclePoliciesResultOutput) ToGetLifecyclePoliciesResultOutputWithContext

func (o GetLifecyclePoliciesResultOutput) ToGetLifecyclePoliciesResultOutputWithContext(ctx context.Context) GetLifecyclePoliciesResultOutput

type GetMountTargetsArgs

type GetMountTargetsArgs struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName *string `pulumi:"accessGroupName"`
	// The ID of the FileSystem that owns the MountTarget.
	FileSystemId string `pulumi:"fileSystemId"`
	// A list of MountTargetDomain.
	Ids []string `pulumi:"ids"`
	// Field `mountTargetDomain` has been deprecated from provider version 1.53.0. New field `ids` replaces it.
	//
	// Deprecated: Field 'mount_target_domain' has been deprecated from provider version 1.53.0. New field 'ids' replaces it.
	MountTargetDomain *string `pulumi:"mountTargetDomain"`
	// Filter results by a specific NetworkType.
	NetworkType *string `pulumi:"networkType"`
	OutputFile  *string `pulumi:"outputFile"`
	// Filter results by the status of mount target. Valid values: `Active`, `Inactive` and `Pending`.
	Status *string `pulumi:"status"`
	// Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'network_type' replaces it.
	Type *string `pulumi:"type"`
	// Filter results by a specific VpcId.
	VpcId *string `pulumi:"vpcId"`
	// Filter results by a specific VSwitchId.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getMountTargets.

type GetMountTargetsOutputArgs

type GetMountTargetsOutputArgs struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName pulumi.StringPtrInput `pulumi:"accessGroupName"`
	// The ID of the FileSystem that owns the MountTarget.
	FileSystemId pulumi.StringInput `pulumi:"fileSystemId"`
	// A list of MountTargetDomain.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Field `mountTargetDomain` has been deprecated from provider version 1.53.0. New field `ids` replaces it.
	//
	// Deprecated: Field 'mount_target_domain' has been deprecated from provider version 1.53.0. New field 'ids' replaces it.
	MountTargetDomain pulumi.StringPtrInput `pulumi:"mountTargetDomain"`
	// Filter results by a specific NetworkType.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	OutputFile  pulumi.StringPtrInput `pulumi:"outputFile"`
	// Filter results by the status of mount target. Valid values: `Active`, `Inactive` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'network_type' replaces it.
	Type pulumi.StringPtrInput `pulumi:"type"`
	// Filter results by a specific VpcId.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
	// Filter results by a specific VSwitchId.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getMountTargets.

func (GetMountTargetsOutputArgs) ElementType

func (GetMountTargetsOutputArgs) ElementType() reflect.Type

type GetMountTargetsResult

type GetMountTargetsResult struct {
	// AccessGroup of The MountTarget.
	AccessGroupName *string `pulumi:"accessGroupName"`
	FileSystemId    string  `pulumi:"fileSystemId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of MountTargetDomain.
	Ids []string `pulumi:"ids"`
	// MountTargetDomain of the MountTarget.
	// * `type`- Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.
	// * `networkType`- (Available 1.95.0+) NetworkType of The MountTarget.
	// * `status`- (Available 1.95.0+) The status of the mount target.
	//
	// Deprecated: Field 'mount_target_domain' has been deprecated from provider version 1.53.0. New field 'ids' replaces it.
	MountTargetDomain *string `pulumi:"mountTargetDomain"`
	NetworkType       *string `pulumi:"networkType"`
	OutputFile        *string `pulumi:"outputFile"`
	Status            *string `pulumi:"status"`
	// A list of MountTargetDomains. Each element contains the following attributes:
	Targets []GetMountTargetsTarget `pulumi:"targets"`
	// Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'network_type' replaces it.
	Type *string `pulumi:"type"`
	// VpcId of The MountTarget.
	VpcId *string `pulumi:"vpcId"`
	// VSwitchId of The MountTarget.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of values returned by getMountTargets.

func GetMountTargets

func GetMountTargets(ctx *pulumi.Context, args *GetMountTargetsArgs, opts ...pulumi.InvokeOption) (*GetMountTargetsResult, error)

This data source provides MountTargets available to the user.

> **NOTE**: Available in 1.35.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := nas.GetMountTargets(ctx, &nas.GetMountTargetsArgs{
			FileSystemId:    "1a2sc4d",
			AccessGroupName: pulumi.StringRef("tf-testAccNasConfig"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("theFirstMountTargetDomain", example.Targets[0].Id)
		return nil
	})
}

```

type GetMountTargetsResultOutput

type GetMountTargetsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getMountTargets.

func (GetMountTargetsResultOutput) AccessGroupName

AccessGroup of The MountTarget.

func (GetMountTargetsResultOutput) ElementType

func (GetMountTargetsResultOutput) FileSystemId

func (GetMountTargetsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetMountTargetsResultOutput) Ids

A list of MountTargetDomain.

func (GetMountTargetsResultOutput) MountTargetDomain deprecated

func (o GetMountTargetsResultOutput) MountTargetDomain() pulumi.StringPtrOutput

MountTargetDomain of the MountTarget. * `type`- Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it. * `networkType`- (Available 1.95.0+) NetworkType of The MountTarget. * `status`- (Available 1.95.0+) The status of the mount target.

Deprecated: Field 'mount_target_domain' has been deprecated from provider version 1.53.0. New field 'ids' replaces it.

func (GetMountTargetsResultOutput) NetworkType

func (GetMountTargetsResultOutput) OutputFile

func (GetMountTargetsResultOutput) Status

func (GetMountTargetsResultOutput) Targets

A list of MountTargetDomains. Each element contains the following attributes:

func (GetMountTargetsResultOutput) ToGetMountTargetsResultOutput

func (o GetMountTargetsResultOutput) ToGetMountTargetsResultOutput() GetMountTargetsResultOutput

func (GetMountTargetsResultOutput) ToGetMountTargetsResultOutputWithContext

func (o GetMountTargetsResultOutput) ToGetMountTargetsResultOutputWithContext(ctx context.Context) GetMountTargetsResultOutput

func (GetMountTargetsResultOutput) Type deprecated

Deprecated: Field 'type' has been deprecated from provider version 1.95.0. New field 'network_type' replaces it.

func (GetMountTargetsResultOutput) VpcId

VpcId of The MountTarget.

func (GetMountTargetsResultOutput) VswitchId

VSwitchId of The MountTarget.

type GetMountTargetsTarget

type GetMountTargetsTarget struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName string `pulumi:"accessGroupName"`
	// ID of the MountTargetDomain.
	Id string `pulumi:"id"`
	// Field `mountTargetDomain` has been deprecated from provider version 1.53.0. New field `ids` replaces it.
	MountTargetDomain string `pulumi:"mountTargetDomain"`
	// Filter results by a specific NetworkType.
	NetworkType string `pulumi:"networkType"`
	// Filter results by the status of mount target. Valid values: `Active`, `Inactive` and `Pending`.
	Status string `pulumi:"status"`
	// Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.
	Type string `pulumi:"type"`
	// Filter results by a specific VpcId.
	VpcId string `pulumi:"vpcId"`
	// Filter results by a specific VSwitchId.
	VswitchId string `pulumi:"vswitchId"`
}

type GetMountTargetsTargetArgs

type GetMountTargetsTargetArgs struct {
	// Filter results by a specific AccessGroupName.
	AccessGroupName pulumi.StringInput `pulumi:"accessGroupName"`
	// ID of the MountTargetDomain.
	Id pulumi.StringInput `pulumi:"id"`
	// Field `mountTargetDomain` has been deprecated from provider version 1.53.0. New field `ids` replaces it.
	MountTargetDomain pulumi.StringInput `pulumi:"mountTargetDomain"`
	// Filter results by a specific NetworkType.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// Filter results by the status of mount target. Valid values: `Active`, `Inactive` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
	// Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.
	Type pulumi.StringInput `pulumi:"type"`
	// Filter results by a specific VpcId.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// Filter results by a specific VSwitchId.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetMountTargetsTargetArgs) ElementType

func (GetMountTargetsTargetArgs) ElementType() reflect.Type

func (GetMountTargetsTargetArgs) ToGetMountTargetsTargetOutput

func (i GetMountTargetsTargetArgs) ToGetMountTargetsTargetOutput() GetMountTargetsTargetOutput

func (GetMountTargetsTargetArgs) ToGetMountTargetsTargetOutputWithContext

func (i GetMountTargetsTargetArgs) ToGetMountTargetsTargetOutputWithContext(ctx context.Context) GetMountTargetsTargetOutput

type GetMountTargetsTargetArray

type GetMountTargetsTargetArray []GetMountTargetsTargetInput

func (GetMountTargetsTargetArray) ElementType

func (GetMountTargetsTargetArray) ElementType() reflect.Type

func (GetMountTargetsTargetArray) ToGetMountTargetsTargetArrayOutput

func (i GetMountTargetsTargetArray) ToGetMountTargetsTargetArrayOutput() GetMountTargetsTargetArrayOutput

func (GetMountTargetsTargetArray) ToGetMountTargetsTargetArrayOutputWithContext

func (i GetMountTargetsTargetArray) ToGetMountTargetsTargetArrayOutputWithContext(ctx context.Context) GetMountTargetsTargetArrayOutput

type GetMountTargetsTargetArrayInput

type GetMountTargetsTargetArrayInput interface {
	pulumi.Input

	ToGetMountTargetsTargetArrayOutput() GetMountTargetsTargetArrayOutput
	ToGetMountTargetsTargetArrayOutputWithContext(context.Context) GetMountTargetsTargetArrayOutput
}

GetMountTargetsTargetArrayInput is an input type that accepts GetMountTargetsTargetArray and GetMountTargetsTargetArrayOutput values. You can construct a concrete instance of `GetMountTargetsTargetArrayInput` via:

GetMountTargetsTargetArray{ GetMountTargetsTargetArgs{...} }

type GetMountTargetsTargetArrayOutput

type GetMountTargetsTargetArrayOutput struct{ *pulumi.OutputState }

func (GetMountTargetsTargetArrayOutput) ElementType

func (GetMountTargetsTargetArrayOutput) Index

func (GetMountTargetsTargetArrayOutput) ToGetMountTargetsTargetArrayOutput

func (o GetMountTargetsTargetArrayOutput) ToGetMountTargetsTargetArrayOutput() GetMountTargetsTargetArrayOutput

func (GetMountTargetsTargetArrayOutput) ToGetMountTargetsTargetArrayOutputWithContext

func (o GetMountTargetsTargetArrayOutput) ToGetMountTargetsTargetArrayOutputWithContext(ctx context.Context) GetMountTargetsTargetArrayOutput

type GetMountTargetsTargetInput

type GetMountTargetsTargetInput interface {
	pulumi.Input

	ToGetMountTargetsTargetOutput() GetMountTargetsTargetOutput
	ToGetMountTargetsTargetOutputWithContext(context.Context) GetMountTargetsTargetOutput
}

GetMountTargetsTargetInput is an input type that accepts GetMountTargetsTargetArgs and GetMountTargetsTargetOutput values. You can construct a concrete instance of `GetMountTargetsTargetInput` via:

GetMountTargetsTargetArgs{...}

type GetMountTargetsTargetOutput

type GetMountTargetsTargetOutput struct{ *pulumi.OutputState }

func (GetMountTargetsTargetOutput) AccessGroupName

func (o GetMountTargetsTargetOutput) AccessGroupName() pulumi.StringOutput

Filter results by a specific AccessGroupName.

func (GetMountTargetsTargetOutput) ElementType

func (GetMountTargetsTargetOutput) Id

ID of the MountTargetDomain.

func (GetMountTargetsTargetOutput) MountTargetDomain

func (o GetMountTargetsTargetOutput) MountTargetDomain() pulumi.StringOutput

Field `mountTargetDomain` has been deprecated from provider version 1.53.0. New field `ids` replaces it.

func (GetMountTargetsTargetOutput) NetworkType

Filter results by a specific NetworkType.

func (GetMountTargetsTargetOutput) Status

Filter results by the status of mount target. Valid values: `Active`, `Inactive` and `Pending`.

func (GetMountTargetsTargetOutput) ToGetMountTargetsTargetOutput

func (o GetMountTargetsTargetOutput) ToGetMountTargetsTargetOutput() GetMountTargetsTargetOutput

func (GetMountTargetsTargetOutput) ToGetMountTargetsTargetOutputWithContext

func (o GetMountTargetsTargetOutput) ToGetMountTargetsTargetOutputWithContext(ctx context.Context) GetMountTargetsTargetOutput

func (GetMountTargetsTargetOutput) Type

Field `type` has been deprecated from provider version 1.95.0. New field `networkType` replaces it.

func (GetMountTargetsTargetOutput) VpcId

Filter results by a specific VpcId.

func (GetMountTargetsTargetOutput) VswitchId

Filter results by a specific VSwitchId.

type GetProtocolsArgs

type GetProtocolsArgs struct {
	OutputFile *string `pulumi:"outputFile"`
	// The file system type. Valid Values: `Performance` and `Capacity`.
	Type string `pulumi:"type"`
	// String to filter results by zone id.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getProtocols.

type GetProtocolsOutputArgs

type GetProtocolsOutputArgs struct {
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The file system type. Valid Values: `Performance` and `Capacity`.
	Type pulumi.StringInput `pulumi:"type"`
	// String to filter results by zone id.
	ZoneId pulumi.StringPtrInput `pulumi:"zoneId"`
}

A collection of arguments for invoking getProtocols.

func (GetProtocolsOutputArgs) ElementType

func (GetProtocolsOutputArgs) ElementType() reflect.Type

type GetProtocolsResult

type GetProtocolsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	OutputFile *string `pulumi:"outputFile"`
	// A list of supported protocol type..
	Protocols []string `pulumi:"protocols"`
	Type      string   `pulumi:"type"`
	ZoneId    *string  `pulumi:"zoneId"`
}

A collection of values returned by getProtocols.

func GetProtocols

func GetProtocols(ctx *pulumi.Context, args *GetProtocolsArgs, opts ...pulumi.InvokeOption) (*GetProtocolsResult, error)

Provide a data source to retrieve the type of protocol used to create NAS file system.

> **NOTE:** Available in 1.42.0

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := nas.GetProtocols(ctx, &nas.GetProtocolsArgs{
			OutputFile: pulumi.StringRef("protocols.txt"),
			Type:       "Performance",
			ZoneId:     pulumi.StringRef("cn-beijing-e"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasProtocolsProtocol", _default.Protocols[0])
		return nil
	})
}

```

type GetProtocolsResultOutput

type GetProtocolsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProtocols.

func (GetProtocolsResultOutput) ElementType

func (GetProtocolsResultOutput) ElementType() reflect.Type

func (GetProtocolsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetProtocolsResultOutput) OutputFile

func (GetProtocolsResultOutput) Protocols

A list of supported protocol type..

func (GetProtocolsResultOutput) ToGetProtocolsResultOutput

func (o GetProtocolsResultOutput) ToGetProtocolsResultOutput() GetProtocolsResultOutput

func (GetProtocolsResultOutput) ToGetProtocolsResultOutputWithContext

func (o GetProtocolsResultOutput) ToGetProtocolsResultOutputWithContext(ctx context.Context) GetProtocolsResultOutput

func (GetProtocolsResultOutput) Type

func (GetProtocolsResultOutput) ZoneId

type GetServiceArgs

type GetServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: "On" or "Off". Default to "Off".
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getService.

type GetServiceOutputArgs

type GetServiceOutputArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: "On" or "Off". Default to "Off".
	Enable pulumi.StringPtrInput `pulumi:"enable"`
}

A collection of arguments for invoking getService.

func (GetServiceOutputArgs) ElementType

func (GetServiceOutputArgs) ElementType() reflect.Type

type GetServiceResult

type GetServiceResult struct {
	Enable *string `pulumi:"enable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The current service enable status.
	Status string `pulumi:"status"`
}

A collection of values returned by getService.

func GetService

func GetService(ctx *pulumi.Context, args *GetServiceArgs, opts ...pulumi.InvokeOption) (*GetServiceResult, error)

Using this data source can enable NAS service automatically. If the service has been enabled, it will return `Opened`.

For information about NAS and how to use it, see [What is NAS](https://www.alibabacloud.com/help/product/27516.htm).

> **NOTE:** Available in v1.97.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := nas.GetService(ctx, &nas.GetServiceArgs{
			Enable: pulumi.StringRef("On"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetServiceResultOutput

type GetServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getService.

func (GetServiceResultOutput) ElementType

func (GetServiceResultOutput) ElementType() reflect.Type

func (GetServiceResultOutput) Enable

func (GetServiceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServiceResultOutput) Status

The current service enable status.

func (GetServiceResultOutput) ToGetServiceResultOutput

func (o GetServiceResultOutput) ToGetServiceResultOutput() GetServiceResultOutput

func (GetServiceResultOutput) ToGetServiceResultOutputWithContext

func (o GetServiceResultOutput) ToGetServiceResultOutputWithContext(ctx context.Context) GetServiceResultOutput

type GetSnapshotsArgs

type GetSnapshotsArgs struct {
	// The ID of the file system.
	FileSystemId *string `pulumi:"fileSystemId"`
	// A list of Snapshot IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Snapshot name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The name of the snapshot.
	SnapshotName *string `pulumi:"snapshotName"`
	// The status of the snapshot.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getSnapshots.

type GetSnapshotsOutputArgs

type GetSnapshotsOutputArgs struct {
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"`
	// A list of Snapshot IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Snapshot name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The name of the snapshot.
	SnapshotName pulumi.StringPtrInput `pulumi:"snapshotName"`
	// The status of the snapshot.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getSnapshots.

func (GetSnapshotsOutputArgs) ElementType

func (GetSnapshotsOutputArgs) ElementType() reflect.Type

type GetSnapshotsResult

type GetSnapshotsResult struct {
	FileSystemId *string `pulumi:"fileSystemId"`
	// The provider-assigned unique ID for this managed resource.
	Id           string                 `pulumi:"id"`
	Ids          []string               `pulumi:"ids"`
	NameRegex    *string                `pulumi:"nameRegex"`
	Names        []string               `pulumi:"names"`
	OutputFile   *string                `pulumi:"outputFile"`
	SnapshotName *string                `pulumi:"snapshotName"`
	Snapshots    []GetSnapshotsSnapshot `pulumi:"snapshots"`
	Status       *string                `pulumi:"status"`
}

A collection of values returned by getSnapshots.

func GetSnapshots

func GetSnapshots(ctx *pulumi.Context, args *GetSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetSnapshotsResult, error)

This data source provides the Nas Snapshots of the current Alibaba Cloud user.

> **NOTE:** Available in v1.152.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nas.GetSnapshots(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasSnapshotId1", ids.Snapshots[0].Id)
		nameRegex, err := nas.GetSnapshots(ctx, &nas.GetSnapshotsArgs{
			NameRegex: pulumi.StringRef("^my-Snapshot"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nasSnapshotId2", nameRegex.Snapshots[0].Id)
		return nil
	})
}

```

type GetSnapshotsResultOutput

type GetSnapshotsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshots.

func (GetSnapshotsResultOutput) ElementType

func (GetSnapshotsResultOutput) ElementType() reflect.Type

func (GetSnapshotsResultOutput) FileSystemId

func (GetSnapshotsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSnapshotsResultOutput) Ids

func (GetSnapshotsResultOutput) NameRegex

func (GetSnapshotsResultOutput) Names

func (GetSnapshotsResultOutput) OutputFile

func (GetSnapshotsResultOutput) SnapshotName

func (GetSnapshotsResultOutput) Snapshots

func (GetSnapshotsResultOutput) Status

func (GetSnapshotsResultOutput) ToGetSnapshotsResultOutput

func (o GetSnapshotsResultOutput) ToGetSnapshotsResultOutput() GetSnapshotsResultOutput

func (GetSnapshotsResultOutput) ToGetSnapshotsResultOutputWithContext

func (o GetSnapshotsResultOutput) ToGetSnapshotsResultOutputWithContext(ctx context.Context) GetSnapshotsResultOutput

type GetSnapshotsSnapshot

type GetSnapshotsSnapshot struct {
	// The creation time of the resource.
	CreateTime string `pulumi:"createTime"`
	// The description of the snapshot.
	Description string `pulumi:"description"`
	// The type of the encryption.
	EncryptType int `pulumi:"encryptType"`
	// The ID of the Snapshot.
	Id string `pulumi:"id"`
	// The progress of the snapshot creation. The value of this parameter is expressed as a percentage.
	Progress string `pulumi:"progress"`
	// The remaining time that is required to create the snapshot. Unit: seconds.
	RemainTime int `pulumi:"remainTime"`
	// The retention period of the automatic snapshot. Unit: days.
	RetentionDays int `pulumi:"retentionDays"`
	// The ID of the resource.
	SnapshotId string `pulumi:"snapshotId"`
	// The name of the snapshot.
	SnapshotName string `pulumi:"snapshotName"`
	// The ID of the source file system.
	SourceFileSystemId string `pulumi:"sourceFileSystemId"`
	// The capacity of the source file system. Unit: GiB.
	SourceFileSystemSize string `pulumi:"sourceFileSystemSize"`
	// The version of the source file system.
	SourceFileSystemVersion string `pulumi:"sourceFileSystemVersion"`
	// The status of the snapshot.
	Status string `pulumi:"status"`
}

type GetSnapshotsSnapshotArgs

type GetSnapshotsSnapshotArgs struct {
	// The creation time of the resource.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the snapshot.
	Description pulumi.StringInput `pulumi:"description"`
	// The type of the encryption.
	EncryptType pulumi.IntInput `pulumi:"encryptType"`
	// The ID of the Snapshot.
	Id pulumi.StringInput `pulumi:"id"`
	// The progress of the snapshot creation. The value of this parameter is expressed as a percentage.
	Progress pulumi.StringInput `pulumi:"progress"`
	// The remaining time that is required to create the snapshot. Unit: seconds.
	RemainTime pulumi.IntInput `pulumi:"remainTime"`
	// The retention period of the automatic snapshot. Unit: days.
	RetentionDays pulumi.IntInput `pulumi:"retentionDays"`
	// The ID of the resource.
	SnapshotId pulumi.StringInput `pulumi:"snapshotId"`
	// The name of the snapshot.
	SnapshotName pulumi.StringInput `pulumi:"snapshotName"`
	// The ID of the source file system.
	SourceFileSystemId pulumi.StringInput `pulumi:"sourceFileSystemId"`
	// The capacity of the source file system. Unit: GiB.
	SourceFileSystemSize pulumi.StringInput `pulumi:"sourceFileSystemSize"`
	// The version of the source file system.
	SourceFileSystemVersion pulumi.StringInput `pulumi:"sourceFileSystemVersion"`
	// The status of the snapshot.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetSnapshotsSnapshotArgs) ElementType

func (GetSnapshotsSnapshotArgs) ElementType() reflect.Type

func (GetSnapshotsSnapshotArgs) ToGetSnapshotsSnapshotOutput

func (i GetSnapshotsSnapshotArgs) ToGetSnapshotsSnapshotOutput() GetSnapshotsSnapshotOutput

func (GetSnapshotsSnapshotArgs) ToGetSnapshotsSnapshotOutputWithContext

func (i GetSnapshotsSnapshotArgs) ToGetSnapshotsSnapshotOutputWithContext(ctx context.Context) GetSnapshotsSnapshotOutput

type GetSnapshotsSnapshotArray

type GetSnapshotsSnapshotArray []GetSnapshotsSnapshotInput

func (GetSnapshotsSnapshotArray) ElementType

func (GetSnapshotsSnapshotArray) ElementType() reflect.Type

func (GetSnapshotsSnapshotArray) ToGetSnapshotsSnapshotArrayOutput

func (i GetSnapshotsSnapshotArray) ToGetSnapshotsSnapshotArrayOutput() GetSnapshotsSnapshotArrayOutput

func (GetSnapshotsSnapshotArray) ToGetSnapshotsSnapshotArrayOutputWithContext

func (i GetSnapshotsSnapshotArray) ToGetSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetSnapshotsSnapshotArrayOutput

type GetSnapshotsSnapshotArrayInput

type GetSnapshotsSnapshotArrayInput interface {
	pulumi.Input

	ToGetSnapshotsSnapshotArrayOutput() GetSnapshotsSnapshotArrayOutput
	ToGetSnapshotsSnapshotArrayOutputWithContext(context.Context) GetSnapshotsSnapshotArrayOutput
}

GetSnapshotsSnapshotArrayInput is an input type that accepts GetSnapshotsSnapshotArray and GetSnapshotsSnapshotArrayOutput values. You can construct a concrete instance of `GetSnapshotsSnapshotArrayInput` via:

GetSnapshotsSnapshotArray{ GetSnapshotsSnapshotArgs{...} }

type GetSnapshotsSnapshotArrayOutput

type GetSnapshotsSnapshotArrayOutput struct{ *pulumi.OutputState }

func (GetSnapshotsSnapshotArrayOutput) ElementType

func (GetSnapshotsSnapshotArrayOutput) Index

func (GetSnapshotsSnapshotArrayOutput) ToGetSnapshotsSnapshotArrayOutput

func (o GetSnapshotsSnapshotArrayOutput) ToGetSnapshotsSnapshotArrayOutput() GetSnapshotsSnapshotArrayOutput

func (GetSnapshotsSnapshotArrayOutput) ToGetSnapshotsSnapshotArrayOutputWithContext

func (o GetSnapshotsSnapshotArrayOutput) ToGetSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetSnapshotsSnapshotArrayOutput

type GetSnapshotsSnapshotInput

type GetSnapshotsSnapshotInput interface {
	pulumi.Input

	ToGetSnapshotsSnapshotOutput() GetSnapshotsSnapshotOutput
	ToGetSnapshotsSnapshotOutputWithContext(context.Context) GetSnapshotsSnapshotOutput
}

GetSnapshotsSnapshotInput is an input type that accepts GetSnapshotsSnapshotArgs and GetSnapshotsSnapshotOutput values. You can construct a concrete instance of `GetSnapshotsSnapshotInput` via:

GetSnapshotsSnapshotArgs{...}

type GetSnapshotsSnapshotOutput

type GetSnapshotsSnapshotOutput struct{ *pulumi.OutputState }

func (GetSnapshotsSnapshotOutput) CreateTime

The creation time of the resource.

func (GetSnapshotsSnapshotOutput) Description

The description of the snapshot.

func (GetSnapshotsSnapshotOutput) ElementType

func (GetSnapshotsSnapshotOutput) ElementType() reflect.Type

func (GetSnapshotsSnapshotOutput) EncryptType

The type of the encryption.

func (GetSnapshotsSnapshotOutput) Id

The ID of the Snapshot.

func (GetSnapshotsSnapshotOutput) Progress

The progress of the snapshot creation. The value of this parameter is expressed as a percentage.

func (GetSnapshotsSnapshotOutput) RemainTime

The remaining time that is required to create the snapshot. Unit: seconds.

func (GetSnapshotsSnapshotOutput) RetentionDays

func (o GetSnapshotsSnapshotOutput) RetentionDays() pulumi.IntOutput

The retention period of the automatic snapshot. Unit: days.

func (GetSnapshotsSnapshotOutput) SnapshotId

The ID of the resource.

func (GetSnapshotsSnapshotOutput) SnapshotName

The name of the snapshot.

func (GetSnapshotsSnapshotOutput) SourceFileSystemId

func (o GetSnapshotsSnapshotOutput) SourceFileSystemId() pulumi.StringOutput

The ID of the source file system.

func (GetSnapshotsSnapshotOutput) SourceFileSystemSize

func (o GetSnapshotsSnapshotOutput) SourceFileSystemSize() pulumi.StringOutput

The capacity of the source file system. Unit: GiB.

func (GetSnapshotsSnapshotOutput) SourceFileSystemVersion

func (o GetSnapshotsSnapshotOutput) SourceFileSystemVersion() pulumi.StringOutput

The version of the source file system.

func (GetSnapshotsSnapshotOutput) Status

The status of the snapshot.

func (GetSnapshotsSnapshotOutput) ToGetSnapshotsSnapshotOutput

func (o GetSnapshotsSnapshotOutput) ToGetSnapshotsSnapshotOutput() GetSnapshotsSnapshotOutput

func (GetSnapshotsSnapshotOutput) ToGetSnapshotsSnapshotOutputWithContext

func (o GetSnapshotsSnapshotOutput) ToGetSnapshotsSnapshotOutputWithContext(ctx context.Context) GetSnapshotsSnapshotOutput

type GetZonesArgs

type GetZonesArgs struct {
	// The type of the file system.  Valid values: `standard`, `extreme`, `cpfs`.
	FileSystemType *string `pulumi:"fileSystemType"`
	OutputFile     *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	// The type of the file system.  Valid values: `standard`, `extreme`, `cpfs`.
	FileSystemType pulumi.StringPtrInput `pulumi:"fileSystemType"`
	OutputFile     pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	FileSystemType *string `pulumi:"fileSystemType"`
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	OutputFile *string `pulumi:"outputFile"`
	// A list of availability zone information collection.
	Zones []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones

func GetZones(ctx *pulumi.Context, args *GetZonesArgs, opts ...pulumi.InvokeOption) (*GetZonesResult, error)

Provide a data source to retrieve the type of zone used to create NAS file system.

> **NOTE:** Available in v1.140.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := nas.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("alicloudNasZonesId", _default.Zones[0].ZoneId)
		return nil
	})
}

```

type GetZonesResultOutput

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func (GetZonesResultOutput) ElementType

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) FileSystemType

func (o GetZonesResultOutput) FileSystemType() pulumi.StringPtrOutput

func (GetZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) OutputFile

func (GetZonesResultOutput) ToGetZonesResultOutput

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext

func (o GetZonesResultOutput) ToGetZonesResultOutputWithContext(ctx context.Context) GetZonesResultOutput

func (GetZonesResultOutput) Zones

A list of availability zone information collection.

type GetZonesZone

type GetZonesZone struct {
	// A list of instance type information collection
	InstanceTypes []GetZonesZoneInstanceType `pulumi:"instanceTypes"`
	// String to filter results by zone id.
	ZoneId string `pulumi:"zoneId"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// A list of instance type information collection
	InstanceTypes GetZonesZoneInstanceTypeArrayInput `pulumi:"instanceTypes"`
	// String to filter results by zone id.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

func (i GetZonesZoneArgs) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

	ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput
	ToGetZonesZoneArrayOutputWithContext(context.Context) GetZonesZoneArrayOutput
}

GetZonesZoneArrayInput is an input type that accepts GetZonesZoneArray and GetZonesZoneArrayOutput values. You can construct a concrete instance of `GetZonesZoneArrayInput` via:

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

	ToGetZonesZoneOutput() GetZonesZoneOutput
	ToGetZonesZoneOutputWithContext(context.Context) GetZonesZoneOutput
}

GetZonesZoneInput is an input type that accepts GetZonesZoneArgs and GetZonesZoneOutput values. You can construct a concrete instance of `GetZonesZoneInput` via:

GetZonesZoneArgs{...}

type GetZonesZoneInstanceType

type GetZonesZoneInstanceType struct {
	// File transfer protocol type. Valid values:
	ProtocolType string `pulumi:"protocolType"`
	// The storage type of the nas zones. Valid values:
	StorageType string `pulumi:"storageType"`
}

type GetZonesZoneInstanceTypeArgs

type GetZonesZoneInstanceTypeArgs struct {
	// File transfer protocol type. Valid values:
	ProtocolType pulumi.StringInput `pulumi:"protocolType"`
	// The storage type of the nas zones. Valid values:
	StorageType pulumi.StringInput `pulumi:"storageType"`
}

func (GetZonesZoneInstanceTypeArgs) ElementType

func (GetZonesZoneInstanceTypeArgs) ToGetZonesZoneInstanceTypeOutput

func (i GetZonesZoneInstanceTypeArgs) ToGetZonesZoneInstanceTypeOutput() GetZonesZoneInstanceTypeOutput

func (GetZonesZoneInstanceTypeArgs) ToGetZonesZoneInstanceTypeOutputWithContext

func (i GetZonesZoneInstanceTypeArgs) ToGetZonesZoneInstanceTypeOutputWithContext(ctx context.Context) GetZonesZoneInstanceTypeOutput

type GetZonesZoneInstanceTypeArray

type GetZonesZoneInstanceTypeArray []GetZonesZoneInstanceTypeInput

func (GetZonesZoneInstanceTypeArray) ElementType

func (GetZonesZoneInstanceTypeArray) ToGetZonesZoneInstanceTypeArrayOutput

func (i GetZonesZoneInstanceTypeArray) ToGetZonesZoneInstanceTypeArrayOutput() GetZonesZoneInstanceTypeArrayOutput

func (GetZonesZoneInstanceTypeArray) ToGetZonesZoneInstanceTypeArrayOutputWithContext

func (i GetZonesZoneInstanceTypeArray) ToGetZonesZoneInstanceTypeArrayOutputWithContext(ctx context.Context) GetZonesZoneInstanceTypeArrayOutput

type GetZonesZoneInstanceTypeArrayInput

type GetZonesZoneInstanceTypeArrayInput interface {
	pulumi.Input

	ToGetZonesZoneInstanceTypeArrayOutput() GetZonesZoneInstanceTypeArrayOutput
	ToGetZonesZoneInstanceTypeArrayOutputWithContext(context.Context) GetZonesZoneInstanceTypeArrayOutput
}

GetZonesZoneInstanceTypeArrayInput is an input type that accepts GetZonesZoneInstanceTypeArray and GetZonesZoneInstanceTypeArrayOutput values. You can construct a concrete instance of `GetZonesZoneInstanceTypeArrayInput` via:

GetZonesZoneInstanceTypeArray{ GetZonesZoneInstanceTypeArgs{...} }

type GetZonesZoneInstanceTypeArrayOutput

type GetZonesZoneInstanceTypeArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneInstanceTypeArrayOutput) ElementType

func (GetZonesZoneInstanceTypeArrayOutput) Index

func (GetZonesZoneInstanceTypeArrayOutput) ToGetZonesZoneInstanceTypeArrayOutput

func (o GetZonesZoneInstanceTypeArrayOutput) ToGetZonesZoneInstanceTypeArrayOutput() GetZonesZoneInstanceTypeArrayOutput

func (GetZonesZoneInstanceTypeArrayOutput) ToGetZonesZoneInstanceTypeArrayOutputWithContext

func (o GetZonesZoneInstanceTypeArrayOutput) ToGetZonesZoneInstanceTypeArrayOutputWithContext(ctx context.Context) GetZonesZoneInstanceTypeArrayOutput

type GetZonesZoneInstanceTypeInput

type GetZonesZoneInstanceTypeInput interface {
	pulumi.Input

	ToGetZonesZoneInstanceTypeOutput() GetZonesZoneInstanceTypeOutput
	ToGetZonesZoneInstanceTypeOutputWithContext(context.Context) GetZonesZoneInstanceTypeOutput
}

GetZonesZoneInstanceTypeInput is an input type that accepts GetZonesZoneInstanceTypeArgs and GetZonesZoneInstanceTypeOutput values. You can construct a concrete instance of `GetZonesZoneInstanceTypeInput` via:

GetZonesZoneInstanceTypeArgs{...}

type GetZonesZoneInstanceTypeOutput

type GetZonesZoneInstanceTypeOutput struct{ *pulumi.OutputState }

func (GetZonesZoneInstanceTypeOutput) ElementType

func (GetZonesZoneInstanceTypeOutput) ProtocolType

File transfer protocol type. Valid values:

func (GetZonesZoneInstanceTypeOutput) StorageType

The storage type of the nas zones. Valid values:

func (GetZonesZoneInstanceTypeOutput) ToGetZonesZoneInstanceTypeOutput

func (o GetZonesZoneInstanceTypeOutput) ToGetZonesZoneInstanceTypeOutput() GetZonesZoneInstanceTypeOutput

func (GetZonesZoneInstanceTypeOutput) ToGetZonesZoneInstanceTypeOutputWithContext

func (o GetZonesZoneInstanceTypeOutput) ToGetZonesZoneInstanceTypeOutputWithContext(ctx context.Context) GetZonesZoneInstanceTypeOutput

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) InstanceTypes

A list of instance type information collection

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

func (o GetZonesZoneOutput) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

func (GetZonesZoneOutput) ZoneId

String to filter results by zone id.

type LifecyclePolicy

type LifecyclePolicy struct {
	pulumi.CustomResourceState

	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The name of the lifecycle management policy.
	LifecyclePolicyName pulumi.StringOutput `pulumi:"lifecyclePolicyName"`
	// The rules in the lifecycle management policy. Valid values: `DEFAULT_ATIME_14`, `DEFAULT_ATIME_30`, `DEFAULT_ATIME_60`, `DEFAULT_ATIME_90`.
	LifecycleRuleName pulumi.StringOutput `pulumi:"lifecycleRuleName"`
	// The absolute path of the directory for which the lifecycle management policy is configured. Set a maximum of `10` path. The path value must be prefixed by a forward slash (/) and must be an existing path in the mount target.
	Paths pulumi.StringArrayOutput `pulumi:"paths"`
	// The storage type of the data that is dumped to the IA storage medium. Valid values: `InfrequentAccess`.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
}

Provides a Network Attached Storage (NAS) Lifecycle Policy resource.

For information about Network Attached Storage (NAS) Lifecycle Policy and how to use it, see [What is Lifecycle Policy](https://www.alibabacloud.com/help/en/doc-detail/169362.html).

> **NOTE:** Available in v1.153.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleFileSystem, err := nas.NewFileSystem(ctx, "exampleFileSystem", &nas.FileSystemArgs{
			ProtocolType: pulumi.String("NFS"),
			StorageType:  pulumi.String("Capacity"),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewLifecyclePolicy(ctx, "exampleLifecyclePolicy", &nas.LifecyclePolicyArgs{
			FileSystemId:        exampleFileSystem.ID(),
			LifecyclePolicyName: pulumi.String("my-LifecyclePolicy"),
			LifecycleRuleName:   pulumi.String("DEFAULT_ATIME_14"),
			StorageType:         pulumi.String("InfrequentAccess"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Attached Storage (NAS) Lifecycle Policy can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/lifecyclePolicy:LifecyclePolicy example <file_system_id>:<lifecycle_policy_name>

```

func GetLifecyclePolicy

func GetLifecyclePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LifecyclePolicyState, opts ...pulumi.ResourceOption) (*LifecyclePolicy, error)

GetLifecyclePolicy gets an existing LifecyclePolicy 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 NewLifecyclePolicy

func NewLifecyclePolicy(ctx *pulumi.Context,
	name string, args *LifecyclePolicyArgs, opts ...pulumi.ResourceOption) (*LifecyclePolicy, error)

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

func (*LifecyclePolicy) ElementType

func (*LifecyclePolicy) ElementType() reflect.Type

func (*LifecyclePolicy) ToLifecyclePolicyOutput

func (i *LifecyclePolicy) ToLifecyclePolicyOutput() LifecyclePolicyOutput

func (*LifecyclePolicy) ToLifecyclePolicyOutputWithContext

func (i *LifecyclePolicy) ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput

type LifecyclePolicyArgs

type LifecyclePolicyArgs struct {
	// The ID of the file system.
	FileSystemId pulumi.StringInput
	// The name of the lifecycle management policy.
	LifecyclePolicyName pulumi.StringInput
	// The rules in the lifecycle management policy. Valid values: `DEFAULT_ATIME_14`, `DEFAULT_ATIME_30`, `DEFAULT_ATIME_60`, `DEFAULT_ATIME_90`.
	LifecycleRuleName pulumi.StringInput
	// The absolute path of the directory for which the lifecycle management policy is configured. Set a maximum of `10` path. The path value must be prefixed by a forward slash (/) and must be an existing path in the mount target.
	Paths pulumi.StringArrayInput
	// The storage type of the data that is dumped to the IA storage medium. Valid values: `InfrequentAccess`.
	StorageType pulumi.StringInput
}

The set of arguments for constructing a LifecyclePolicy resource.

func (LifecyclePolicyArgs) ElementType

func (LifecyclePolicyArgs) ElementType() reflect.Type

type LifecyclePolicyArray

type LifecyclePolicyArray []LifecyclePolicyInput

func (LifecyclePolicyArray) ElementType

func (LifecyclePolicyArray) ElementType() reflect.Type

func (LifecyclePolicyArray) ToLifecyclePolicyArrayOutput

func (i LifecyclePolicyArray) ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput

func (LifecyclePolicyArray) ToLifecyclePolicyArrayOutputWithContext

func (i LifecyclePolicyArray) ToLifecyclePolicyArrayOutputWithContext(ctx context.Context) LifecyclePolicyArrayOutput

type LifecyclePolicyArrayInput

type LifecyclePolicyArrayInput interface {
	pulumi.Input

	ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput
	ToLifecyclePolicyArrayOutputWithContext(context.Context) LifecyclePolicyArrayOutput
}

LifecyclePolicyArrayInput is an input type that accepts LifecyclePolicyArray and LifecyclePolicyArrayOutput values. You can construct a concrete instance of `LifecyclePolicyArrayInput` via:

LifecyclePolicyArray{ LifecyclePolicyArgs{...} }

type LifecyclePolicyArrayOutput

type LifecyclePolicyArrayOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyArrayOutput) ElementType

func (LifecyclePolicyArrayOutput) ElementType() reflect.Type

func (LifecyclePolicyArrayOutput) Index

func (LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutput

func (o LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput

func (LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutputWithContext

func (o LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutputWithContext(ctx context.Context) LifecyclePolicyArrayOutput

type LifecyclePolicyInput

type LifecyclePolicyInput interface {
	pulumi.Input

	ToLifecyclePolicyOutput() LifecyclePolicyOutput
	ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput
}

type LifecyclePolicyMap

type LifecyclePolicyMap map[string]LifecyclePolicyInput

func (LifecyclePolicyMap) ElementType

func (LifecyclePolicyMap) ElementType() reflect.Type

func (LifecyclePolicyMap) ToLifecyclePolicyMapOutput

func (i LifecyclePolicyMap) ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput

func (LifecyclePolicyMap) ToLifecyclePolicyMapOutputWithContext

func (i LifecyclePolicyMap) ToLifecyclePolicyMapOutputWithContext(ctx context.Context) LifecyclePolicyMapOutput

type LifecyclePolicyMapInput

type LifecyclePolicyMapInput interface {
	pulumi.Input

	ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput
	ToLifecyclePolicyMapOutputWithContext(context.Context) LifecyclePolicyMapOutput
}

LifecyclePolicyMapInput is an input type that accepts LifecyclePolicyMap and LifecyclePolicyMapOutput values. You can construct a concrete instance of `LifecyclePolicyMapInput` via:

LifecyclePolicyMap{ "key": LifecyclePolicyArgs{...} }

type LifecyclePolicyMapOutput

type LifecyclePolicyMapOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyMapOutput) ElementType

func (LifecyclePolicyMapOutput) ElementType() reflect.Type

func (LifecyclePolicyMapOutput) MapIndex

func (LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutput

func (o LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput

func (LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutputWithContext

func (o LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutputWithContext(ctx context.Context) LifecyclePolicyMapOutput

type LifecyclePolicyOutput

type LifecyclePolicyOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyOutput) ElementType

func (LifecyclePolicyOutput) ElementType() reflect.Type

func (LifecyclePolicyOutput) FileSystemId

func (o LifecyclePolicyOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (LifecyclePolicyOutput) LifecyclePolicyName

func (o LifecyclePolicyOutput) LifecyclePolicyName() pulumi.StringOutput

The name of the lifecycle management policy.

func (LifecyclePolicyOutput) LifecycleRuleName

func (o LifecyclePolicyOutput) LifecycleRuleName() pulumi.StringOutput

The rules in the lifecycle management policy. Valid values: `DEFAULT_ATIME_14`, `DEFAULT_ATIME_30`, `DEFAULT_ATIME_60`, `DEFAULT_ATIME_90`.

func (LifecyclePolicyOutput) Paths

The absolute path of the directory for which the lifecycle management policy is configured. Set a maximum of `10` path. The path value must be prefixed by a forward slash (/) and must be an existing path in the mount target.

func (LifecyclePolicyOutput) StorageType

func (o LifecyclePolicyOutput) StorageType() pulumi.StringOutput

The storage type of the data that is dumped to the IA storage medium. Valid values: `InfrequentAccess`.

func (LifecyclePolicyOutput) ToLifecyclePolicyOutput

func (o LifecyclePolicyOutput) ToLifecyclePolicyOutput() LifecyclePolicyOutput

func (LifecyclePolicyOutput) ToLifecyclePolicyOutputWithContext

func (o LifecyclePolicyOutput) ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput

type LifecyclePolicyState

type LifecyclePolicyState struct {
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput
	// The name of the lifecycle management policy.
	LifecyclePolicyName pulumi.StringPtrInput
	// The rules in the lifecycle management policy. Valid values: `DEFAULT_ATIME_14`, `DEFAULT_ATIME_30`, `DEFAULT_ATIME_60`, `DEFAULT_ATIME_90`.
	LifecycleRuleName pulumi.StringPtrInput
	// The absolute path of the directory for which the lifecycle management policy is configured. Set a maximum of `10` path. The path value must be prefixed by a forward slash (/) and must be an existing path in the mount target.
	Paths pulumi.StringArrayInput
	// The storage type of the data that is dumped to the IA storage medium. Valid values: `InfrequentAccess`.
	StorageType pulumi.StringPtrInput
}

func (LifecyclePolicyState) ElementType

func (LifecyclePolicyState) ElementType() reflect.Type

type MountTarget

type MountTarget struct {
	pulumi.CustomResourceState

	// The name of the permission group that applies to the mount target.
	AccessGroupName pulumi.StringPtrOutput `pulumi:"accessGroupName"`
	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The IPv4 domain name of the mount target. **NOTE:** Available in v1.161.0+.
	MountTargetDomain pulumi.StringOutput `pulumi:"mountTargetDomain"`
	// The ID of security group.
	SecurityGroupId pulumi.StringPtrOutput `pulumi:"securityGroupId"`
	// Whether the MountTarget is active. The status of the mount target. Valid values: `Active` and `Inactive`, Default value is `Active`. Before you mount a file system, make sure that the mount target is in the Active state.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the VSwitch in the VPC where the mount target resides.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
}

Provides a NAS Mount Target resource. For information about NAS Mount Target and how to use it, see [Manage NAS Mount Targets](https://www.alibabacloud.com/help/en/doc-detail/27531.htm).

> **NOTE**: Available in v1.34.0+.

> **NOTE**: Currently this resource support create a mount point in a classic network only when current region is China mainland regions.

> **NOTE**: You must grant NAS with specific RAM permissions when creating a classic mount targets, and it only can be achieved by creating a classic mount target mannually. See [Add a mount point](https://www.alibabacloud.com/help/doc-detail/60431.htm) and [Why do I need RAM permissions to create a mount point in a classic network](https://www.alibabacloud.com/help/faq-detail/42176.htm).

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleFileSystem, err := nas.NewFileSystem(ctx, "exampleFileSystem", &nas.FileSystemArgs{
			ProtocolType: pulumi.String("NFS"),
			StorageType:  pulumi.String("Performance"),
			Description:  pulumi.String("test file system"),
		})
		if err != nil {
			return err
		}
		exampleAccessGroup, err := nas.NewAccessGroup(ctx, "exampleAccessGroup", &nas.AccessGroupArgs{
			AccessGroupName: pulumi.String("test_name"),
			AccessGroupType: pulumi.String("Classic"),
			Description:     pulumi.String("test access group"),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewMountTarget(ctx, "exampleMountTarget", &nas.MountTargetArgs{
			FileSystemId:    exampleFileSystem.ID(),
			AccessGroupName: exampleAccessGroup.AccessGroupName,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NAS MountTarget

can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/mountTarget:MountTarget foo 192094b415:192094b415-luw38.cn-beijing.nas.aliyuncs.com

```

func GetMountTarget

func GetMountTarget(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MountTargetState, opts ...pulumi.ResourceOption) (*MountTarget, error)

GetMountTarget gets an existing MountTarget 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 NewMountTarget

func NewMountTarget(ctx *pulumi.Context,
	name string, args *MountTargetArgs, opts ...pulumi.ResourceOption) (*MountTarget, error)

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

func (*MountTarget) ElementType

func (*MountTarget) ElementType() reflect.Type

func (*MountTarget) ToMountTargetOutput

func (i *MountTarget) ToMountTargetOutput() MountTargetOutput

func (*MountTarget) ToMountTargetOutputWithContext

func (i *MountTarget) ToMountTargetOutputWithContext(ctx context.Context) MountTargetOutput

type MountTargetArgs

type MountTargetArgs struct {
	// The name of the permission group that applies to the mount target.
	AccessGroupName pulumi.StringPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringInput
	// The ID of security group.
	SecurityGroupId pulumi.StringPtrInput
	// Whether the MountTarget is active. The status of the mount target. Valid values: `Active` and `Inactive`, Default value is `Active`. Before you mount a file system, make sure that the mount target is in the Active state.
	Status pulumi.StringPtrInput
	// The ID of the VSwitch in the VPC where the mount target resides.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a MountTarget resource.

func (MountTargetArgs) ElementType

func (MountTargetArgs) ElementType() reflect.Type

type MountTargetArray

type MountTargetArray []MountTargetInput

func (MountTargetArray) ElementType

func (MountTargetArray) ElementType() reflect.Type

func (MountTargetArray) ToMountTargetArrayOutput

func (i MountTargetArray) ToMountTargetArrayOutput() MountTargetArrayOutput

func (MountTargetArray) ToMountTargetArrayOutputWithContext

func (i MountTargetArray) ToMountTargetArrayOutputWithContext(ctx context.Context) MountTargetArrayOutput

type MountTargetArrayInput

type MountTargetArrayInput interface {
	pulumi.Input

	ToMountTargetArrayOutput() MountTargetArrayOutput
	ToMountTargetArrayOutputWithContext(context.Context) MountTargetArrayOutput
}

MountTargetArrayInput is an input type that accepts MountTargetArray and MountTargetArrayOutput values. You can construct a concrete instance of `MountTargetArrayInput` via:

MountTargetArray{ MountTargetArgs{...} }

type MountTargetArrayOutput

type MountTargetArrayOutput struct{ *pulumi.OutputState }

func (MountTargetArrayOutput) ElementType

func (MountTargetArrayOutput) ElementType() reflect.Type

func (MountTargetArrayOutput) Index

func (MountTargetArrayOutput) ToMountTargetArrayOutput

func (o MountTargetArrayOutput) ToMountTargetArrayOutput() MountTargetArrayOutput

func (MountTargetArrayOutput) ToMountTargetArrayOutputWithContext

func (o MountTargetArrayOutput) ToMountTargetArrayOutputWithContext(ctx context.Context) MountTargetArrayOutput

type MountTargetInput

type MountTargetInput interface {
	pulumi.Input

	ToMountTargetOutput() MountTargetOutput
	ToMountTargetOutputWithContext(ctx context.Context) MountTargetOutput
}

type MountTargetMap

type MountTargetMap map[string]MountTargetInput

func (MountTargetMap) ElementType

func (MountTargetMap) ElementType() reflect.Type

func (MountTargetMap) ToMountTargetMapOutput

func (i MountTargetMap) ToMountTargetMapOutput() MountTargetMapOutput

func (MountTargetMap) ToMountTargetMapOutputWithContext

func (i MountTargetMap) ToMountTargetMapOutputWithContext(ctx context.Context) MountTargetMapOutput

type MountTargetMapInput

type MountTargetMapInput interface {
	pulumi.Input

	ToMountTargetMapOutput() MountTargetMapOutput
	ToMountTargetMapOutputWithContext(context.Context) MountTargetMapOutput
}

MountTargetMapInput is an input type that accepts MountTargetMap and MountTargetMapOutput values. You can construct a concrete instance of `MountTargetMapInput` via:

MountTargetMap{ "key": MountTargetArgs{...} }

type MountTargetMapOutput

type MountTargetMapOutput struct{ *pulumi.OutputState }

func (MountTargetMapOutput) ElementType

func (MountTargetMapOutput) ElementType() reflect.Type

func (MountTargetMapOutput) MapIndex

func (MountTargetMapOutput) ToMountTargetMapOutput

func (o MountTargetMapOutput) ToMountTargetMapOutput() MountTargetMapOutput

func (MountTargetMapOutput) ToMountTargetMapOutputWithContext

func (o MountTargetMapOutput) ToMountTargetMapOutputWithContext(ctx context.Context) MountTargetMapOutput

type MountTargetOutput

type MountTargetOutput struct{ *pulumi.OutputState }

func (MountTargetOutput) AccessGroupName

func (o MountTargetOutput) AccessGroupName() pulumi.StringPtrOutput

The name of the permission group that applies to the mount target.

func (MountTargetOutput) ElementType

func (MountTargetOutput) ElementType() reflect.Type

func (MountTargetOutput) FileSystemId

func (o MountTargetOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (MountTargetOutput) MountTargetDomain

func (o MountTargetOutput) MountTargetDomain() pulumi.StringOutput

The IPv4 domain name of the mount target. **NOTE:** Available in v1.161.0+.

func (MountTargetOutput) SecurityGroupId

func (o MountTargetOutput) SecurityGroupId() pulumi.StringPtrOutput

The ID of security group.

func (MountTargetOutput) Status

Whether the MountTarget is active. The status of the mount target. Valid values: `Active` and `Inactive`, Default value is `Active`. Before you mount a file system, make sure that the mount target is in the Active state.

func (MountTargetOutput) ToMountTargetOutput

func (o MountTargetOutput) ToMountTargetOutput() MountTargetOutput

func (MountTargetOutput) ToMountTargetOutputWithContext

func (o MountTargetOutput) ToMountTargetOutputWithContext(ctx context.Context) MountTargetOutput

func (MountTargetOutput) VswitchId

The ID of the VSwitch in the VPC where the mount target resides.

type MountTargetState

type MountTargetState struct {
	// The name of the permission group that applies to the mount target.
	AccessGroupName pulumi.StringPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput
	// The IPv4 domain name of the mount target. **NOTE:** Available in v1.161.0+.
	MountTargetDomain pulumi.StringPtrInput
	// The ID of security group.
	SecurityGroupId pulumi.StringPtrInput
	// Whether the MountTarget is active. The status of the mount target. Valid values: `Active` and `Inactive`, Default value is `Active`. Before you mount a file system, make sure that the mount target is in the Active state.
	Status pulumi.StringPtrInput
	// The ID of the VSwitch in the VPC where the mount target resides.
	VswitchId pulumi.StringPtrInput
}

func (MountTargetState) ElementType

func (MountTargetState) ElementType() reflect.Type

type RecycleBin

type RecycleBin struct {
	pulumi.CustomResourceState

	// The ID of the file system for which you want to enable the recycle bin feature.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The period for which the files in the recycle bin are retained. Unit: days. Valid values: `1` to `180`.
	ReservedDays pulumi.IntOutput `pulumi:"reservedDays"`
	// The status of the recycle bin.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a Network Attached Storage (NAS) Recycle Bin resource.

For information about Network Attached Storage (NAS) Recycle Bin and how to use it, see [What is Recycle Bin](https://www.alibabacloud.com/help/en/doc-detail/264185.html).

> **NOTE:** Available in v1.155.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleFileSystem, err := nas.NewFileSystem(ctx, "exampleFileSystem", &nas.FileSystemArgs{
			ProtocolType: pulumi.String("NFS"),
			StorageType:  pulumi.String("Performance"),
			Description:  pulumi.Any(_var.Name),
			EncryptType:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewRecycleBin(ctx, "exampleRecycleBin", &nas.RecycleBinArgs{
			FileSystemId: exampleFileSystem.ID(),
			ReservedDays: pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Attached Storage (NAS) Recycle Bin can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/recycleBin:RecycleBin example <file_system_id>

```

func GetRecycleBin

func GetRecycleBin(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RecycleBinState, opts ...pulumi.ResourceOption) (*RecycleBin, error)

GetRecycleBin gets an existing RecycleBin 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 NewRecycleBin

func NewRecycleBin(ctx *pulumi.Context,
	name string, args *RecycleBinArgs, opts ...pulumi.ResourceOption) (*RecycleBin, error)

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

func (*RecycleBin) ElementType

func (*RecycleBin) ElementType() reflect.Type

func (*RecycleBin) ToRecycleBinOutput

func (i *RecycleBin) ToRecycleBinOutput() RecycleBinOutput

func (*RecycleBin) ToRecycleBinOutputWithContext

func (i *RecycleBin) ToRecycleBinOutputWithContext(ctx context.Context) RecycleBinOutput

type RecycleBinArgs

type RecycleBinArgs struct {
	// The ID of the file system for which you want to enable the recycle bin feature.
	FileSystemId pulumi.StringInput
	// The period for which the files in the recycle bin are retained. Unit: days. Valid values: `1` to `180`.
	ReservedDays pulumi.IntPtrInput
}

The set of arguments for constructing a RecycleBin resource.

func (RecycleBinArgs) ElementType

func (RecycleBinArgs) ElementType() reflect.Type

type RecycleBinArray

type RecycleBinArray []RecycleBinInput

func (RecycleBinArray) ElementType

func (RecycleBinArray) ElementType() reflect.Type

func (RecycleBinArray) ToRecycleBinArrayOutput

func (i RecycleBinArray) ToRecycleBinArrayOutput() RecycleBinArrayOutput

func (RecycleBinArray) ToRecycleBinArrayOutputWithContext

func (i RecycleBinArray) ToRecycleBinArrayOutputWithContext(ctx context.Context) RecycleBinArrayOutput

type RecycleBinArrayInput

type RecycleBinArrayInput interface {
	pulumi.Input

	ToRecycleBinArrayOutput() RecycleBinArrayOutput
	ToRecycleBinArrayOutputWithContext(context.Context) RecycleBinArrayOutput
}

RecycleBinArrayInput is an input type that accepts RecycleBinArray and RecycleBinArrayOutput values. You can construct a concrete instance of `RecycleBinArrayInput` via:

RecycleBinArray{ RecycleBinArgs{...} }

type RecycleBinArrayOutput

type RecycleBinArrayOutput struct{ *pulumi.OutputState }

func (RecycleBinArrayOutput) ElementType

func (RecycleBinArrayOutput) ElementType() reflect.Type

func (RecycleBinArrayOutput) Index

func (RecycleBinArrayOutput) ToRecycleBinArrayOutput

func (o RecycleBinArrayOutput) ToRecycleBinArrayOutput() RecycleBinArrayOutput

func (RecycleBinArrayOutput) ToRecycleBinArrayOutputWithContext

func (o RecycleBinArrayOutput) ToRecycleBinArrayOutputWithContext(ctx context.Context) RecycleBinArrayOutput

type RecycleBinInput

type RecycleBinInput interface {
	pulumi.Input

	ToRecycleBinOutput() RecycleBinOutput
	ToRecycleBinOutputWithContext(ctx context.Context) RecycleBinOutput
}

type RecycleBinMap

type RecycleBinMap map[string]RecycleBinInput

func (RecycleBinMap) ElementType

func (RecycleBinMap) ElementType() reflect.Type

func (RecycleBinMap) ToRecycleBinMapOutput

func (i RecycleBinMap) ToRecycleBinMapOutput() RecycleBinMapOutput

func (RecycleBinMap) ToRecycleBinMapOutputWithContext

func (i RecycleBinMap) ToRecycleBinMapOutputWithContext(ctx context.Context) RecycleBinMapOutput

type RecycleBinMapInput

type RecycleBinMapInput interface {
	pulumi.Input

	ToRecycleBinMapOutput() RecycleBinMapOutput
	ToRecycleBinMapOutputWithContext(context.Context) RecycleBinMapOutput
}

RecycleBinMapInput is an input type that accepts RecycleBinMap and RecycleBinMapOutput values. You can construct a concrete instance of `RecycleBinMapInput` via:

RecycleBinMap{ "key": RecycleBinArgs{...} }

type RecycleBinMapOutput

type RecycleBinMapOutput struct{ *pulumi.OutputState }

func (RecycleBinMapOutput) ElementType

func (RecycleBinMapOutput) ElementType() reflect.Type

func (RecycleBinMapOutput) MapIndex

func (RecycleBinMapOutput) ToRecycleBinMapOutput

func (o RecycleBinMapOutput) ToRecycleBinMapOutput() RecycleBinMapOutput

func (RecycleBinMapOutput) ToRecycleBinMapOutputWithContext

func (o RecycleBinMapOutput) ToRecycleBinMapOutputWithContext(ctx context.Context) RecycleBinMapOutput

type RecycleBinOutput

type RecycleBinOutput struct{ *pulumi.OutputState }

func (RecycleBinOutput) ElementType

func (RecycleBinOutput) ElementType() reflect.Type

func (RecycleBinOutput) FileSystemId

func (o RecycleBinOutput) FileSystemId() pulumi.StringOutput

The ID of the file system for which you want to enable the recycle bin feature.

func (RecycleBinOutput) ReservedDays

func (o RecycleBinOutput) ReservedDays() pulumi.IntOutput

The period for which the files in the recycle bin are retained. Unit: days. Valid values: `1` to `180`.

func (RecycleBinOutput) Status

The status of the recycle bin.

func (RecycleBinOutput) ToRecycleBinOutput

func (o RecycleBinOutput) ToRecycleBinOutput() RecycleBinOutput

func (RecycleBinOutput) ToRecycleBinOutputWithContext

func (o RecycleBinOutput) ToRecycleBinOutputWithContext(ctx context.Context) RecycleBinOutput

type RecycleBinState

type RecycleBinState struct {
	// The ID of the file system for which you want to enable the recycle bin feature.
	FileSystemId pulumi.StringPtrInput
	// The period for which the files in the recycle bin are retained. Unit: days. Valid values: `1` to `180`.
	ReservedDays pulumi.IntPtrInput
	// The status of the recycle bin.
	Status pulumi.StringPtrInput
}

func (RecycleBinState) ElementType

func (RecycleBinState) ElementType() reflect.Type

type Snapshot

type Snapshot struct {
	pulumi.CustomResourceState

	// The description of the snapshot. It must be `2` to `256` characters in length and cannot start with `https://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// The retention period of the snapshot. Unit: days. Valid values:
	// * `-1`: The default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntPtrOutput `pulumi:"retentionDays"`
	// SnapshotName. It must be `2` to `128` characters in length and must start with a letter, but cannot start with `https://` or `https://`.
	SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"`
	// The status of the snapshot.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a Network Attached Storage (NAS) Snapshot resource.

For information about Network Attached Storage (NAS) Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/doc-detail/126549.html).

> **NOTE:** Available in v1.152.0+.

> **NOTE:** Only Extreme NAS file systems support the snapshot feature.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/nas"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "testacc"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := nas.GetZones(ctx, &nas.GetZonesArgs{
			FileSystemType: pulumi.StringRef("extreme"),
		}, nil)
		if err != nil {
			return err
		}
		defaultFileSystem, err := nas.NewFileSystem(ctx, "defaultFileSystem", &nas.FileSystemArgs{
			FileSystemType: pulumi.String("extreme"),
			ProtocolType:   pulumi.String("NFS"),
			ZoneId:         pulumi.String(defaultZones.Zones[0].ZoneId),
			StorageType:    pulumi.String("standard"),
			Description:    pulumi.String(name),
			Capacity:       pulumi.Int(100),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewSnapshot(ctx, "defaultSnapshot", &nas.SnapshotArgs{
			FileSystemId:  defaultFileSystem.ID(),
			Description:   pulumi.String(name),
			RetentionDays: pulumi.Int(20),
			SnapshotName:  pulumi.String(name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Attached Storage (NAS) Snapshot can be imported using the id, e.g.

```sh

$ pulumi import alicloud:nas/snapshot:Snapshot example <id>

```

func GetSnapshot

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotState, opts ...pulumi.ResourceOption) (*Snapshot, error)

GetSnapshot gets an existing Snapshot 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 NewSnapshot

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOption) (*Snapshot, error)

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

func (*Snapshot) ElementType

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToSnapshotOutput

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext

func (i *Snapshot) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotArgs

type SnapshotArgs struct {
	// The description of the snapshot. It must be `2` to `256` characters in length and cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringInput
	// The retention period of the snapshot. Unit: days. Valid values:
	// * `-1`: The default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntPtrInput
	// SnapshotName. It must be `2` to `128` characters in length and must start with a letter, but cannot start with `https://` or `https://`.
	SnapshotName pulumi.StringPtrInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotArray

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToSnapshotArrayOutput

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext

func (i SnapshotArray) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotArrayInput

type SnapshotArrayInput interface {
	pulumi.Input

	ToSnapshotArrayOutput() SnapshotArrayOutput
	ToSnapshotArrayOutputWithContext(context.Context) SnapshotArrayOutput
}

SnapshotArrayInput is an input type that accepts SnapshotArray and SnapshotArrayOutput values. You can construct a concrete instance of `SnapshotArrayInput` via:

SnapshotArray{ SnapshotArgs{...} }

type SnapshotArrayOutput

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index

func (SnapshotArrayOutput) ToSnapshotArrayOutput

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext

func (o SnapshotArrayOutput) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotInput

type SnapshotInput interface {
	pulumi.Input

	ToSnapshotOutput() SnapshotOutput
	ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput
}

type SnapshotMap

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToSnapshotMapOutput

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext

func (i SnapshotMap) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotMapInput

type SnapshotMapInput interface {
	pulumi.Input

	ToSnapshotMapOutput() SnapshotMapOutput
	ToSnapshotMapOutputWithContext(context.Context) SnapshotMapOutput
}

SnapshotMapInput is an input type that accepts SnapshotMap and SnapshotMapOutput values. You can construct a concrete instance of `SnapshotMapInput` via:

SnapshotMap{ "key": SnapshotArgs{...} }

type SnapshotMapOutput

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex

func (SnapshotMapOutput) ToSnapshotMapOutput

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext

func (o SnapshotMapOutput) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotOutput

type SnapshotOutput struct{ *pulumi.OutputState }

func (SnapshotOutput) Description

func (o SnapshotOutput) Description() pulumi.StringPtrOutput

The description of the snapshot. It must be `2` to `256` characters in length and cannot start with `https://` or `https://`.

func (SnapshotOutput) ElementType

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) FileSystemId

func (o SnapshotOutput) FileSystemId() pulumi.StringOutput

The ID of the file system.

func (SnapshotOutput) RetentionDays

func (o SnapshotOutput) RetentionDays() pulumi.IntPtrOutput

The retention period of the snapshot. Unit: days. Valid values: * `-1`: The default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.

func (SnapshotOutput) SnapshotName

func (o SnapshotOutput) SnapshotName() pulumi.StringPtrOutput

SnapshotName. It must be `2` to `128` characters in length and must start with a letter, but cannot start with `https://` or `https://`.

func (SnapshotOutput) Status

func (o SnapshotOutput) Status() pulumi.StringOutput

The status of the snapshot.

func (SnapshotOutput) ToSnapshotOutput

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext

func (o SnapshotOutput) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotState

type SnapshotState struct {
	// The description of the snapshot. It must be `2` to `256` characters in length and cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The ID of the file system.
	FileSystemId pulumi.StringPtrInput
	// The retention period of the snapshot. Unit: days. Valid values:
	// * `-1`: The default value. Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.
	RetentionDays pulumi.IntPtrInput
	// SnapshotName. It must be `2` to `128` characters in length and must start with a letter, but cannot start with `https://` or `https://`.
	SnapshotName pulumi.StringPtrInput
	// The status of the snapshot.
	Status pulumi.StringPtrInput
}

func (SnapshotState) ElementType

func (SnapshotState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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