nas

package
v2.19.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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-alicloud/sdk/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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-alicloud/sdk/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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.

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 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), root_squash, all_squash.
	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-alicloud/sdk/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooAccessGroup, err := nas.NewAccessGroup(ctx, "fooAccessGroup", &nas.AccessGroupArgs{
			Type:        pulumi.String("Vpc"),
			Description: pulumi.String("tf-testAccNasConfig"),
		})
		if err != nil {
			return err
		}
		_, err = nas.NewAccessRule(ctx, "fooAccessRule", &nas.AccessRuleArgs{
			AccessGroupName: fooAccessGroup.ID(),
			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
	})
}

```

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.

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), root_squash, all_squash.
	UserAccessType pulumi.StringPtrInput
}

The set of arguments for constructing a AccessRule resource.

func (AccessRuleArgs) ElementType

func (AccessRuleArgs) ElementType() reflect.Type

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), root_squash, all_squash.
	UserAccessType pulumi.StringPtrInput
}

func (AccessRuleState) ElementType

func (AccessRuleState) ElementType() reflect.Type

type FileSystem

type FileSystem struct {
	pulumi.CustomResourceState

	// The File System description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Protocol Type of a File System. Valid values: `NFS` and `SMB`.
	ProtocolType pulumi.StringOutput `pulumi:"protocolType"`
	// The Storage Type of a File System. Valid values: `Capacity` and `Performance`.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
}

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-alicloud/sdk/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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.

type FileSystemArgs

type FileSystemArgs struct {
	// The File System description.
	Description pulumi.StringPtrInput
	// The Protocol Type of a File System. Valid values: `NFS` and `SMB`.
	ProtocolType pulumi.StringInput
	// The Storage Type of a File System. Valid values: `Capacity` and `Performance`.
	StorageType pulumi.StringInput
}

The set of arguments for constructing a FileSystem resource.

func (FileSystemArgs) ElementType

func (FileSystemArgs) ElementType() reflect.Type

type FileSystemState

type FileSystemState struct {
	// The File System description.
	Description pulumi.StringPtrInput
	// The Protocol Type of a File System. Valid values: `NFS` and `SMB`.
	ProtocolType pulumi.StringPtrInput
	// The Storage Type of a File System. Valid values: `Capacity` and `Performance`.
	StorageType pulumi.StringPtrInput
}

func (FileSystemState) ElementType

func (FileSystemState) 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 added in v2.16.0

func (o GetAccessGroupsGroupOutput) AccessGroupName() pulumi.StringOutput

The name of access group.

func (GetAccessGroupsGroupOutput) AccessGroupType added in v2.16.0

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 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/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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 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 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 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"`
	// Filter results by a specific ProtocolType.
	ProtocolType *string `pulumi:"protocolType"`
	// Filter results by a specific StorageType.
	StorageType *string `pulumi:"storageType"`
}

A collection of arguments for invoking getFileSystems.

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/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

type GetFileSystemsSystem

type GetFileSystemsSystem struct {
	// Time of creation.
	CreateTime string `pulumi:"createTime"`
	// Destription of the FileSystem.
	Description string `pulumi:"description"`
	// ID of the FileSystem.
	Id string `pulumi:"id"`
	// MeteredSize of the FileSystem.
	MeteredSize int `pulumi:"meteredSize"`
	// Filter results by a specific ProtocolType.
	ProtocolType string `pulumi:"protocolType"`
	// ID of the region where the FileSystem is located.
	RegionId string `pulumi:"regionId"`
	// Filter results by a specific StorageType.
	StorageType string `pulumi:"storageType"`
}

type GetFileSystemsSystemArgs

type GetFileSystemsSystemArgs struct {
	// Time of creation.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Destription of the FileSystem.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the FileSystem.
	Id pulumi.StringInput `pulumi:"id"`
	// MeteredSize of the FileSystem.
	MeteredSize pulumi.IntInput `pulumi:"meteredSize"`
	// Filter results by a specific ProtocolType.
	ProtocolType pulumi.StringInput `pulumi:"protocolType"`
	// ID of the region where the FileSystem is located.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Filter results by a specific StorageType.
	StorageType pulumi.StringInput `pulumi:"storageType"`
}

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

Time of creation.

func (GetFileSystemsSystemOutput) Description

Destription of the FileSystem.

func (GetFileSystemsSystemOutput) ElementType

func (GetFileSystemsSystemOutput) ElementType() reflect.Type

func (GetFileSystemsSystemOutput) Id

ID of the FileSystem.

func (GetFileSystemsSystemOutput) MeteredSize

MeteredSize of the FileSystem.

func (GetFileSystemsSystemOutput) ProtocolType

Filter results by a specific ProtocolType.

func (GetFileSystemsSystemOutput) RegionId

ID of the region where the FileSystem is located.

func (GetFileSystemsSystemOutput) StorageType

Filter results by a specific StorageType.

func (GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutput

func (o GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutput() GetFileSystemsSystemOutput

func (GetFileSystemsSystemOutput) ToGetFileSystemsSystemOutputWithContext

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

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 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/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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 added in v2.16.0

Filter results by a specific NetworkType.

func (GetMountTargetsTargetOutput) Status added in v2.16.0

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 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/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

type GetServiceArgs added in v2.18.0

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

A collection of arguments for invoking getService.

type GetServiceResult added in v2.18.0

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 added in v2.18.0

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/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

type MountTarget

type MountTarget struct {
	pulumi.CustomResourceState

	// The name of the permission group that applies to the mount target.
	AccessGroupName pulumi.StringOutput `pulumi:"accessGroupName"`
	// The ID of the file system.
	FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"`
	// 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-alicloud/sdk/v2/go/alicloud/nas"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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.

type MountTargetArgs

type MountTargetArgs struct {
	// The name of the permission group that applies to the mount target.
	AccessGroupName pulumi.StringInput
	// 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 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 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

Jump to

Keyboard shortcuts

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