Documentation ¶
Index ¶
- Constants
- type AccountPermissions
- type AccountResourceTypes
- type AccountSignatureValues
- type IPEndpointStyleInfo
- type IPRange
- type Protocol
- type QueryParameters
- func (p *QueryParameters) AuthorizedObjectID() string
- func (p *QueryParameters) CacheControl() string
- func (p *QueryParameters) ContentDisposition() string
- func (p *QueryParameters) ContentEncoding() string
- func (p *QueryParameters) ContentLanguage() string
- func (p *QueryParameters) ContentType() string
- func (p *QueryParameters) Encode() string
- func (p *QueryParameters) ExpiryTime() time.Time
- func (p *QueryParameters) IPRange() IPRange
- func (p *QueryParameters) Identifier() string
- func (p *QueryParameters) Permissions() string
- func (p *QueryParameters) Protocol() Protocol
- func (p *QueryParameters) Resource() string
- func (p *QueryParameters) ResourceTypes() string
- func (p *QueryParameters) Services() string
- func (p *QueryParameters) Signature() string
- func (p *QueryParameters) SignedCorrelationID() string
- func (p *QueryParameters) SignedDirectoryDepth() string
- func (p *QueryParameters) SignedExpiry() time.Time
- func (p *QueryParameters) SignedOID() string
- func (p *QueryParameters) SignedService() string
- func (p *QueryParameters) SignedStart() time.Time
- func (p *QueryParameters) SignedTID() string
- func (p *QueryParameters) SignedVersion() string
- func (p *QueryParameters) SnapshotTime() time.Time
- func (p *QueryParameters) StartTime() time.Time
- func (p *QueryParameters) UnauthorizedObjectID() string
- func (p *QueryParameters) Version() string
- type QueuePermissions
- type QueueSignatureValues
- type SharedKeyCredential
- type URLParts
Constants ¶
const (
// Version is the default version encoded in the SAS token.
Version = "2020-02-10"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountPermissions ¶
type AccountPermissions struct {
Read, Write, Delete, DeletePreviousVersion, PermanentDelete, List, Add, Create, Update, Process, Tag, FilterByTags, SetImmutabilityPolicy bool
}
AccountPermissions type simplifies creating the permissions string for an Azure Storage Account SAS. Initialize an instance of this type and then call its String method to set AccountSignatureValues' Permissions field.
func (*AccountPermissions) String ¶
func (p *AccountPermissions) String() string
String produces the SAS permissions string for an Azure Storage account. Call this method to set AccountSignatureValues' Permissions field.
type AccountResourceTypes ¶
type AccountResourceTypes struct {
Service, Container, Object bool
}
AccountResourceTypes type simplifies creating the resource types string for an Azure Storage Account SAS. Initialize an instance of this type and then call its String method to set AccountSignatureValues' ResourceTypes field.
func (*AccountResourceTypes) String ¶
func (rt *AccountResourceTypes) String() string
String produces the SAS resource types string for an Azure Storage account. Call this method to set AccountSignatureValues' ResourceTypes field.
type AccountSignatureValues ¶
type AccountSignatureValues struct { Version string `param:"sv"` // If not specified, this format to SASVersion Protocol Protocol `param:"spr"` // See the SASProtocol* constants StartTime time.Time `param:"st"` // Not specified if IsZero ExpiryTime time.Time `param:"se"` // Not specified if IsZero Permissions string `param:"sp"` // Create by initializing a AccountPermissions and then call String() IPRange IPRange `param:"sip"` ResourceTypes string `param:"srt"` // Create by initializing AccountResourceTypes and then call String() }
AccountSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. For more information, see https://docs.microsoft.com/rest/api/storageservices/constructing-an-account-sas
func (AccountSignatureValues) SignWithSharedKey ¶
func (v AccountSignatureValues) SignWithSharedKey(sharedKeyCredential *SharedKeyCredential) (QueryParameters, error)
SignWithSharedKey uses an account's shared key credential to sign this signature values to produce the proper SAS query parameters.
type IPEndpointStyleInfo ¶
type IPEndpointStyleInfo struct {
AccountName string // "" if not using IP endpoint style
}
IPEndpointStyleInfo is used for IP endpoint style URL when working with Azure storage emulator. Ex: "https://10.132.141.33/accountname/queuename"
type IPRange ¶
type IPRange struct { Start net.IP // Not specified if length = 0 End net.IP // Not specified if length = 0 }
IPRange represents a SAS IP range's start IP and (optionally) end IP.
type QueryParameters ¶
type QueryParameters struct {
// contains filtered or unexported fields
}
QueryParameters object represents the components that make up an Azure Storage SAS' query parameters. You parse a map of query parameters into its fields by calling newQueryParameters(). You add the components to a query parameter map by calling AddToValues(). NOTE: Changing any field requires computing a new SAS signature using a XxxSASSignatureValues type. This type defines the components used by all Azure Storage resources (Containers, Blobs, Files, & Queues).
func NewQueryParameters ¶
func NewQueryParameters(values url.Values) QueryParameters
NewQueryParameters creates and initializes a QueryParameters object based on the query parameter map's passed-in values. If a key is unrecognized, it is ignored
func (*QueryParameters) AuthorizedObjectID ¶
func (p *QueryParameters) AuthorizedObjectID() string
AuthorizedObjectID returns authorizedObjectID
func (*QueryParameters) CacheControl ¶
func (p *QueryParameters) CacheControl() string
CacheControl returns cacheControl
func (*QueryParameters) ContentDisposition ¶
func (p *QueryParameters) ContentDisposition() string
ContentDisposition returns contentDisposition
func (*QueryParameters) ContentEncoding ¶
func (p *QueryParameters) ContentEncoding() string
ContentEncoding returns contentEncoding
func (*QueryParameters) ContentLanguage ¶
func (p *QueryParameters) ContentLanguage() string
ContentLanguage returns contentLanguage
func (*QueryParameters) ContentType ¶
func (p *QueryParameters) ContentType() string
ContentType returns sontentType
func (*QueryParameters) Encode ¶
func (p *QueryParameters) Encode() string
Encode encodes the SAS query parameters into URL encoded form sorted by key.
func (*QueryParameters) ExpiryTime ¶
func (p *QueryParameters) ExpiryTime() time.Time
ExpiryTime returns expiryTime
func (*QueryParameters) IPRange ¶
func (p *QueryParameters) IPRange() IPRange
IPRange returns ipRange
func (*QueryParameters) Identifier ¶
func (p *QueryParameters) Identifier() string
Identifier returns identifier
func (*QueryParameters) Permissions ¶
func (p *QueryParameters) Permissions() string
Permissions returns permissions
func (*QueryParameters) Protocol ¶
func (p *QueryParameters) Protocol() Protocol
Protocol returns protocol
func (*QueryParameters) Resource ¶
func (p *QueryParameters) Resource() string
Resource returns resource
func (*QueryParameters) ResourceTypes ¶
func (p *QueryParameters) ResourceTypes() string
ResourceTypes returns resourceTypes
func (*QueryParameters) Services ¶
func (p *QueryParameters) Services() string
Services returns services
func (*QueryParameters) Signature ¶
func (p *QueryParameters) Signature() string
Signature returns signature
func (*QueryParameters) SignedCorrelationID ¶
func (p *QueryParameters) SignedCorrelationID() string
SignedCorrelationID returns signedCorrelationID
func (*QueryParameters) SignedDirectoryDepth ¶
func (p *QueryParameters) SignedDirectoryDepth() string
SignedDirectoryDepth returns signedDirectoryDepth
func (*QueryParameters) SignedExpiry ¶
func (p *QueryParameters) SignedExpiry() time.Time
SignedExpiry returns signedExpiry
func (*QueryParameters) SignedOID ¶
func (p *QueryParameters) SignedOID() string
SignedOID returns signedOID
func (*QueryParameters) SignedService ¶
func (p *QueryParameters) SignedService() string
SignedService returns signedService
func (*QueryParameters) SignedStart ¶
func (p *QueryParameters) SignedStart() time.Time
SignedStart returns signedStart
func (*QueryParameters) SignedTID ¶
func (p *QueryParameters) SignedTID() string
SignedTID returns signedTID
func (*QueryParameters) SignedVersion ¶
func (p *QueryParameters) SignedVersion() string
SignedVersion returns signedVersion
func (*QueryParameters) SnapshotTime ¶
func (p *QueryParameters) SnapshotTime() time.Time
SnapshotTime returns snapshotTime
func (*QueryParameters) StartTime ¶
func (p *QueryParameters) StartTime() time.Time
StartTime returns startTime
func (*QueryParameters) UnauthorizedObjectID ¶
func (p *QueryParameters) UnauthorizedObjectID() string
UnauthorizedObjectID returns unauthorizedObjectID
func (*QueryParameters) Version ¶
func (p *QueryParameters) Version() string
Version returns version
type QueuePermissions ¶
type QueuePermissions struct {
Read, Add, Update, Process bool
}
QueuePermissions type simplifies creating the permissions string for an Azure Storage Queue SAS. Initialize an instance of this type and then call its String method to set QueueSignatureValues' Permissions field.
func (*QueuePermissions) String ¶
func (p *QueuePermissions) String() string
String produces the SAS permissions string for an Azure Storage Queue. Call this method to set QueueSignatureValues' Permissions field.
type QueueSignatureValues ¶
type QueueSignatureValues struct { Version string `param:"sv"` // If not specified, this defaults to Version Protocol Protocol `param:"spr"` // See the Protocol* constants StartTime time.Time `param:"st"` // Not specified if IsZero ExpiryTime time.Time `param:"se"` // Not specified if IsZero Permissions string `param:"sp"` // Create by initializing a QueuePermissions and then call String() IPRange IPRange `param:"sip"` Identifier string `param:"si"` QueueName string }
QueueSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage Queue. For more information on creating service sas, see https://docs.microsoft.com/rest/api/storageservices/constructing-a-service-sas Delegation SAS not supported for queues service
func (QueueSignatureValues) SignWithSharedKey ¶
func (v QueueSignatureValues) SignWithSharedKey(sharedKeyCredential *SharedKeyCredential) (QueryParameters, error)
SignWithSharedKey uses an account's SharedKeyCredential to sign this signature values to produce the proper SAS query parameters.
type SharedKeyCredential ¶
type SharedKeyCredential = exported.SharedKeyCredential
SharedKeyCredential contains an account's name and its primary or secondary key.
type URLParts ¶
type URLParts struct { Scheme string // Ex: "https://" Host string // Ex: "account.queue.core.windows.net", "10.132.141.33", "10.132.141.33:80" IPEndpointStyleInfo IPEndpointStyleInfo QueueName string // "" if no queue SAS QueryParameters UnparsedParams string }
URLParts object represents the components that make up an Azure Storage Queue URL. NOTE: Changing any SAS-related field requires computing a new SAS signature.