本文整理匯總了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
}
示例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
}
示例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
}
示例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
}
示例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
}
示例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)
}
示例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)
}