volumes

package
v0.20230622.1085613 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2023 License: MPL-2.0 Imports: 10 Imported by: 0

README

github.com/hashicorp/go-azure-sdk/resource-manager/netapp/2021-10-01/volumes Documentation

The volumes SDK allows for interaction with the Azure Resource Manager Service netapp (API Version 2021-10-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/netapp/2021-10-01/volumes"

Client Initialization

client := volumes.NewVolumesClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: VolumesClient.CreateOrUpdate

ctx := context.TODO()
id := volumes.NewVolumeID("12345678-1234-9876-4563-123456789012", "example-resource-group", "netAppAccountValue", "capacityPoolValue", "volumeValue")

payload := volumes.Volume{
	// ...
}


if err := client.CreateOrUpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: VolumesClient.Delete

ctx := context.TODO()
id := volumes.NewVolumeID("12345678-1234-9876-4563-123456789012", "example-resource-group", "netAppAccountValue", "capacityPoolValue", "volumeValue")

if err := client.DeleteThenPoll(ctx, id, volumes.DefaultDeleteOperationOptions()); err != nil {
	// handle the error
}

Example Usage: VolumesClient.Get

ctx := context.TODO()
id := volumes.NewVolumeID("12345678-1234-9876-4563-123456789012", "example-resource-group", "netAppAccountValue", "capacityPoolValue", "volumeValue")

read, err := client.Get(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: VolumesClient.List

ctx := context.TODO()
id := volumes.NewCapacityPoolID("12345678-1234-9876-4563-123456789012", "example-resource-group", "netAppAccountValue", "capacityPoolValue")

// alternatively `client.List(ctx, id)` can be used to do batched pagination
items, err := client.ListComplete(ctx, id)
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: VolumesClient.Update

ctx := context.TODO()
id := volumes.NewVolumeID("12345678-1234-9876-4563-123456789012", "example-resource-group", "netAppAccountValue", "capacityPoolValue", "volumeValue")

payload := volumes.VolumePatch{
	// ...
}


if err := client.UpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForAvsDataStore

func PossibleValuesForAvsDataStore() []string

func PossibleValuesForChownMode

func PossibleValuesForChownMode() []string

func PossibleValuesForEnableSubvolumes

func PossibleValuesForEnableSubvolumes() []string

func PossibleValuesForEndpointType

func PossibleValuesForEndpointType() []string

func PossibleValuesForNetworkFeatures

func PossibleValuesForNetworkFeatures() []string

func PossibleValuesForReplicationSchedule

func PossibleValuesForReplicationSchedule() []string

func PossibleValuesForSecurityStyle

func PossibleValuesForSecurityStyle() []string

func PossibleValuesForServiceLevel

func PossibleValuesForServiceLevel() []string

func PossibleValuesForVolumeStorageToNetworkProximity

func PossibleValuesForVolumeStorageToNetworkProximity() []string

func ValidateCapacityPoolID

func ValidateCapacityPoolID(input interface{}, key string) (warnings []string, errors []error)

ValidateCapacityPoolID checks that 'input' can be parsed as a Capacity Pool ID

func ValidateVolumeID

func ValidateVolumeID(input interface{}, key string) (warnings []string, errors []error)

ValidateVolumeID checks that 'input' can be parsed as a Volume ID

Types

type AvsDataStore

type AvsDataStore string
const (
	AvsDataStoreDisabled AvsDataStore = "Disabled"
	AvsDataStoreEnabled  AvsDataStore = "Enabled"
)

type CapacityPoolId

type CapacityPoolId struct {
	SubscriptionId    string
	ResourceGroupName string
	NetAppAccountName string
	CapacityPoolName  string
}

CapacityPoolId is a struct representing the Resource ID for a Capacity Pool

func NewCapacityPoolID

func NewCapacityPoolID(subscriptionId string, resourceGroupName string, netAppAccountName string, capacityPoolName string) CapacityPoolId

NewCapacityPoolID returns a new CapacityPoolId struct

func ParseCapacityPoolID

func ParseCapacityPoolID(input string) (*CapacityPoolId, error)

ParseCapacityPoolID parses 'input' into a CapacityPoolId

func ParseCapacityPoolIDInsensitively

func ParseCapacityPoolIDInsensitively(input string) (*CapacityPoolId, error)

ParseCapacityPoolIDInsensitively parses 'input' case-insensitively into a CapacityPoolId note: this method should only be used for API response data and not user input

func (CapacityPoolId) ID

func (id CapacityPoolId) ID() string

ID returns the formatted Capacity Pool ID

func (CapacityPoolId) Segments

func (id CapacityPoolId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Capacity Pool ID

func (CapacityPoolId) String

func (id CapacityPoolId) String() string

String returns a human-readable description of this Capacity Pool ID

type ChownMode

type ChownMode string
const (
	ChownModeRestricted   ChownMode = "Restricted"
	ChownModeUnrestricted ChownMode = "Unrestricted"
)

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type DeleteOperationOptions

type DeleteOperationOptions struct {
	ForceDelete *bool
}

func DefaultDeleteOperationOptions

func DefaultDeleteOperationOptions() DeleteOperationOptions

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type EnableSubvolumes

type EnableSubvolumes string
const (
	EnableSubvolumesDisabled EnableSubvolumes = "Disabled"
	EnableSubvolumesEnabled  EnableSubvolumes = "Enabled"
)

type EndpointType

type EndpointType string
const (
	EndpointTypeDst EndpointType = "dst"
	EndpointTypeSrc EndpointType = "src"
)

type ExportPolicyRule

type ExportPolicyRule struct {
	AllowedClients      *string    `json:"allowedClients,omitempty"`
	ChownMode           *ChownMode `json:"chownMode,omitempty"`
	Cifs                *bool      `json:"cifs,omitempty"`
	HasRootAccess       *bool      `json:"hasRootAccess,omitempty"`
	Kerberos5ReadOnly   *bool      `json:"kerberos5ReadOnly,omitempty"`
	Kerberos5ReadWrite  *bool      `json:"kerberos5ReadWrite,omitempty"`
	Kerberos5iReadOnly  *bool      `json:"kerberos5iReadOnly,omitempty"`
	Kerberos5iReadWrite *bool      `json:"kerberos5iReadWrite,omitempty"`
	Kerberos5pReadOnly  *bool      `json:"kerberos5pReadOnly,omitempty"`
	Kerberos5pReadWrite *bool      `json:"kerberos5pReadWrite,omitempty"`
	Nfsv3               *bool      `json:"nfsv3,omitempty"`
	Nfsv41              *bool      `json:"nfsv41,omitempty"`
	RuleIndex           *int64     `json:"ruleIndex,omitempty"`
	UnixReadOnly        *bool      `json:"unixReadOnly,omitempty"`
	UnixReadWrite       *bool      `json:"unixReadWrite,omitempty"`
}

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	Model        *Volume
}

type ListCompleteResult

type ListCompleteResult struct {
	Items []Volume
}

type ListOperationResponse

type ListOperationResponse struct {
	HttpResponse *http.Response
	Model        *[]Volume
	// contains filtered or unexported fields
}

func (ListOperationResponse) HasMore

func (r ListOperationResponse) HasMore() bool

func (ListOperationResponse) LoadMore

func (r ListOperationResponse) LoadMore(ctx context.Context) (resp ListOperationResponse, err error)

type MountTargetProperties

type MountTargetProperties struct {
	FileSystemId  string  `json:"fileSystemId"`
	IPAddress     *string `json:"ipAddress,omitempty"`
	MountTargetId *string `json:"mountTargetId,omitempty"`
	SmbServerFqdn *string `json:"smbServerFqdn,omitempty"`
}

type NetworkFeatures

type NetworkFeatures string
const (
	NetworkFeaturesBasic    NetworkFeatures = "Basic"
	NetworkFeaturesStandard NetworkFeatures = "Standard"
)

type PlacementKeyValuePairs

type PlacementKeyValuePairs struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type ReplicationObject

type ReplicationObject struct {
	EndpointType           *EndpointType        `json:"endpointType,omitempty"`
	RemoteVolumeRegion     *string              `json:"remoteVolumeRegion,omitempty"`
	RemoteVolumeResourceId string               `json:"remoteVolumeResourceId"`
	ReplicationId          *string              `json:"replicationId,omitempty"`
	ReplicationSchedule    *ReplicationSchedule `json:"replicationSchedule,omitempty"`
}

type ReplicationSchedule

type ReplicationSchedule string
const (
	ReplicationScheduleDaily           ReplicationSchedule = "daily"
	ReplicationScheduleHourly          ReplicationSchedule = "hourly"
	ReplicationScheduleOneZerominutely ReplicationSchedule = "_10minutely"
)

type SecurityStyle

type SecurityStyle string
const (
	SecurityStyleNtfs SecurityStyle = "ntfs"
	SecurityStyleUnix SecurityStyle = "unix"
)

type ServiceLevel

type ServiceLevel string
const (
	ServiceLevelPremium     ServiceLevel = "Premium"
	ServiceLevelStandard    ServiceLevel = "Standard"
	ServiceLevelStandardZRS ServiceLevel = "StandardZRS"
	ServiceLevelUltra       ServiceLevel = "Ultra"
)

type UpdateOperationResponse

type UpdateOperationResponse struct {
	Poller       polling.LongRunningPoller
	HttpResponse *http.Response
}

type Volume

type Volume struct {
	Etag       *string                `json:"etag,omitempty"`
	Id         *string                `json:"id,omitempty"`
	Location   string                 `json:"location"`
	Name       *string                `json:"name,omitempty"`
	Properties VolumeProperties       `json:"properties"`
	SystemData *systemdata.SystemData `json:"systemData,omitempty"`
	Tags       *map[string]string     `json:"tags,omitempty"`
	Type       *string                `json:"type,omitempty"`
}

type VolumeBackupProperties

type VolumeBackupProperties struct {
	BackupEnabled  *bool   `json:"backupEnabled,omitempty"`
	BackupPolicyId *string `json:"backupPolicyId,omitempty"`
	PolicyEnforced *bool   `json:"policyEnforced,omitempty"`
	VaultId        *string `json:"vaultId,omitempty"`
}

type VolumeId

type VolumeId struct {
	SubscriptionId    string
	ResourceGroupName string
	NetAppAccountName string
	CapacityPoolName  string
	VolumeName        string
}

VolumeId is a struct representing the Resource ID for a Volume

func NewVolumeID

func NewVolumeID(subscriptionId string, resourceGroupName string, netAppAccountName string, capacityPoolName string, volumeName string) VolumeId

NewVolumeID returns a new VolumeId struct

func ParseVolumeID

func ParseVolumeID(input string) (*VolumeId, error)

ParseVolumeID parses 'input' into a VolumeId

func ParseVolumeIDInsensitively

func ParseVolumeIDInsensitively(input string) (*VolumeId, error)

ParseVolumeIDInsensitively parses 'input' case-insensitively into a VolumeId note: this method should only be used for API response data and not user input

func (VolumeId) ID

func (id VolumeId) ID() string

ID returns the formatted Volume ID

func (VolumeId) Segments

func (id VolumeId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Volume ID

func (VolumeId) String

func (id VolumeId) String() string

String returns a human-readable description of this Volume ID

type VolumeOperationPredicate

type VolumeOperationPredicate struct {
	Etag     *string
	Id       *string
	Location *string
	Name     *string
	Type     *string
}

func (VolumeOperationPredicate) Matches

func (p VolumeOperationPredicate) Matches(input Volume) bool

type VolumePatch

type VolumePatch struct {
	Id         *string                `json:"id,omitempty"`
	Location   *string                `json:"location,omitempty"`
	Name       *string                `json:"name,omitempty"`
	Properties *VolumePatchProperties `json:"properties,omitempty"`
	Tags       *map[string]string     `json:"tags,omitempty"`
	Type       *string                `json:"type,omitempty"`
}

type VolumePatchProperties

type VolumePatchProperties struct {
	DataProtection          *VolumePatchPropertiesDataProtection `json:"dataProtection,omitempty"`
	DefaultGroupQuotaInKiBs *int64                               `json:"defaultGroupQuotaInKiBs,omitempty"`
	DefaultUserQuotaInKiBs  *int64                               `json:"defaultUserQuotaInKiBs,omitempty"`
	ExportPolicy            *VolumePatchPropertiesExportPolicy   `json:"exportPolicy,omitempty"`
	IsDefaultQuotaEnabled   *bool                                `json:"isDefaultQuotaEnabled,omitempty"`
	ServiceLevel            *ServiceLevel                        `json:"serviceLevel,omitempty"`
	ThroughputMibps         *float64                             `json:"throughputMibps,omitempty"`
	UnixPermissions         *string                              `json:"unixPermissions,omitempty"`
	UsageThreshold          *int64                               `json:"usageThreshold,omitempty"`
}

type VolumePatchPropertiesDataProtection

type VolumePatchPropertiesDataProtection struct {
	Backup   *VolumeBackupProperties   `json:"backup,omitempty"`
	Snapshot *VolumeSnapshotProperties `json:"snapshot,omitempty"`
}

type VolumePatchPropertiesExportPolicy

type VolumePatchPropertiesExportPolicy struct {
	Rules *[]ExportPolicyRule `json:"rules,omitempty"`
}

type VolumeProperties

type VolumeProperties struct {
	AvsDataStore              *AvsDataStore                    `json:"avsDataStore,omitempty"`
	BackupId                  *string                          `json:"backupId,omitempty"`
	BaremetalTenantId         *string                          `json:"baremetalTenantId,omitempty"`
	CapacityPoolResourceId    *string                          `json:"capacityPoolResourceId,omitempty"`
	CloneProgress             *int64                           `json:"cloneProgress,omitempty"`
	CoolAccess                *bool                            `json:"coolAccess,omitempty"`
	CoolnessPeriod            *int64                           `json:"coolnessPeriod,omitempty"`
	CreationToken             string                           `json:"creationToken"`
	DataProtection            *VolumePropertiesDataProtection  `json:"dataProtection,omitempty"`
	DefaultGroupQuotaInKiBs   *int64                           `json:"defaultGroupQuotaInKiBs,omitempty"`
	DefaultUserQuotaInKiBs    *int64                           `json:"defaultUserQuotaInKiBs,omitempty"`
	EnableSubvolumes          *EnableSubvolumes                `json:"enableSubvolumes,omitempty"`
	EncryptionKeySource       *string                          `json:"encryptionKeySource,omitempty"`
	ExportPolicy              *VolumePropertiesExportPolicy    `json:"exportPolicy,omitempty"`
	FileSystemId              *string                          `json:"fileSystemId,omitempty"`
	IsDefaultQuotaEnabled     *bool                            `json:"isDefaultQuotaEnabled,omitempty"`
	IsRestoring               *bool                            `json:"isRestoring,omitempty"`
	KerberosEnabled           *bool                            `json:"kerberosEnabled,omitempty"`
	LdapEnabled               *bool                            `json:"ldapEnabled,omitempty"`
	MaximumNumberOfFiles      *int64                           `json:"maximumNumberOfFiles,omitempty"`
	MountTargets              *[]MountTargetProperties         `json:"mountTargets,omitempty"`
	NetworkFeatures           *NetworkFeatures                 `json:"networkFeatures,omitempty"`
	NetworkSiblingSetId       *string                          `json:"networkSiblingSetId,omitempty"`
	PlacementRules            *[]PlacementKeyValuePairs        `json:"placementRules,omitempty"`
	ProtocolTypes             *[]string                        `json:"protocolTypes,omitempty"`
	ProvisioningState         *string                          `json:"provisioningState,omitempty"`
	ProximityPlacementGroup   *string                          `json:"proximityPlacementGroup,omitempty"`
	SecurityStyle             *SecurityStyle                   `json:"securityStyle,omitempty"`
	ServiceLevel              *ServiceLevel                    `json:"serviceLevel,omitempty"`
	SmbContinuouslyAvailable  *bool                            `json:"smbContinuouslyAvailable,omitempty"`
	SmbEncryption             *bool                            `json:"smbEncryption,omitempty"`
	SnapshotDirectoryVisible  *bool                            `json:"snapshotDirectoryVisible,omitempty"`
	SnapshotId                *string                          `json:"snapshotId,omitempty"`
	StorageToNetworkProximity *VolumeStorageToNetworkProximity `json:"storageToNetworkProximity,omitempty"`
	SubnetId                  string                           `json:"subnetId"`
	T2Network                 *string                          `json:"t2Network,omitempty"`
	ThroughputMibps           *float64                         `json:"throughputMibps,omitempty"`
	UnixPermissions           *string                          `json:"unixPermissions,omitempty"`
	UsageThreshold            int64                            `json:"usageThreshold"`
	VolumeGroupName           *string                          `json:"volumeGroupName,omitempty"`
	VolumeSpecName            *string                          `json:"volumeSpecName,omitempty"`
	VolumeType                *string                          `json:"volumeType,omitempty"`
}

type VolumePropertiesDataProtection

type VolumePropertiesDataProtection struct {
	Backup      *VolumeBackupProperties   `json:"backup,omitempty"`
	Replication *ReplicationObject        `json:"replication,omitempty"`
	Snapshot    *VolumeSnapshotProperties `json:"snapshot,omitempty"`
}

type VolumePropertiesExportPolicy

type VolumePropertiesExportPolicy struct {
	Rules *[]ExportPolicyRule `json:"rules,omitempty"`
}

type VolumeSnapshotProperties

type VolumeSnapshotProperties struct {
	SnapshotPolicyId *string `json:"snapshotPolicyId,omitempty"`
}

type VolumeStorageToNetworkProximity

type VolumeStorageToNetworkProximity string
const (
	VolumeStorageToNetworkProximityDefault VolumeStorageToNetworkProximity = "Default"
	VolumeStorageToNetworkProximityTOne    VolumeStorageToNetworkProximity = "T1"
	VolumeStorageToNetworkProximityTTwo    VolumeStorageToNetworkProximity = "T2"
)

type VolumesClient

type VolumesClient struct {
	Client autorest.Client
	// contains filtered or unexported fields
}

func NewVolumesClientWithBaseURI

func NewVolumesClientWithBaseURI(endpoint string) VolumesClient

func (VolumesClient) CreateOrUpdate

func (c VolumesClient) CreateOrUpdate(ctx context.Context, id VolumeId, input Volume) (result CreateOrUpdateOperationResponse, err error)

CreateOrUpdate ...

func (VolumesClient) CreateOrUpdateThenPoll

func (c VolumesClient) CreateOrUpdateThenPoll(ctx context.Context, id VolumeId, input Volume) error

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (VolumesClient) Delete

Delete ...

func (VolumesClient) DeleteThenPoll

func (c VolumesClient) DeleteThenPoll(ctx context.Context, id VolumeId, options DeleteOperationOptions) error

DeleteThenPoll performs Delete then polls until it's completed

func (VolumesClient) Get

func (c VolumesClient) Get(ctx context.Context, id VolumeId) (result GetOperationResponse, err error)

Get ...

func (VolumesClient) List

List ...

func (VolumesClient) ListComplete

ListComplete retrieves all of the results into a single object

func (VolumesClient) ListCompleteMatchingPredicate

func (c VolumesClient) ListCompleteMatchingPredicate(ctx context.Context, id CapacityPoolId, predicate VolumeOperationPredicate) (resp ListCompleteResult, err error)

ListCompleteMatchingPredicate retrieves all of the results and then applied the predicate

func (VolumesClient) Update

func (c VolumesClient) Update(ctx context.Context, id VolumeId, input VolumePatch) (result UpdateOperationResponse, err error)

Update ...

func (VolumesClient) UpdateThenPoll

func (c VolumesClient) UpdateThenPoll(ctx context.Context, id VolumeId, input VolumePatch) error

UpdateThenPoll performs Update then polls until it's completed

Jump to

Keyboard shortcuts

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