當前位置: 首頁>>代碼示例>>Golang>>正文


Golang efs.EFS類代碼示例

本文整理匯總了Golang中github.com/aws/aws-sdk-go/service/efs.EFS的典型用法代碼示例。如果您正苦於以下問題:Golang EFS類的具體用法?Golang EFS怎麽用?Golang EFS使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了EFS類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: CreateFilesystem

// Helper function to create an EFS Filesystem.
func CreateFilesystem(e *efs.EFS, n string) (*efs.FileSystemDescription, error) {
	createParams := &efs.CreateFileSystemInput{
		CreationToken: aws.String(n),
	}
	createResp, err := e.CreateFileSystem(createParams)
	if err != nil {
		return nil, err
	}

	// Wait for the filesystem to become available.
	for {
		fs, err := DescribeFilesystem(e, n)
		if err != nil {
			return nil, err
		}
		if len(fs.FileSystems) > 0 {
			if *fs.FileSystems[0].LifeCycleState == efsAvail {
				break
			}
		}
		time.Sleep(10 * time.Second)
	}

	return createResp, nil
}
開發者ID:nickschuch,項目名稱:docker-volume-efs,代碼行數:26,代碼來源:efs.go

示例2: getFileSystemLifeCycleState

func (d *driver) getFileSystemLifeCycleState(
	svc *awsefs.EFS,
	fileSystemID string) (string, error) {

	resp, err := svc.DescribeFileSystems(
		&awsefs.DescribeFileSystemsInput{
			FileSystemId: aws.String(fileSystemID)})
	if err != nil {
		return "", err
	}

	fileSystem := resp.FileSystems[0]
	return *fileSystem.LifeCycleState, nil
}
開發者ID:emccode,項目名稱:libstorage,代碼行數:14,代碼來源:efs_storage.go

示例3: getAllFileSystems

// Retrieve all filesystems with tags from AWS API. This is very expensive
// operation as it issues AWS SDK call per filesystem to retrieve tags.
func (d *driver) getAllFileSystems(
	svc *awsefs.EFS) (filesystems []*awsefs.FileSystemDescription, err error) {

	resp, err := svc.DescribeFileSystems(&awsefs.DescribeFileSystemsInput{})
	if err != nil {
		return nil, err
	}
	filesystems = append(filesystems, resp.FileSystems...)

	for resp.NextMarker != nil {
		resp, err = svc.DescribeFileSystems(&awsefs.DescribeFileSystemsInput{
			Marker: resp.NextMarker,
		})
		if err != nil {
			return nil, err
		}
		filesystems = append(filesystems, resp.FileSystems...)
	}

	return filesystems, nil
}
開發者ID:emccode,項目名稱:libstorage,代碼行數:23,代碼來源:efs_storage.go

示例4: CreateMountTarget

// Helper function to create an EFS Mount target.
func CreateMountTarget(e *efs.EFS, i string, s string) (*efs.MountTargetDescription, error) {
	var security []*string

	// Determine if we need to assign a security group to this mount point, otherwise defer
	// to the default group.
	if *cliSecurity != "" {
		security = []*string{
			cliSecurity,
		}
	}

	params := &efs.CreateMountTargetInput{
		FileSystemId:   aws.String(i),
		SubnetId:       aws.String(s),
		SecurityGroups: security,
	}
	resp, err := e.CreateMountTarget(params)
	if err != nil {
		return nil, err
	}

	// Wait for the mount point to become available.
	for {
		mnt, err := DescribeMountTarget(e, i)
		if err != nil {
			return nil, err
		}
		if len(mnt.MountTargets) > 0 {
			if *mnt.MountTargets[0].LifeCycleState == efsAvail {
				break
			}
		}
		time.Sleep(10 * time.Second)
	}

	return resp, nil
}
開發者ID:nickschuch,項目名稱:docker-volume-efs,代碼行數:38,代碼來源:efs.go

示例5: setTagsEFS

// setTags is a helper to set the tags for a resource. It expects the
// tags field to be named "tags"
func setTagsEFS(conn *efs.EFS, d *schema.ResourceData) error {
	if d.HasChange("tags") {
		oraw, nraw := d.GetChange("tags")
		o := oraw.(map[string]interface{})
		n := nraw.(map[string]interface{})
		create, remove := diffTagsEFS(tagsFromMapEFS(o), tagsFromMapEFS(n))

		// Set tags
		if len(remove) > 0 {
			log.Printf("[DEBUG] Removing tags: %#v", remove)
			k := make([]*string, 0, len(remove))
			for _, t := range remove {
				k = append(k, t.Key)
			}
			_, err := conn.DeleteTags(&efs.DeleteTagsInput{
				FileSystemId: aws.String(d.Id()),
				TagKeys:      k,
			})
			if err != nil {
				return err
			}
		}
		if len(create) > 0 {
			log.Printf("[DEBUG] Creating tags: %#v", create)
			_, err := conn.CreateTags(&efs.CreateTagsInput{
				FileSystemId: aws.String(d.Id()),
				Tags:         create,
			})
			if err != nil {
				return err
			}
		}
	}

	return nil
}
開發者ID:AssertSelenium,項目名稱:terraform,代碼行數:38,代碼來源:tagsEFS.go

示例6: DescribeFilesystem

// Helper function to describe EFS Filesystems.
func DescribeFilesystem(e *efs.EFS, n string) (*efs.DescribeFileSystemsOutput, error) {
	params := &efs.DescribeFileSystemsInput{
		CreationToken: aws.String(n),
	}
	return e.DescribeFileSystems(params)
}
開發者ID:nickschuch,項目名稱:docker-volume-efs,代碼行數:7,代碼來源:efs.go

示例7: DescribeMountTarget

// Helper function to describe an EFS Mount target.
func DescribeMountTarget(e *efs.EFS, i string) (*efs.DescribeMountTargetsOutput, error) {
	params := &efs.DescribeMountTargetsInput{
		FileSystemId: aws.String(i),
	}
	return e.DescribeMountTargets(params)
}
開發者ID:nickschuch,項目名稱:docker-volume-efs,代碼行數:7,代碼來源:efs.go


注:本文中的github.com/aws/aws-sdk-go/service/efs.EFS類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。