1package azblob
2
3// Code generated by Microsoft (R) AutoRest Code Generator.
4// Changes may cause incorrect behavior and will be lost if the code is regenerated.
5
6import (
7	"encoding/base64"
8	"encoding/xml"
9	"errors"
10	"io"
11	"net/http"
12	"reflect"
13	"strconv"
14	"strings"
15	"time"
16	"unsafe"
17)
18
19// ETag is an entity tag.
20type ETag string
21
22const (
23	// ETagNone represents an empty entity tag.
24	ETagNone ETag = ""
25
26	// ETagAny matches any entity tag.
27	ETagAny ETag = "*"
28)
29
30// Metadata contains metadata key/value pairs.
31type Metadata map[string]string
32
33const mdPrefix = "x-ms-meta-"
34
35const mdPrefixLen = len(mdPrefix)
36
37// UnmarshalXML implements the xml.Unmarshaler interface for Metadata.
38func (md *Metadata) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
39	tokName := ""
40	for t, err := d.Token(); err == nil; t, err = d.Token() {
41		switch tt := t.(type) {
42		case xml.StartElement:
43			tokName = strings.ToLower(tt.Name.Local)
44			break
45		case xml.CharData:
46			if *md == nil {
47				*md = Metadata{}
48			}
49			(*md)[tokName] = string(tt)
50			break
51		}
52	}
53	return nil
54}
55
56// Marker represents an opaque value used in paged responses.
57type Marker struct {
58	Val *string
59}
60
61// NotDone returns true if the list enumeration should be started or is not yet complete. Specifically, NotDone returns true
62// for a just-initialized (zero value) Marker indicating that you should make an initial request to get a result portion from
63// the service. NotDone also returns true whenever the service returns an interim result portion. NotDone returns false only
64// after the service has returned the final result portion.
65func (m Marker) NotDone() bool {
66	return m.Val == nil || *m.Val != ""
67}
68
69// UnmarshalXML implements the xml.Unmarshaler interface for Marker.
70func (m *Marker) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
71	var out string
72	err := d.DecodeElement(&out, &start)
73	m.Val = &out
74	return err
75}
76
77// concatenates a slice of const values with the specified separator between each item
78func joinConst(s interface{}, sep string) string {
79	v := reflect.ValueOf(s)
80	if v.Kind() != reflect.Slice && v.Kind() != reflect.Array {
81		panic("s wasn't a slice or array")
82	}
83	ss := make([]string, 0, v.Len())
84	for i := 0; i < v.Len(); i++ {
85		ss = append(ss, v.Index(i).String())
86	}
87	return strings.Join(ss, sep)
88}
89
90func validateError(err error) {
91	if err != nil {
92		panic(err)
93	}
94}
95
96// AccessTierType enumerates the values for access tier type.
97type AccessTierType string
98
99const (
100	// AccessTierArchive ...
101	AccessTierArchive AccessTierType = "Archive"
102	// AccessTierCool ...
103	AccessTierCool AccessTierType = "Cool"
104	// AccessTierHot ...
105	AccessTierHot AccessTierType = "Hot"
106	// AccessTierNone represents an empty AccessTierType.
107	AccessTierNone AccessTierType = ""
108	// AccessTierP10 ...
109	AccessTierP10 AccessTierType = "P10"
110	// AccessTierP15 ...
111	AccessTierP15 AccessTierType = "P15"
112	// AccessTierP20 ...
113	AccessTierP20 AccessTierType = "P20"
114	// AccessTierP30 ...
115	AccessTierP30 AccessTierType = "P30"
116	// AccessTierP4 ...
117	AccessTierP4 AccessTierType = "P4"
118	// AccessTierP40 ...
119	AccessTierP40 AccessTierType = "P40"
120	// AccessTierP50 ...
121	AccessTierP50 AccessTierType = "P50"
122	// AccessTierP6 ...
123	AccessTierP6 AccessTierType = "P6"
124	// AccessTierP60 ...
125	AccessTierP60 AccessTierType = "P60"
126	// AccessTierP70 ...
127	AccessTierP70 AccessTierType = "P70"
128	// AccessTierP80 ...
129	AccessTierP80 AccessTierType = "P80"
130)
131
132// PossibleAccessTierTypeValues returns an array of possible values for the AccessTierType const type.
133func PossibleAccessTierTypeValues() []AccessTierType {
134	return []AccessTierType{AccessTierArchive, AccessTierCool, AccessTierHot, AccessTierNone, AccessTierP10, AccessTierP15, AccessTierP20, AccessTierP30, AccessTierP4, AccessTierP40, AccessTierP50, AccessTierP6, AccessTierP60, AccessTierP70, AccessTierP80}
135}
136
137// AccountKindType enumerates the values for account kind type.
138type AccountKindType string
139
140const (
141	// AccountKindBlobStorage ...
142	AccountKindBlobStorage AccountKindType = "BlobStorage"
143	// AccountKindBlockBlobStorage ...
144	AccountKindBlockBlobStorage AccountKindType = "BlockBlobStorage"
145	// AccountKindFileStorage ...
146	AccountKindFileStorage AccountKindType = "FileStorage"
147	// AccountKindNone represents an empty AccountKindType.
148	AccountKindNone AccountKindType = ""
149	// AccountKindStorage ...
150	AccountKindStorage AccountKindType = "Storage"
151	// AccountKindStorageV2 ...
152	AccountKindStorageV2 AccountKindType = "StorageV2"
153)
154
155// PossibleAccountKindTypeValues returns an array of possible values for the AccountKindType const type.
156func PossibleAccountKindTypeValues() []AccountKindType {
157	return []AccountKindType{AccountKindBlobStorage, AccountKindBlockBlobStorage, AccountKindFileStorage, AccountKindNone, AccountKindStorage, AccountKindStorageV2}
158}
159
160// ArchiveStatusType enumerates the values for archive status type.
161type ArchiveStatusType string
162
163const (
164	// ArchiveStatusNone represents an empty ArchiveStatusType.
165	ArchiveStatusNone ArchiveStatusType = ""
166	// ArchiveStatusRehydratePendingToCool ...
167	ArchiveStatusRehydratePendingToCool ArchiveStatusType = "rehydrate-pending-to-cool"
168	// ArchiveStatusRehydratePendingToHot ...
169	ArchiveStatusRehydratePendingToHot ArchiveStatusType = "rehydrate-pending-to-hot"
170)
171
172// PossibleArchiveStatusTypeValues returns an array of possible values for the ArchiveStatusType const type.
173func PossibleArchiveStatusTypeValues() []ArchiveStatusType {
174	return []ArchiveStatusType{ArchiveStatusNone, ArchiveStatusRehydratePendingToCool, ArchiveStatusRehydratePendingToHot}
175}
176
177// BlobExpiryOptionsType enumerates the values for blob expiry options type.
178type BlobExpiryOptionsType string
179
180const (
181	// BlobExpiryOptionsAbsolute ...
182	BlobExpiryOptionsAbsolute BlobExpiryOptionsType = "Absolute"
183	// BlobExpiryOptionsNeverExpire ...
184	BlobExpiryOptionsNeverExpire BlobExpiryOptionsType = "NeverExpire"
185	// BlobExpiryOptionsNone represents an empty BlobExpiryOptionsType.
186	BlobExpiryOptionsNone BlobExpiryOptionsType = ""
187	// BlobExpiryOptionsRelativeToCreation ...
188	BlobExpiryOptionsRelativeToCreation BlobExpiryOptionsType = "RelativeToCreation"
189	// BlobExpiryOptionsRelativeToNow ...
190	BlobExpiryOptionsRelativeToNow BlobExpiryOptionsType = "RelativeToNow"
191)
192
193// PossibleBlobExpiryOptionsTypeValues returns an array of possible values for the BlobExpiryOptionsType const type.
194func PossibleBlobExpiryOptionsTypeValues() []BlobExpiryOptionsType {
195	return []BlobExpiryOptionsType{BlobExpiryOptionsAbsolute, BlobExpiryOptionsNeverExpire, BlobExpiryOptionsNone, BlobExpiryOptionsRelativeToCreation, BlobExpiryOptionsRelativeToNow}
196}
197
198// BlobType enumerates the values for blob type.
199type BlobType string
200
201const (
202	// BlobAppendBlob ...
203	BlobAppendBlob BlobType = "AppendBlob"
204	// BlobBlockBlob ...
205	BlobBlockBlob BlobType = "BlockBlob"
206	// BlobNone represents an empty BlobType.
207	BlobNone BlobType = ""
208	// BlobPageBlob ...
209	BlobPageBlob BlobType = "PageBlob"
210)
211
212// PossibleBlobTypeValues returns an array of possible values for the BlobType const type.
213func PossibleBlobTypeValues() []BlobType {
214	return []BlobType{BlobAppendBlob, BlobBlockBlob, BlobNone, BlobPageBlob}
215}
216
217// BlockListType enumerates the values for block list type.
218type BlockListType string
219
220const (
221	// BlockListAll ...
222	BlockListAll BlockListType = "all"
223	// BlockListCommitted ...
224	BlockListCommitted BlockListType = "committed"
225	// BlockListNone represents an empty BlockListType.
226	BlockListNone BlockListType = ""
227	// BlockListUncommitted ...
228	BlockListUncommitted BlockListType = "uncommitted"
229)
230
231// PossibleBlockListTypeValues returns an array of possible values for the BlockListType const type.
232func PossibleBlockListTypeValues() []BlockListType {
233	return []BlockListType{BlockListAll, BlockListCommitted, BlockListNone, BlockListUncommitted}
234}
235
236// CopyStatusType enumerates the values for copy status type.
237type CopyStatusType string
238
239const (
240	// CopyStatusAborted ...
241	CopyStatusAborted CopyStatusType = "aborted"
242	// CopyStatusFailed ...
243	CopyStatusFailed CopyStatusType = "failed"
244	// CopyStatusNone represents an empty CopyStatusType.
245	CopyStatusNone CopyStatusType = ""
246	// CopyStatusPending ...
247	CopyStatusPending CopyStatusType = "pending"
248	// CopyStatusSuccess ...
249	CopyStatusSuccess CopyStatusType = "success"
250)
251
252// PossibleCopyStatusTypeValues returns an array of possible values for the CopyStatusType const type.
253func PossibleCopyStatusTypeValues() []CopyStatusType {
254	return []CopyStatusType{CopyStatusAborted, CopyStatusFailed, CopyStatusNone, CopyStatusPending, CopyStatusSuccess}
255}
256
257// DeleteSnapshotsOptionType enumerates the values for delete snapshots option type.
258type DeleteSnapshotsOptionType string
259
260const (
261	// DeleteSnapshotsOptionInclude ...
262	DeleteSnapshotsOptionInclude DeleteSnapshotsOptionType = "include"
263	// DeleteSnapshotsOptionNone represents an empty DeleteSnapshotsOptionType.
264	DeleteSnapshotsOptionNone DeleteSnapshotsOptionType = ""
265	// DeleteSnapshotsOptionOnly ...
266	DeleteSnapshotsOptionOnly DeleteSnapshotsOptionType = "only"
267)
268
269// PossibleDeleteSnapshotsOptionTypeValues returns an array of possible values for the DeleteSnapshotsOptionType const type.
270func PossibleDeleteSnapshotsOptionTypeValues() []DeleteSnapshotsOptionType {
271	return []DeleteSnapshotsOptionType{DeleteSnapshotsOptionInclude, DeleteSnapshotsOptionNone, DeleteSnapshotsOptionOnly}
272}
273
274// EncryptionAlgorithmType enumerates the values for encryption algorithm type.
275type EncryptionAlgorithmType string
276
277const (
278	// EncryptionAlgorithmAES256 ...
279	EncryptionAlgorithmAES256 EncryptionAlgorithmType = "AES256"
280	// EncryptionAlgorithmNone represents an empty EncryptionAlgorithmType.
281	EncryptionAlgorithmNone EncryptionAlgorithmType = ""
282)
283
284// PossibleEncryptionAlgorithmTypeValues returns an array of possible values for the EncryptionAlgorithmType const type.
285func PossibleEncryptionAlgorithmTypeValues() []EncryptionAlgorithmType {
286	return []EncryptionAlgorithmType{EncryptionAlgorithmAES256, EncryptionAlgorithmNone}
287}
288
289// GeoReplicationStatusType enumerates the values for geo replication status type.
290type GeoReplicationStatusType string
291
292const (
293	// GeoReplicationStatusBootstrap ...
294	GeoReplicationStatusBootstrap GeoReplicationStatusType = "bootstrap"
295	// GeoReplicationStatusLive ...
296	GeoReplicationStatusLive GeoReplicationStatusType = "live"
297	// GeoReplicationStatusNone represents an empty GeoReplicationStatusType.
298	GeoReplicationStatusNone GeoReplicationStatusType = ""
299	// GeoReplicationStatusUnavailable ...
300	GeoReplicationStatusUnavailable GeoReplicationStatusType = "unavailable"
301)
302
303// PossibleGeoReplicationStatusTypeValues returns an array of possible values for the GeoReplicationStatusType const type.
304func PossibleGeoReplicationStatusTypeValues() []GeoReplicationStatusType {
305	return []GeoReplicationStatusType{GeoReplicationStatusBootstrap, GeoReplicationStatusLive, GeoReplicationStatusNone, GeoReplicationStatusUnavailable}
306}
307
308// LeaseDurationType enumerates the values for lease duration type.
309type LeaseDurationType string
310
311const (
312	// LeaseDurationFixed ...
313	LeaseDurationFixed LeaseDurationType = "fixed"
314	// LeaseDurationInfinite ...
315	LeaseDurationInfinite LeaseDurationType = "infinite"
316	// LeaseDurationNone represents an empty LeaseDurationType.
317	LeaseDurationNone LeaseDurationType = ""
318)
319
320// PossibleLeaseDurationTypeValues returns an array of possible values for the LeaseDurationType const type.
321func PossibleLeaseDurationTypeValues() []LeaseDurationType {
322	return []LeaseDurationType{LeaseDurationFixed, LeaseDurationInfinite, LeaseDurationNone}
323}
324
325// LeaseStateType enumerates the values for lease state type.
326type LeaseStateType string
327
328const (
329	// LeaseStateAvailable ...
330	LeaseStateAvailable LeaseStateType = "available"
331	// LeaseStateBreaking ...
332	LeaseStateBreaking LeaseStateType = "breaking"
333	// LeaseStateBroken ...
334	LeaseStateBroken LeaseStateType = "broken"
335	// LeaseStateExpired ...
336	LeaseStateExpired LeaseStateType = "expired"
337	// LeaseStateLeased ...
338	LeaseStateLeased LeaseStateType = "leased"
339	// LeaseStateNone represents an empty LeaseStateType.
340	LeaseStateNone LeaseStateType = ""
341)
342
343// PossibleLeaseStateTypeValues returns an array of possible values for the LeaseStateType const type.
344func PossibleLeaseStateTypeValues() []LeaseStateType {
345	return []LeaseStateType{LeaseStateAvailable, LeaseStateBreaking, LeaseStateBroken, LeaseStateExpired, LeaseStateLeased, LeaseStateNone}
346}
347
348// LeaseStatusType enumerates the values for lease status type.
349type LeaseStatusType string
350
351const (
352	// LeaseStatusLocked ...
353	LeaseStatusLocked LeaseStatusType = "locked"
354	// LeaseStatusNone represents an empty LeaseStatusType.
355	LeaseStatusNone LeaseStatusType = ""
356	// LeaseStatusUnlocked ...
357	LeaseStatusUnlocked LeaseStatusType = "unlocked"
358)
359
360// PossibleLeaseStatusTypeValues returns an array of possible values for the LeaseStatusType const type.
361func PossibleLeaseStatusTypeValues() []LeaseStatusType {
362	return []LeaseStatusType{LeaseStatusLocked, LeaseStatusNone, LeaseStatusUnlocked}
363}
364
365// ListBlobsIncludeItemType enumerates the values for list blobs include item type.
366type ListBlobsIncludeItemType string
367
368const (
369	// ListBlobsIncludeItemCopy ...
370	ListBlobsIncludeItemCopy ListBlobsIncludeItemType = "copy"
371	// ListBlobsIncludeItemDeleted ...
372	ListBlobsIncludeItemDeleted ListBlobsIncludeItemType = "deleted"
373	// ListBlobsIncludeItemMetadata ...
374	ListBlobsIncludeItemMetadata ListBlobsIncludeItemType = "metadata"
375	// ListBlobsIncludeItemNone represents an empty ListBlobsIncludeItemType.
376	ListBlobsIncludeItemNone ListBlobsIncludeItemType = ""
377	// ListBlobsIncludeItemSnapshots ...
378	ListBlobsIncludeItemSnapshots ListBlobsIncludeItemType = "snapshots"
379	// ListBlobsIncludeItemTags ...
380	ListBlobsIncludeItemTags ListBlobsIncludeItemType = "tags"
381	// ListBlobsIncludeItemUncommittedblobs ...
382	ListBlobsIncludeItemUncommittedblobs ListBlobsIncludeItemType = "uncommittedblobs"
383	// ListBlobsIncludeItemVersions ...
384	ListBlobsIncludeItemVersions ListBlobsIncludeItemType = "versions"
385)
386
387// PossibleListBlobsIncludeItemTypeValues returns an array of possible values for the ListBlobsIncludeItemType const type.
388func PossibleListBlobsIncludeItemTypeValues() []ListBlobsIncludeItemType {
389	return []ListBlobsIncludeItemType{ListBlobsIncludeItemCopy, ListBlobsIncludeItemDeleted, ListBlobsIncludeItemMetadata, ListBlobsIncludeItemNone, ListBlobsIncludeItemSnapshots, ListBlobsIncludeItemTags, ListBlobsIncludeItemUncommittedblobs, ListBlobsIncludeItemVersions}
390}
391
392// ListContainersIncludeType enumerates the values for list containers include type.
393type ListContainersIncludeType string
394
395const (
396	// ListContainersIncludeDeleted ...
397	ListContainersIncludeDeleted ListContainersIncludeType = "deleted"
398	// ListContainersIncludeMetadata ...
399	ListContainersIncludeMetadata ListContainersIncludeType = "metadata"
400	// ListContainersIncludeNone represents an empty ListContainersIncludeType.
401	ListContainersIncludeNone ListContainersIncludeType = ""
402)
403
404// PossibleListContainersIncludeTypeValues returns an array of possible values for the ListContainersIncludeType const type.
405func PossibleListContainersIncludeTypeValues() []ListContainersIncludeType {
406	return []ListContainersIncludeType{ListContainersIncludeDeleted, ListContainersIncludeMetadata, ListContainersIncludeNone}
407}
408
409// PathRenameModeType enumerates the values for path rename mode type.
410type PathRenameModeType string
411
412const (
413	// PathRenameModeLegacy ...
414	PathRenameModeLegacy PathRenameModeType = "legacy"
415	// PathRenameModeNone represents an empty PathRenameModeType.
416	PathRenameModeNone PathRenameModeType = ""
417	// PathRenameModePosix ...
418	PathRenameModePosix PathRenameModeType = "posix"
419)
420
421// PossiblePathRenameModeTypeValues returns an array of possible values for the PathRenameModeType const type.
422func PossiblePathRenameModeTypeValues() []PathRenameModeType {
423	return []PathRenameModeType{PathRenameModeLegacy, PathRenameModeNone, PathRenameModePosix}
424}
425
426// PremiumPageBlobAccessTierType enumerates the values for premium page blob access tier type.
427type PremiumPageBlobAccessTierType string
428
429const (
430	// PremiumPageBlobAccessTierNone represents an empty PremiumPageBlobAccessTierType.
431	PremiumPageBlobAccessTierNone PremiumPageBlobAccessTierType = ""
432	// PremiumPageBlobAccessTierP10 ...
433	PremiumPageBlobAccessTierP10 PremiumPageBlobAccessTierType = "P10"
434	// PremiumPageBlobAccessTierP15 ...
435	PremiumPageBlobAccessTierP15 PremiumPageBlobAccessTierType = "P15"
436	// PremiumPageBlobAccessTierP20 ...
437	PremiumPageBlobAccessTierP20 PremiumPageBlobAccessTierType = "P20"
438	// PremiumPageBlobAccessTierP30 ...
439	PremiumPageBlobAccessTierP30 PremiumPageBlobAccessTierType = "P30"
440	// PremiumPageBlobAccessTierP4 ...
441	PremiumPageBlobAccessTierP4 PremiumPageBlobAccessTierType = "P4"
442	// PremiumPageBlobAccessTierP40 ...
443	PremiumPageBlobAccessTierP40 PremiumPageBlobAccessTierType = "P40"
444	// PremiumPageBlobAccessTierP50 ...
445	PremiumPageBlobAccessTierP50 PremiumPageBlobAccessTierType = "P50"
446	// PremiumPageBlobAccessTierP6 ...
447	PremiumPageBlobAccessTierP6 PremiumPageBlobAccessTierType = "P6"
448	// PremiumPageBlobAccessTierP60 ...
449	PremiumPageBlobAccessTierP60 PremiumPageBlobAccessTierType = "P60"
450	// PremiumPageBlobAccessTierP70 ...
451	PremiumPageBlobAccessTierP70 PremiumPageBlobAccessTierType = "P70"
452	// PremiumPageBlobAccessTierP80 ...
453	PremiumPageBlobAccessTierP80 PremiumPageBlobAccessTierType = "P80"
454)
455
456// PossiblePremiumPageBlobAccessTierTypeValues returns an array of possible values for the PremiumPageBlobAccessTierType const type.
457func PossiblePremiumPageBlobAccessTierTypeValues() []PremiumPageBlobAccessTierType {
458	return []PremiumPageBlobAccessTierType{PremiumPageBlobAccessTierNone, PremiumPageBlobAccessTierP10, PremiumPageBlobAccessTierP15, PremiumPageBlobAccessTierP20, PremiumPageBlobAccessTierP30, PremiumPageBlobAccessTierP4, PremiumPageBlobAccessTierP40, PremiumPageBlobAccessTierP50, PremiumPageBlobAccessTierP6, PremiumPageBlobAccessTierP60, PremiumPageBlobAccessTierP70, PremiumPageBlobAccessTierP80}
459}
460
461// PublicAccessType enumerates the values for public access type.
462type PublicAccessType string
463
464const (
465	// PublicAccessBlob ...
466	PublicAccessBlob PublicAccessType = "blob"
467	// PublicAccessContainer ...
468	PublicAccessContainer PublicAccessType = "container"
469	// PublicAccessNone represents an empty PublicAccessType.
470	PublicAccessNone PublicAccessType = ""
471)
472
473// PossiblePublicAccessTypeValues returns an array of possible values for the PublicAccessType const type.
474func PossiblePublicAccessTypeValues() []PublicAccessType {
475	return []PublicAccessType{PublicAccessBlob, PublicAccessContainer, PublicAccessNone}
476}
477
478// QueryFormatType enumerates the values for query format type.
479type QueryFormatType string
480
481const (
482	// QueryFormatDelimited ...
483	QueryFormatDelimited QueryFormatType = "delimited"
484	// QueryFormatJSON ...
485	QueryFormatJSON QueryFormatType = "json"
486	// QueryFormatNone represents an empty QueryFormatType.
487	QueryFormatNone QueryFormatType = ""
488)
489
490// PossibleQueryFormatTypeValues returns an array of possible values for the QueryFormatType const type.
491func PossibleQueryFormatTypeValues() []QueryFormatType {
492	return []QueryFormatType{QueryFormatDelimited, QueryFormatJSON, QueryFormatNone}
493}
494
495// RehydratePriorityType enumerates the values for rehydrate priority type.
496type RehydratePriorityType string
497
498const (
499	// RehydratePriorityHigh ...
500	RehydratePriorityHigh RehydratePriorityType = "High"
501	// RehydratePriorityNone represents an empty RehydratePriorityType.
502	RehydratePriorityNone RehydratePriorityType = ""
503	// RehydratePriorityStandard ...
504	RehydratePriorityStandard RehydratePriorityType = "Standard"
505)
506
507// PossibleRehydratePriorityTypeValues returns an array of possible values for the RehydratePriorityType const type.
508func PossibleRehydratePriorityTypeValues() []RehydratePriorityType {
509	return []RehydratePriorityType{RehydratePriorityHigh, RehydratePriorityNone, RehydratePriorityStandard}
510}
511
512// SequenceNumberActionType enumerates the values for sequence number action type.
513type SequenceNumberActionType string
514
515const (
516	// SequenceNumberActionIncrement ...
517	SequenceNumberActionIncrement SequenceNumberActionType = "increment"
518	// SequenceNumberActionMax ...
519	SequenceNumberActionMax SequenceNumberActionType = "max"
520	// SequenceNumberActionNone represents an empty SequenceNumberActionType.
521	SequenceNumberActionNone SequenceNumberActionType = ""
522	// SequenceNumberActionUpdate ...
523	SequenceNumberActionUpdate SequenceNumberActionType = "update"
524)
525
526// PossibleSequenceNumberActionTypeValues returns an array of possible values for the SequenceNumberActionType const type.
527func PossibleSequenceNumberActionTypeValues() []SequenceNumberActionType {
528	return []SequenceNumberActionType{SequenceNumberActionIncrement, SequenceNumberActionMax, SequenceNumberActionNone, SequenceNumberActionUpdate}
529}
530
531// SkuNameType enumerates the values for sku name type.
532type SkuNameType string
533
534const (
535	// SkuNameNone represents an empty SkuNameType.
536	SkuNameNone SkuNameType = ""
537	// SkuNamePremiumLRS ...
538	SkuNamePremiumLRS SkuNameType = "Premium_LRS"
539	// SkuNameStandardGRS ...
540	SkuNameStandardGRS SkuNameType = "Standard_GRS"
541	// SkuNameStandardLRS ...
542	SkuNameStandardLRS SkuNameType = "Standard_LRS"
543	// SkuNameStandardRAGRS ...
544	SkuNameStandardRAGRS SkuNameType = "Standard_RAGRS"
545	// SkuNameStandardZRS ...
546	SkuNameStandardZRS SkuNameType = "Standard_ZRS"
547)
548
549// PossibleSkuNameTypeValues returns an array of possible values for the SkuNameType const type.
550func PossibleSkuNameTypeValues() []SkuNameType {
551	return []SkuNameType{SkuNameNone, SkuNamePremiumLRS, SkuNameStandardGRS, SkuNameStandardLRS, SkuNameStandardRAGRS, SkuNameStandardZRS}
552}
553
554// StorageErrorCodeType enumerates the values for storage error code type.
555type StorageErrorCodeType string
556
557const (
558	// StorageErrorCodeAccountAlreadyExists ...
559	StorageErrorCodeAccountAlreadyExists StorageErrorCodeType = "AccountAlreadyExists"
560	// StorageErrorCodeAccountBeingCreated ...
561	StorageErrorCodeAccountBeingCreated StorageErrorCodeType = "AccountBeingCreated"
562	// StorageErrorCodeAccountIsDisabled ...
563	StorageErrorCodeAccountIsDisabled StorageErrorCodeType = "AccountIsDisabled"
564	// StorageErrorCodeAppendPositionConditionNotMet ...
565	StorageErrorCodeAppendPositionConditionNotMet StorageErrorCodeType = "AppendPositionConditionNotMet"
566	// StorageErrorCodeAuthenticationFailed ...
567	StorageErrorCodeAuthenticationFailed StorageErrorCodeType = "AuthenticationFailed"
568	// StorageErrorCodeAuthorizationFailure ...
569	StorageErrorCodeAuthorizationFailure StorageErrorCodeType = "AuthorizationFailure"
570	// StorageErrorCodeAuthorizationPermissionMismatch ...
571	StorageErrorCodeAuthorizationPermissionMismatch StorageErrorCodeType = "AuthorizationPermissionMismatch"
572	// StorageErrorCodeAuthorizationProtocolMismatch ...
573	StorageErrorCodeAuthorizationProtocolMismatch StorageErrorCodeType = "AuthorizationProtocolMismatch"
574	// StorageErrorCodeAuthorizationResourceTypeMismatch ...
575	StorageErrorCodeAuthorizationResourceTypeMismatch StorageErrorCodeType = "AuthorizationResourceTypeMismatch"
576	// StorageErrorCodeAuthorizationServiceMismatch ...
577	StorageErrorCodeAuthorizationServiceMismatch StorageErrorCodeType = "AuthorizationServiceMismatch"
578	// StorageErrorCodeAuthorizationSourceIPMismatch ...
579	StorageErrorCodeAuthorizationSourceIPMismatch StorageErrorCodeType = "AuthorizationSourceIPMismatch"
580	// StorageErrorCodeBlobAlreadyExists ...
581	StorageErrorCodeBlobAlreadyExists StorageErrorCodeType = "BlobAlreadyExists"
582	// StorageErrorCodeBlobArchived ...
583	StorageErrorCodeBlobArchived StorageErrorCodeType = "BlobArchived"
584	// StorageErrorCodeBlobBeingRehydrated ...
585	StorageErrorCodeBlobBeingRehydrated StorageErrorCodeType = "BlobBeingRehydrated"
586	// StorageErrorCodeBlobNotArchived ...
587	StorageErrorCodeBlobNotArchived StorageErrorCodeType = "BlobNotArchived"
588	// StorageErrorCodeBlobNotFound ...
589	StorageErrorCodeBlobNotFound StorageErrorCodeType = "BlobNotFound"
590	// StorageErrorCodeBlobOverwritten ...
591	StorageErrorCodeBlobOverwritten StorageErrorCodeType = "BlobOverwritten"
592	// StorageErrorCodeBlobTierInadequateForContentLength ...
593	StorageErrorCodeBlobTierInadequateForContentLength StorageErrorCodeType = "BlobTierInadequateForContentLength"
594	// StorageErrorCodeBlockCountExceedsLimit ...
595	StorageErrorCodeBlockCountExceedsLimit StorageErrorCodeType = "BlockCountExceedsLimit"
596	// StorageErrorCodeBlockListTooLong ...
597	StorageErrorCodeBlockListTooLong StorageErrorCodeType = "BlockListTooLong"
598	// StorageErrorCodeCannotChangeToLowerTier ...
599	StorageErrorCodeCannotChangeToLowerTier StorageErrorCodeType = "CannotChangeToLowerTier"
600	// StorageErrorCodeCannotVerifyCopySource ...
601	StorageErrorCodeCannotVerifyCopySource StorageErrorCodeType = "CannotVerifyCopySource"
602	// StorageErrorCodeConditionHeadersNotSupported ...
603	StorageErrorCodeConditionHeadersNotSupported StorageErrorCodeType = "ConditionHeadersNotSupported"
604	// StorageErrorCodeConditionNotMet ...
605	StorageErrorCodeConditionNotMet StorageErrorCodeType = "ConditionNotMet"
606	// StorageErrorCodeContainerAlreadyExists ...
607	StorageErrorCodeContainerAlreadyExists StorageErrorCodeType = "ContainerAlreadyExists"
608	// StorageErrorCodeContainerBeingDeleted ...
609	StorageErrorCodeContainerBeingDeleted StorageErrorCodeType = "ContainerBeingDeleted"
610	// StorageErrorCodeContainerDisabled ...
611	StorageErrorCodeContainerDisabled StorageErrorCodeType = "ContainerDisabled"
612	// StorageErrorCodeContainerNotFound ...
613	StorageErrorCodeContainerNotFound StorageErrorCodeType = "ContainerNotFound"
614	// StorageErrorCodeContentLengthLargerThanTierLimit ...
615	StorageErrorCodeContentLengthLargerThanTierLimit StorageErrorCodeType = "ContentLengthLargerThanTierLimit"
616	// StorageErrorCodeCopyAcrossAccountsNotSupported ...
617	StorageErrorCodeCopyAcrossAccountsNotSupported StorageErrorCodeType = "CopyAcrossAccountsNotSupported"
618	// StorageErrorCodeCopyIDMismatch ...
619	StorageErrorCodeCopyIDMismatch StorageErrorCodeType = "CopyIdMismatch"
620	// StorageErrorCodeEmptyMetadataKey ...
621	StorageErrorCodeEmptyMetadataKey StorageErrorCodeType = "EmptyMetadataKey"
622	// StorageErrorCodeFeatureVersionMismatch ...
623	StorageErrorCodeFeatureVersionMismatch StorageErrorCodeType = "FeatureVersionMismatch"
624	// StorageErrorCodeIncrementalCopyBlobMismatch ...
625	StorageErrorCodeIncrementalCopyBlobMismatch StorageErrorCodeType = "IncrementalCopyBlobMismatch"
626	// StorageErrorCodeIncrementalCopyOfEralierVersionSnapshotNotAllowed ...
627	StorageErrorCodeIncrementalCopyOfEralierVersionSnapshotNotAllowed StorageErrorCodeType = "IncrementalCopyOfEralierVersionSnapshotNotAllowed"
628	// StorageErrorCodeIncrementalCopySourceMustBeSnapshot ...
629	StorageErrorCodeIncrementalCopySourceMustBeSnapshot StorageErrorCodeType = "IncrementalCopySourceMustBeSnapshot"
630	// StorageErrorCodeInfiniteLeaseDurationRequired ...
631	StorageErrorCodeInfiniteLeaseDurationRequired StorageErrorCodeType = "InfiniteLeaseDurationRequired"
632	// StorageErrorCodeInsufficientAccountPermissions ...
633	StorageErrorCodeInsufficientAccountPermissions StorageErrorCodeType = "InsufficientAccountPermissions"
634	// StorageErrorCodeInternalError ...
635	StorageErrorCodeInternalError StorageErrorCodeType = "InternalError"
636	// StorageErrorCodeInvalidAuthenticationInfo ...
637	StorageErrorCodeInvalidAuthenticationInfo StorageErrorCodeType = "InvalidAuthenticationInfo"
638	// StorageErrorCodeInvalidBlobOrBlock ...
639	StorageErrorCodeInvalidBlobOrBlock StorageErrorCodeType = "InvalidBlobOrBlock"
640	// StorageErrorCodeInvalidBlobTier ...
641	StorageErrorCodeInvalidBlobTier StorageErrorCodeType = "InvalidBlobTier"
642	// StorageErrorCodeInvalidBlobType ...
643	StorageErrorCodeInvalidBlobType StorageErrorCodeType = "InvalidBlobType"
644	// StorageErrorCodeInvalidBlockID ...
645	StorageErrorCodeInvalidBlockID StorageErrorCodeType = "InvalidBlockId"
646	// StorageErrorCodeInvalidBlockList ...
647	StorageErrorCodeInvalidBlockList StorageErrorCodeType = "InvalidBlockList"
648	// StorageErrorCodeInvalidHeaderValue ...
649	StorageErrorCodeInvalidHeaderValue StorageErrorCodeType = "InvalidHeaderValue"
650	// StorageErrorCodeInvalidHTTPVerb ...
651	StorageErrorCodeInvalidHTTPVerb StorageErrorCodeType = "InvalidHttpVerb"
652	// StorageErrorCodeInvalidInput ...
653	StorageErrorCodeInvalidInput StorageErrorCodeType = "InvalidInput"
654	// StorageErrorCodeInvalidMd5 ...
655	StorageErrorCodeInvalidMd5 StorageErrorCodeType = "InvalidMd5"
656	// StorageErrorCodeInvalidMetadata ...
657	StorageErrorCodeInvalidMetadata StorageErrorCodeType = "InvalidMetadata"
658	// StorageErrorCodeInvalidOperation ...
659	StorageErrorCodeInvalidOperation StorageErrorCodeType = "InvalidOperation"
660	// StorageErrorCodeInvalidPageRange ...
661	StorageErrorCodeInvalidPageRange StorageErrorCodeType = "InvalidPageRange"
662	// StorageErrorCodeInvalidQueryParameterValue ...
663	StorageErrorCodeInvalidQueryParameterValue StorageErrorCodeType = "InvalidQueryParameterValue"
664	// StorageErrorCodeInvalidRange ...
665	StorageErrorCodeInvalidRange StorageErrorCodeType = "InvalidRange"
666	// StorageErrorCodeInvalidResourceName ...
667	StorageErrorCodeInvalidResourceName StorageErrorCodeType = "InvalidResourceName"
668	// StorageErrorCodeInvalidSourceBlobType ...
669	StorageErrorCodeInvalidSourceBlobType StorageErrorCodeType = "InvalidSourceBlobType"
670	// StorageErrorCodeInvalidSourceBlobURL ...
671	StorageErrorCodeInvalidSourceBlobURL StorageErrorCodeType = "InvalidSourceBlobUrl"
672	// StorageErrorCodeInvalidURI ...
673	StorageErrorCodeInvalidURI StorageErrorCodeType = "InvalidUri"
674	// StorageErrorCodeInvalidVersionForPageBlobOperation ...
675	StorageErrorCodeInvalidVersionForPageBlobOperation StorageErrorCodeType = "InvalidVersionForPageBlobOperation"
676	// StorageErrorCodeInvalidXMLDocument ...
677	StorageErrorCodeInvalidXMLDocument StorageErrorCodeType = "InvalidXmlDocument"
678	// StorageErrorCodeInvalidXMLNodeValue ...
679	StorageErrorCodeInvalidXMLNodeValue StorageErrorCodeType = "InvalidXmlNodeValue"
680	// StorageErrorCodeLeaseAlreadyBroken ...
681	StorageErrorCodeLeaseAlreadyBroken StorageErrorCodeType = "LeaseAlreadyBroken"
682	// StorageErrorCodeLeaseAlreadyPresent ...
683	StorageErrorCodeLeaseAlreadyPresent StorageErrorCodeType = "LeaseAlreadyPresent"
684	// StorageErrorCodeLeaseIDMismatchWithBlobOperation ...
685	StorageErrorCodeLeaseIDMismatchWithBlobOperation StorageErrorCodeType = "LeaseIdMismatchWithBlobOperation"
686	// StorageErrorCodeLeaseIDMismatchWithContainerOperation ...
687	StorageErrorCodeLeaseIDMismatchWithContainerOperation StorageErrorCodeType = "LeaseIdMismatchWithContainerOperation"
688	// StorageErrorCodeLeaseIDMismatchWithLeaseOperation ...
689	StorageErrorCodeLeaseIDMismatchWithLeaseOperation StorageErrorCodeType = "LeaseIdMismatchWithLeaseOperation"
690	// StorageErrorCodeLeaseIDMissing ...
691	StorageErrorCodeLeaseIDMissing StorageErrorCodeType = "LeaseIdMissing"
692	// StorageErrorCodeLeaseIsBreakingAndCannotBeAcquired ...
693	StorageErrorCodeLeaseIsBreakingAndCannotBeAcquired StorageErrorCodeType = "LeaseIsBreakingAndCannotBeAcquired"
694	// StorageErrorCodeLeaseIsBreakingAndCannotBeChanged ...
695	StorageErrorCodeLeaseIsBreakingAndCannotBeChanged StorageErrorCodeType = "LeaseIsBreakingAndCannotBeChanged"
696	// StorageErrorCodeLeaseIsBrokenAndCannotBeRenewed ...
697	StorageErrorCodeLeaseIsBrokenAndCannotBeRenewed StorageErrorCodeType = "LeaseIsBrokenAndCannotBeRenewed"
698	// StorageErrorCodeLeaseLost ...
699	StorageErrorCodeLeaseLost StorageErrorCodeType = "LeaseLost"
700	// StorageErrorCodeLeaseNotPresentWithBlobOperation ...
701	StorageErrorCodeLeaseNotPresentWithBlobOperation StorageErrorCodeType = "LeaseNotPresentWithBlobOperation"
702	// StorageErrorCodeLeaseNotPresentWithContainerOperation ...
703	StorageErrorCodeLeaseNotPresentWithContainerOperation StorageErrorCodeType = "LeaseNotPresentWithContainerOperation"
704	// StorageErrorCodeLeaseNotPresentWithLeaseOperation ...
705	StorageErrorCodeLeaseNotPresentWithLeaseOperation StorageErrorCodeType = "LeaseNotPresentWithLeaseOperation"
706	// StorageErrorCodeMaxBlobSizeConditionNotMet ...
707	StorageErrorCodeMaxBlobSizeConditionNotMet StorageErrorCodeType = "MaxBlobSizeConditionNotMet"
708	// StorageErrorCodeMd5Mismatch ...
709	StorageErrorCodeMd5Mismatch StorageErrorCodeType = "Md5Mismatch"
710	// StorageErrorCodeMetadataTooLarge ...
711	StorageErrorCodeMetadataTooLarge StorageErrorCodeType = "MetadataTooLarge"
712	// StorageErrorCodeMissingContentLengthHeader ...
713	StorageErrorCodeMissingContentLengthHeader StorageErrorCodeType = "MissingContentLengthHeader"
714	// StorageErrorCodeMissingRequiredHeader ...
715	StorageErrorCodeMissingRequiredHeader StorageErrorCodeType = "MissingRequiredHeader"
716	// StorageErrorCodeMissingRequiredQueryParameter ...
717	StorageErrorCodeMissingRequiredQueryParameter StorageErrorCodeType = "MissingRequiredQueryParameter"
718	// StorageErrorCodeMissingRequiredXMLNode ...
719	StorageErrorCodeMissingRequiredXMLNode StorageErrorCodeType = "MissingRequiredXmlNode"
720	// StorageErrorCodeMultipleConditionHeadersNotSupported ...
721	StorageErrorCodeMultipleConditionHeadersNotSupported StorageErrorCodeType = "MultipleConditionHeadersNotSupported"
722	// StorageErrorCodeNoAuthenticationInformation ...
723	StorageErrorCodeNoAuthenticationInformation StorageErrorCodeType = "NoAuthenticationInformation"
724	// StorageErrorCodeNone represents an empty StorageErrorCodeType.
725	StorageErrorCodeNone StorageErrorCodeType = ""
726	// StorageErrorCodeNoPendingCopyOperation ...
727	StorageErrorCodeNoPendingCopyOperation StorageErrorCodeType = "NoPendingCopyOperation"
728	// StorageErrorCodeOperationNotAllowedOnIncrementalCopyBlob ...
729	StorageErrorCodeOperationNotAllowedOnIncrementalCopyBlob StorageErrorCodeType = "OperationNotAllowedOnIncrementalCopyBlob"
730	// StorageErrorCodeOperationTimedOut ...
731	StorageErrorCodeOperationTimedOut StorageErrorCodeType = "OperationTimedOut"
732	// StorageErrorCodeOutOfRangeInput ...
733	StorageErrorCodeOutOfRangeInput StorageErrorCodeType = "OutOfRangeInput"
734	// StorageErrorCodeOutOfRangeQueryParameterValue ...
735	StorageErrorCodeOutOfRangeQueryParameterValue StorageErrorCodeType = "OutOfRangeQueryParameterValue"
736	// StorageErrorCodePendingCopyOperation ...
737	StorageErrorCodePendingCopyOperation StorageErrorCodeType = "PendingCopyOperation"
738	// StorageErrorCodePreviousSnapshotCannotBeNewer ...
739	StorageErrorCodePreviousSnapshotCannotBeNewer StorageErrorCodeType = "PreviousSnapshotCannotBeNewer"
740	// StorageErrorCodePreviousSnapshotNotFound ...
741	StorageErrorCodePreviousSnapshotNotFound StorageErrorCodeType = "PreviousSnapshotNotFound"
742	// StorageErrorCodePreviousSnapshotOperationNotSupported ...
743	StorageErrorCodePreviousSnapshotOperationNotSupported StorageErrorCodeType = "PreviousSnapshotOperationNotSupported"
744	// StorageErrorCodeRequestBodyTooLarge ...
745	StorageErrorCodeRequestBodyTooLarge StorageErrorCodeType = "RequestBodyTooLarge"
746	// StorageErrorCodeRequestURLFailedToParse ...
747	StorageErrorCodeRequestURLFailedToParse StorageErrorCodeType = "RequestUrlFailedToParse"
748	// StorageErrorCodeResourceAlreadyExists ...
749	StorageErrorCodeResourceAlreadyExists StorageErrorCodeType = "ResourceAlreadyExists"
750	// StorageErrorCodeResourceNotFound ...
751	StorageErrorCodeResourceNotFound StorageErrorCodeType = "ResourceNotFound"
752	// StorageErrorCodeResourceTypeMismatch ...
753	StorageErrorCodeResourceTypeMismatch StorageErrorCodeType = "ResourceTypeMismatch"
754	// StorageErrorCodeSequenceNumberConditionNotMet ...
755	StorageErrorCodeSequenceNumberConditionNotMet StorageErrorCodeType = "SequenceNumberConditionNotMet"
756	// StorageErrorCodeSequenceNumberIncrementTooLarge ...
757	StorageErrorCodeSequenceNumberIncrementTooLarge StorageErrorCodeType = "SequenceNumberIncrementTooLarge"
758	// StorageErrorCodeServerBusy ...
759	StorageErrorCodeServerBusy StorageErrorCodeType = "ServerBusy"
760	// StorageErrorCodeSnaphotOperationRateExceeded ...
761	StorageErrorCodeSnaphotOperationRateExceeded StorageErrorCodeType = "SnaphotOperationRateExceeded"
762	// StorageErrorCodeSnapshotCountExceeded ...
763	StorageErrorCodeSnapshotCountExceeded StorageErrorCodeType = "SnapshotCountExceeded"
764	// StorageErrorCodeSnapshotsPresent ...
765	StorageErrorCodeSnapshotsPresent StorageErrorCodeType = "SnapshotsPresent"
766	// StorageErrorCodeSourceConditionNotMet ...
767	StorageErrorCodeSourceConditionNotMet StorageErrorCodeType = "SourceConditionNotMet"
768	// StorageErrorCodeSystemInUse ...
769	StorageErrorCodeSystemInUse StorageErrorCodeType = "SystemInUse"
770	// StorageErrorCodeTargetConditionNotMet ...
771	StorageErrorCodeTargetConditionNotMet StorageErrorCodeType = "TargetConditionNotMet"
772	// StorageErrorCodeUnauthorizedBlobOverwrite ...
773	StorageErrorCodeUnauthorizedBlobOverwrite StorageErrorCodeType = "UnauthorizedBlobOverwrite"
774	// StorageErrorCodeUnsupportedHeader ...
775	StorageErrorCodeUnsupportedHeader StorageErrorCodeType = "UnsupportedHeader"
776	// StorageErrorCodeUnsupportedHTTPVerb ...
777	StorageErrorCodeUnsupportedHTTPVerb StorageErrorCodeType = "UnsupportedHttpVerb"
778	// StorageErrorCodeUnsupportedQueryParameter ...
779	StorageErrorCodeUnsupportedQueryParameter StorageErrorCodeType = "UnsupportedQueryParameter"
780	// StorageErrorCodeUnsupportedXMLNode ...
781	StorageErrorCodeUnsupportedXMLNode StorageErrorCodeType = "UnsupportedXmlNode"
782)
783
784// PossibleStorageErrorCodeTypeValues returns an array of possible values for the StorageErrorCodeType const type.
785func PossibleStorageErrorCodeTypeValues() []StorageErrorCodeType {
786	return []StorageErrorCodeType{StorageErrorCodeAccountAlreadyExists, StorageErrorCodeAccountBeingCreated, StorageErrorCodeAccountIsDisabled, StorageErrorCodeAppendPositionConditionNotMet, StorageErrorCodeAuthenticationFailed, StorageErrorCodeAuthorizationFailure, StorageErrorCodeAuthorizationPermissionMismatch, StorageErrorCodeAuthorizationProtocolMismatch, StorageErrorCodeAuthorizationResourceTypeMismatch, StorageErrorCodeAuthorizationServiceMismatch, StorageErrorCodeAuthorizationSourceIPMismatch, StorageErrorCodeBlobAlreadyExists, StorageErrorCodeBlobArchived, StorageErrorCodeBlobBeingRehydrated, StorageErrorCodeBlobNotArchived, StorageErrorCodeBlobNotFound, StorageErrorCodeBlobOverwritten, StorageErrorCodeBlobTierInadequateForContentLength, StorageErrorCodeBlockCountExceedsLimit, StorageErrorCodeBlockListTooLong, StorageErrorCodeCannotChangeToLowerTier, StorageErrorCodeCannotVerifyCopySource, StorageErrorCodeConditionHeadersNotSupported, StorageErrorCodeConditionNotMet, StorageErrorCodeContainerAlreadyExists, StorageErrorCodeContainerBeingDeleted, StorageErrorCodeContainerDisabled, StorageErrorCodeContainerNotFound, StorageErrorCodeContentLengthLargerThanTierLimit, StorageErrorCodeCopyAcrossAccountsNotSupported, StorageErrorCodeCopyIDMismatch, StorageErrorCodeEmptyMetadataKey, StorageErrorCodeFeatureVersionMismatch, StorageErrorCodeIncrementalCopyBlobMismatch, StorageErrorCodeIncrementalCopyOfEralierVersionSnapshotNotAllowed, StorageErrorCodeIncrementalCopySourceMustBeSnapshot, StorageErrorCodeInfiniteLeaseDurationRequired, StorageErrorCodeInsufficientAccountPermissions, StorageErrorCodeInternalError, StorageErrorCodeInvalidAuthenticationInfo, StorageErrorCodeInvalidBlobOrBlock, StorageErrorCodeInvalidBlobTier, StorageErrorCodeInvalidBlobType, StorageErrorCodeInvalidBlockID, StorageErrorCodeInvalidBlockList, StorageErrorCodeInvalidHeaderValue, StorageErrorCodeInvalidHTTPVerb, StorageErrorCodeInvalidInput, StorageErrorCodeInvalidMd5, StorageErrorCodeInvalidMetadata, StorageErrorCodeInvalidOperation, StorageErrorCodeInvalidPageRange, StorageErrorCodeInvalidQueryParameterValue, StorageErrorCodeInvalidRange, StorageErrorCodeInvalidResourceName, StorageErrorCodeInvalidSourceBlobType, StorageErrorCodeInvalidSourceBlobURL, StorageErrorCodeInvalidURI, StorageErrorCodeInvalidVersionForPageBlobOperation, StorageErrorCodeInvalidXMLDocument, StorageErrorCodeInvalidXMLNodeValue, StorageErrorCodeLeaseAlreadyBroken, StorageErrorCodeLeaseAlreadyPresent, StorageErrorCodeLeaseIDMismatchWithBlobOperation, StorageErrorCodeLeaseIDMismatchWithContainerOperation, StorageErrorCodeLeaseIDMismatchWithLeaseOperation, StorageErrorCodeLeaseIDMissing, StorageErrorCodeLeaseIsBreakingAndCannotBeAcquired, StorageErrorCodeLeaseIsBreakingAndCannotBeChanged, StorageErrorCodeLeaseIsBrokenAndCannotBeRenewed, StorageErrorCodeLeaseLost, StorageErrorCodeLeaseNotPresentWithBlobOperation, StorageErrorCodeLeaseNotPresentWithContainerOperation, StorageErrorCodeLeaseNotPresentWithLeaseOperation, StorageErrorCodeMaxBlobSizeConditionNotMet, StorageErrorCodeMd5Mismatch, StorageErrorCodeMetadataTooLarge, StorageErrorCodeMissingContentLengthHeader, StorageErrorCodeMissingRequiredHeader, StorageErrorCodeMissingRequiredQueryParameter, StorageErrorCodeMissingRequiredXMLNode, StorageErrorCodeMultipleConditionHeadersNotSupported, StorageErrorCodeNoAuthenticationInformation, StorageErrorCodeNone, StorageErrorCodeNoPendingCopyOperation, StorageErrorCodeOperationNotAllowedOnIncrementalCopyBlob, StorageErrorCodeOperationTimedOut, StorageErrorCodeOutOfRangeInput, StorageErrorCodeOutOfRangeQueryParameterValue, StorageErrorCodePendingCopyOperation, StorageErrorCodePreviousSnapshotCannotBeNewer, StorageErrorCodePreviousSnapshotNotFound, StorageErrorCodePreviousSnapshotOperationNotSupported, StorageErrorCodeRequestBodyTooLarge, StorageErrorCodeRequestURLFailedToParse, StorageErrorCodeResourceAlreadyExists, StorageErrorCodeResourceNotFound, StorageErrorCodeResourceTypeMismatch, StorageErrorCodeSequenceNumberConditionNotMet, StorageErrorCodeSequenceNumberIncrementTooLarge, StorageErrorCodeServerBusy, StorageErrorCodeSnaphotOperationRateExceeded, StorageErrorCodeSnapshotCountExceeded, StorageErrorCodeSnapshotsPresent, StorageErrorCodeSourceConditionNotMet, StorageErrorCodeSystemInUse, StorageErrorCodeTargetConditionNotMet, StorageErrorCodeUnauthorizedBlobOverwrite, StorageErrorCodeUnsupportedHeader, StorageErrorCodeUnsupportedHTTPVerb, StorageErrorCodeUnsupportedQueryParameter, StorageErrorCodeUnsupportedXMLNode}
787}
788
789// SyncCopyStatusType enumerates the values for sync copy status type.
790type SyncCopyStatusType string
791
792const (
793	// SyncCopyStatusNone represents an empty SyncCopyStatusType.
794	SyncCopyStatusNone SyncCopyStatusType = ""
795	// SyncCopyStatusSuccess ...
796	SyncCopyStatusSuccess SyncCopyStatusType = "success"
797)
798
799// PossibleSyncCopyStatusTypeValues returns an array of possible values for the SyncCopyStatusType const type.
800func PossibleSyncCopyStatusTypeValues() []SyncCopyStatusType {
801	return []SyncCopyStatusType{SyncCopyStatusNone, SyncCopyStatusSuccess}
802}
803
804// AccessPolicy - An Access policy
805type AccessPolicy struct {
806	// Start - the date-time the policy is active
807	Start *time.Time `xml:"Start"`
808	// Expiry - the date-time the policy expires
809	Expiry *time.Time `xml:"Expiry"`
810	// Permission - the permissions for the acl policy
811	Permission *string `xml:"Permission"`
812}
813
814// MarshalXML implements the xml.Marshaler interface for AccessPolicy.
815func (ap AccessPolicy) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
816	ap2 := (*accessPolicy)(unsafe.Pointer(&ap))
817	return e.EncodeElement(*ap2, start)
818}
819
820// UnmarshalXML implements the xml.Unmarshaler interface for AccessPolicy.
821func (ap *AccessPolicy) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
822	ap2 := (*accessPolicy)(unsafe.Pointer(ap))
823	return d.DecodeElement(ap2, &start)
824}
825
826// AppendBlobAppendBlockFromURLResponse ...
827type AppendBlobAppendBlockFromURLResponse struct {
828	rawResponse *http.Response
829}
830
831// Response returns the raw HTTP response object.
832func (ababfur AppendBlobAppendBlockFromURLResponse) Response() *http.Response {
833	return ababfur.rawResponse
834}
835
836// StatusCode returns the HTTP status code of the response, e.g. 200.
837func (ababfur AppendBlobAppendBlockFromURLResponse) StatusCode() int {
838	return ababfur.rawResponse.StatusCode
839}
840
841// Status returns the HTTP status message of the response, e.g. "200 OK".
842func (ababfur AppendBlobAppendBlockFromURLResponse) Status() string {
843	return ababfur.rawResponse.Status
844}
845
846// BlobAppendOffset returns the value for header x-ms-blob-append-offset.
847func (ababfur AppendBlobAppendBlockFromURLResponse) BlobAppendOffset() string {
848	return ababfur.rawResponse.Header.Get("x-ms-blob-append-offset")
849}
850
851// BlobCommittedBlockCount returns the value for header x-ms-blob-committed-block-count.
852func (ababfur AppendBlobAppendBlockFromURLResponse) BlobCommittedBlockCount() int32 {
853	s := ababfur.rawResponse.Header.Get("x-ms-blob-committed-block-count")
854	if s == "" {
855		return -1
856	}
857	i, err := strconv.ParseInt(s, 10, 32)
858	if err != nil {
859		i = 0
860	}
861	return int32(i)
862}
863
864// ContentMD5 returns the value for header Content-MD5.
865func (ababfur AppendBlobAppendBlockFromURLResponse) ContentMD5() []byte {
866	s := ababfur.rawResponse.Header.Get("Content-MD5")
867	if s == "" {
868		return nil
869	}
870	b, err := base64.StdEncoding.DecodeString(s)
871	if err != nil {
872		b = nil
873	}
874	return b
875}
876
877// Date returns the value for header Date.
878func (ababfur AppendBlobAppendBlockFromURLResponse) Date() time.Time {
879	s := ababfur.rawResponse.Header.Get("Date")
880	if s == "" {
881		return time.Time{}
882	}
883	t, err := time.Parse(time.RFC1123, s)
884	if err != nil {
885		t = time.Time{}
886	}
887	return t
888}
889
890// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
891func (ababfur AppendBlobAppendBlockFromURLResponse) EncryptionKeySha256() string {
892	return ababfur.rawResponse.Header.Get("x-ms-encryption-key-sha256")
893}
894
895// EncryptionScope returns the value for header x-ms-encryption-scope.
896func (ababfur AppendBlobAppendBlockFromURLResponse) EncryptionScope() string {
897	return ababfur.rawResponse.Header.Get("x-ms-encryption-scope")
898}
899
900// ErrorCode returns the value for header x-ms-error-code.
901func (ababfur AppendBlobAppendBlockFromURLResponse) ErrorCode() string {
902	return ababfur.rawResponse.Header.Get("x-ms-error-code")
903}
904
905// ETag returns the value for header ETag.
906func (ababfur AppendBlobAppendBlockFromURLResponse) ETag() ETag {
907	return ETag(ababfur.rawResponse.Header.Get("ETag"))
908}
909
910// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
911func (ababfur AppendBlobAppendBlockFromURLResponse) IsServerEncrypted() string {
912	return ababfur.rawResponse.Header.Get("x-ms-request-server-encrypted")
913}
914
915// LastModified returns the value for header Last-Modified.
916func (ababfur AppendBlobAppendBlockFromURLResponse) LastModified() time.Time {
917	s := ababfur.rawResponse.Header.Get("Last-Modified")
918	if s == "" {
919		return time.Time{}
920	}
921	t, err := time.Parse(time.RFC1123, s)
922	if err != nil {
923		t = time.Time{}
924	}
925	return t
926}
927
928// RequestID returns the value for header x-ms-request-id.
929func (ababfur AppendBlobAppendBlockFromURLResponse) RequestID() string {
930	return ababfur.rawResponse.Header.Get("x-ms-request-id")
931}
932
933// Version returns the value for header x-ms-version.
934func (ababfur AppendBlobAppendBlockFromURLResponse) Version() string {
935	return ababfur.rawResponse.Header.Get("x-ms-version")
936}
937
938// XMsContentCrc64 returns the value for header x-ms-content-crc64.
939func (ababfur AppendBlobAppendBlockFromURLResponse) XMsContentCrc64() []byte {
940	s := ababfur.rawResponse.Header.Get("x-ms-content-crc64")
941	if s == "" {
942		return nil
943	}
944	b, err := base64.StdEncoding.DecodeString(s)
945	if err != nil {
946		b = nil
947	}
948	return b
949}
950
951// AppendBlobAppendBlockResponse ...
952type AppendBlobAppendBlockResponse struct {
953	rawResponse *http.Response
954}
955
956// Response returns the raw HTTP response object.
957func (ababr AppendBlobAppendBlockResponse) Response() *http.Response {
958	return ababr.rawResponse
959}
960
961// StatusCode returns the HTTP status code of the response, e.g. 200.
962func (ababr AppendBlobAppendBlockResponse) StatusCode() int {
963	return ababr.rawResponse.StatusCode
964}
965
966// Status returns the HTTP status message of the response, e.g. "200 OK".
967func (ababr AppendBlobAppendBlockResponse) Status() string {
968	return ababr.rawResponse.Status
969}
970
971// BlobAppendOffset returns the value for header x-ms-blob-append-offset.
972func (ababr AppendBlobAppendBlockResponse) BlobAppendOffset() string {
973	return ababr.rawResponse.Header.Get("x-ms-blob-append-offset")
974}
975
976// BlobCommittedBlockCount returns the value for header x-ms-blob-committed-block-count.
977func (ababr AppendBlobAppendBlockResponse) BlobCommittedBlockCount() int32 {
978	s := ababr.rawResponse.Header.Get("x-ms-blob-committed-block-count")
979	if s == "" {
980		return -1
981	}
982	i, err := strconv.ParseInt(s, 10, 32)
983	if err != nil {
984		i = 0
985	}
986	return int32(i)
987}
988
989// ClientRequestID returns the value for header x-ms-client-request-id.
990func (ababr AppendBlobAppendBlockResponse) ClientRequestID() string {
991	return ababr.rawResponse.Header.Get("x-ms-client-request-id")
992}
993
994// ContentMD5 returns the value for header Content-MD5.
995func (ababr AppendBlobAppendBlockResponse) ContentMD5() []byte {
996	s := ababr.rawResponse.Header.Get("Content-MD5")
997	if s == "" {
998		return nil
999	}
1000	b, err := base64.StdEncoding.DecodeString(s)
1001	if err != nil {
1002		b = nil
1003	}
1004	return b
1005}
1006
1007// Date returns the value for header Date.
1008func (ababr AppendBlobAppendBlockResponse) Date() time.Time {
1009	s := ababr.rawResponse.Header.Get("Date")
1010	if s == "" {
1011		return time.Time{}
1012	}
1013	t, err := time.Parse(time.RFC1123, s)
1014	if err != nil {
1015		t = time.Time{}
1016	}
1017	return t
1018}
1019
1020// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
1021func (ababr AppendBlobAppendBlockResponse) EncryptionKeySha256() string {
1022	return ababr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
1023}
1024
1025// EncryptionScope returns the value for header x-ms-encryption-scope.
1026func (ababr AppendBlobAppendBlockResponse) EncryptionScope() string {
1027	return ababr.rawResponse.Header.Get("x-ms-encryption-scope")
1028}
1029
1030// ErrorCode returns the value for header x-ms-error-code.
1031func (ababr AppendBlobAppendBlockResponse) ErrorCode() string {
1032	return ababr.rawResponse.Header.Get("x-ms-error-code")
1033}
1034
1035// ETag returns the value for header ETag.
1036func (ababr AppendBlobAppendBlockResponse) ETag() ETag {
1037	return ETag(ababr.rawResponse.Header.Get("ETag"))
1038}
1039
1040// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
1041func (ababr AppendBlobAppendBlockResponse) IsServerEncrypted() string {
1042	return ababr.rawResponse.Header.Get("x-ms-request-server-encrypted")
1043}
1044
1045// LastModified returns the value for header Last-Modified.
1046func (ababr AppendBlobAppendBlockResponse) LastModified() time.Time {
1047	s := ababr.rawResponse.Header.Get("Last-Modified")
1048	if s == "" {
1049		return time.Time{}
1050	}
1051	t, err := time.Parse(time.RFC1123, s)
1052	if err != nil {
1053		t = time.Time{}
1054	}
1055	return t
1056}
1057
1058// RequestID returns the value for header x-ms-request-id.
1059func (ababr AppendBlobAppendBlockResponse) RequestID() string {
1060	return ababr.rawResponse.Header.Get("x-ms-request-id")
1061}
1062
1063// Version returns the value for header x-ms-version.
1064func (ababr AppendBlobAppendBlockResponse) Version() string {
1065	return ababr.rawResponse.Header.Get("x-ms-version")
1066}
1067
1068// XMsContentCrc64 returns the value for header x-ms-content-crc64.
1069func (ababr AppendBlobAppendBlockResponse) XMsContentCrc64() []byte {
1070	s := ababr.rawResponse.Header.Get("x-ms-content-crc64")
1071	if s == "" {
1072		return nil
1073	}
1074	b, err := base64.StdEncoding.DecodeString(s)
1075	if err != nil {
1076		b = nil
1077	}
1078	return b
1079}
1080
1081// AppendBlobCreateResponse ...
1082type AppendBlobCreateResponse struct {
1083	rawResponse *http.Response
1084}
1085
1086// Response returns the raw HTTP response object.
1087func (abcr AppendBlobCreateResponse) Response() *http.Response {
1088	return abcr.rawResponse
1089}
1090
1091// StatusCode returns the HTTP status code of the response, e.g. 200.
1092func (abcr AppendBlobCreateResponse) StatusCode() int {
1093	return abcr.rawResponse.StatusCode
1094}
1095
1096// Status returns the HTTP status message of the response, e.g. "200 OK".
1097func (abcr AppendBlobCreateResponse) Status() string {
1098	return abcr.rawResponse.Status
1099}
1100
1101// ClientRequestID returns the value for header x-ms-client-request-id.
1102func (abcr AppendBlobCreateResponse) ClientRequestID() string {
1103	return abcr.rawResponse.Header.Get("x-ms-client-request-id")
1104}
1105
1106// ContentMD5 returns the value for header Content-MD5.
1107func (abcr AppendBlobCreateResponse) ContentMD5() []byte {
1108	s := abcr.rawResponse.Header.Get("Content-MD5")
1109	if s == "" {
1110		return nil
1111	}
1112	b, err := base64.StdEncoding.DecodeString(s)
1113	if err != nil {
1114		b = nil
1115	}
1116	return b
1117}
1118
1119// Date returns the value for header Date.
1120func (abcr AppendBlobCreateResponse) Date() time.Time {
1121	s := abcr.rawResponse.Header.Get("Date")
1122	if s == "" {
1123		return time.Time{}
1124	}
1125	t, err := time.Parse(time.RFC1123, s)
1126	if err != nil {
1127		t = time.Time{}
1128	}
1129	return t
1130}
1131
1132// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
1133func (abcr AppendBlobCreateResponse) EncryptionKeySha256() string {
1134	return abcr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
1135}
1136
1137// EncryptionScope returns the value for header x-ms-encryption-scope.
1138func (abcr AppendBlobCreateResponse) EncryptionScope() string {
1139	return abcr.rawResponse.Header.Get("x-ms-encryption-scope")
1140}
1141
1142// ErrorCode returns the value for header x-ms-error-code.
1143func (abcr AppendBlobCreateResponse) ErrorCode() string {
1144	return abcr.rawResponse.Header.Get("x-ms-error-code")
1145}
1146
1147// ETag returns the value for header ETag.
1148func (abcr AppendBlobCreateResponse) ETag() ETag {
1149	return ETag(abcr.rawResponse.Header.Get("ETag"))
1150}
1151
1152// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
1153func (abcr AppendBlobCreateResponse) IsServerEncrypted() string {
1154	return abcr.rawResponse.Header.Get("x-ms-request-server-encrypted")
1155}
1156
1157// LastModified returns the value for header Last-Modified.
1158func (abcr AppendBlobCreateResponse) LastModified() time.Time {
1159	s := abcr.rawResponse.Header.Get("Last-Modified")
1160	if s == "" {
1161		return time.Time{}
1162	}
1163	t, err := time.Parse(time.RFC1123, s)
1164	if err != nil {
1165		t = time.Time{}
1166	}
1167	return t
1168}
1169
1170// RequestID returns the value for header x-ms-request-id.
1171func (abcr AppendBlobCreateResponse) RequestID() string {
1172	return abcr.rawResponse.Header.Get("x-ms-request-id")
1173}
1174
1175// Version returns the value for header x-ms-version.
1176func (abcr AppendBlobCreateResponse) Version() string {
1177	return abcr.rawResponse.Header.Get("x-ms-version")
1178}
1179
1180// VersionID returns the value for header x-ms-version-id.
1181func (abcr AppendBlobCreateResponse) VersionID() string {
1182	return abcr.rawResponse.Header.Get("x-ms-version-id")
1183}
1184
1185// AppendBlobSealResponse ...
1186type AppendBlobSealResponse struct {
1187	rawResponse *http.Response
1188}
1189
1190// Response returns the raw HTTP response object.
1191func (absr AppendBlobSealResponse) Response() *http.Response {
1192	return absr.rawResponse
1193}
1194
1195// StatusCode returns the HTTP status code of the response, e.g. 200.
1196func (absr AppendBlobSealResponse) StatusCode() int {
1197	return absr.rawResponse.StatusCode
1198}
1199
1200// Status returns the HTTP status message of the response, e.g. "200 OK".
1201func (absr AppendBlobSealResponse) Status() string {
1202	return absr.rawResponse.Status
1203}
1204
1205// ClientRequestID returns the value for header x-ms-client-request-id.
1206func (absr AppendBlobSealResponse) ClientRequestID() string {
1207	return absr.rawResponse.Header.Get("x-ms-client-request-id")
1208}
1209
1210// Date returns the value for header Date.
1211func (absr AppendBlobSealResponse) Date() time.Time {
1212	s := absr.rawResponse.Header.Get("Date")
1213	if s == "" {
1214		return time.Time{}
1215	}
1216	t, err := time.Parse(time.RFC1123, s)
1217	if err != nil {
1218		t = time.Time{}
1219	}
1220	return t
1221}
1222
1223// ErrorCode returns the value for header x-ms-error-code.
1224func (absr AppendBlobSealResponse) ErrorCode() string {
1225	return absr.rawResponse.Header.Get("x-ms-error-code")
1226}
1227
1228// ETag returns the value for header ETag.
1229func (absr AppendBlobSealResponse) ETag() ETag {
1230	return ETag(absr.rawResponse.Header.Get("ETag"))
1231}
1232
1233// IsSealed returns the value for header x-ms-blob-sealed.
1234func (absr AppendBlobSealResponse) IsSealed() string {
1235	return absr.rawResponse.Header.Get("x-ms-blob-sealed")
1236}
1237
1238// LastModified returns the value for header Last-Modified.
1239func (absr AppendBlobSealResponse) LastModified() time.Time {
1240	s := absr.rawResponse.Header.Get("Last-Modified")
1241	if s == "" {
1242		return time.Time{}
1243	}
1244	t, err := time.Parse(time.RFC1123, s)
1245	if err != nil {
1246		t = time.Time{}
1247	}
1248	return t
1249}
1250
1251// RequestID returns the value for header x-ms-request-id.
1252func (absr AppendBlobSealResponse) RequestID() string {
1253	return absr.rawResponse.Header.Get("x-ms-request-id")
1254}
1255
1256// Version returns the value for header x-ms-version.
1257func (absr AppendBlobSealResponse) Version() string {
1258	return absr.rawResponse.Header.Get("x-ms-version")
1259}
1260
1261// BlobAbortCopyFromURLResponse ...
1262type BlobAbortCopyFromURLResponse struct {
1263	rawResponse *http.Response
1264}
1265
1266// Response returns the raw HTTP response object.
1267func (bacfur BlobAbortCopyFromURLResponse) Response() *http.Response {
1268	return bacfur.rawResponse
1269}
1270
1271// StatusCode returns the HTTP status code of the response, e.g. 200.
1272func (bacfur BlobAbortCopyFromURLResponse) StatusCode() int {
1273	return bacfur.rawResponse.StatusCode
1274}
1275
1276// Status returns the HTTP status message of the response, e.g. "200 OK".
1277func (bacfur BlobAbortCopyFromURLResponse) Status() string {
1278	return bacfur.rawResponse.Status
1279}
1280
1281// ClientRequestID returns the value for header x-ms-client-request-id.
1282func (bacfur BlobAbortCopyFromURLResponse) ClientRequestID() string {
1283	return bacfur.rawResponse.Header.Get("x-ms-client-request-id")
1284}
1285
1286// Date returns the value for header Date.
1287func (bacfur BlobAbortCopyFromURLResponse) Date() time.Time {
1288	s := bacfur.rawResponse.Header.Get("Date")
1289	if s == "" {
1290		return time.Time{}
1291	}
1292	t, err := time.Parse(time.RFC1123, s)
1293	if err != nil {
1294		t = time.Time{}
1295	}
1296	return t
1297}
1298
1299// ErrorCode returns the value for header x-ms-error-code.
1300func (bacfur BlobAbortCopyFromURLResponse) ErrorCode() string {
1301	return bacfur.rawResponse.Header.Get("x-ms-error-code")
1302}
1303
1304// RequestID returns the value for header x-ms-request-id.
1305func (bacfur BlobAbortCopyFromURLResponse) RequestID() string {
1306	return bacfur.rawResponse.Header.Get("x-ms-request-id")
1307}
1308
1309// Version returns the value for header x-ms-version.
1310func (bacfur BlobAbortCopyFromURLResponse) Version() string {
1311	return bacfur.rawResponse.Header.Get("x-ms-version")
1312}
1313
1314// BlobAcquireLeaseResponse ...
1315type BlobAcquireLeaseResponse struct {
1316	rawResponse *http.Response
1317}
1318
1319// Response returns the raw HTTP response object.
1320func (balr BlobAcquireLeaseResponse) Response() *http.Response {
1321	return balr.rawResponse
1322}
1323
1324// StatusCode returns the HTTP status code of the response, e.g. 200.
1325func (balr BlobAcquireLeaseResponse) StatusCode() int {
1326	return balr.rawResponse.StatusCode
1327}
1328
1329// Status returns the HTTP status message of the response, e.g. "200 OK".
1330func (balr BlobAcquireLeaseResponse) Status() string {
1331	return balr.rawResponse.Status
1332}
1333
1334// ClientRequestID returns the value for header x-ms-client-request-id.
1335func (balr BlobAcquireLeaseResponse) ClientRequestID() string {
1336	return balr.rawResponse.Header.Get("x-ms-client-request-id")
1337}
1338
1339// Date returns the value for header Date.
1340func (balr BlobAcquireLeaseResponse) Date() time.Time {
1341	s := balr.rawResponse.Header.Get("Date")
1342	if s == "" {
1343		return time.Time{}
1344	}
1345	t, err := time.Parse(time.RFC1123, s)
1346	if err != nil {
1347		t = time.Time{}
1348	}
1349	return t
1350}
1351
1352// ErrorCode returns the value for header x-ms-error-code.
1353func (balr BlobAcquireLeaseResponse) ErrorCode() string {
1354	return balr.rawResponse.Header.Get("x-ms-error-code")
1355}
1356
1357// ETag returns the value for header ETag.
1358func (balr BlobAcquireLeaseResponse) ETag() ETag {
1359	return ETag(balr.rawResponse.Header.Get("ETag"))
1360}
1361
1362// LastModified returns the value for header Last-Modified.
1363func (balr BlobAcquireLeaseResponse) LastModified() time.Time {
1364	s := balr.rawResponse.Header.Get("Last-Modified")
1365	if s == "" {
1366		return time.Time{}
1367	}
1368	t, err := time.Parse(time.RFC1123, s)
1369	if err != nil {
1370		t = time.Time{}
1371	}
1372	return t
1373}
1374
1375// LeaseID returns the value for header x-ms-lease-id.
1376func (balr BlobAcquireLeaseResponse) LeaseID() string {
1377	return balr.rawResponse.Header.Get("x-ms-lease-id")
1378}
1379
1380// RequestID returns the value for header x-ms-request-id.
1381func (balr BlobAcquireLeaseResponse) RequestID() string {
1382	return balr.rawResponse.Header.Get("x-ms-request-id")
1383}
1384
1385// Version returns the value for header x-ms-version.
1386func (balr BlobAcquireLeaseResponse) Version() string {
1387	return balr.rawResponse.Header.Get("x-ms-version")
1388}
1389
1390// BlobBreakLeaseResponse ...
1391type BlobBreakLeaseResponse struct {
1392	rawResponse *http.Response
1393}
1394
1395// Response returns the raw HTTP response object.
1396func (bblr BlobBreakLeaseResponse) Response() *http.Response {
1397	return bblr.rawResponse
1398}
1399
1400// StatusCode returns the HTTP status code of the response, e.g. 200.
1401func (bblr BlobBreakLeaseResponse) StatusCode() int {
1402	return bblr.rawResponse.StatusCode
1403}
1404
1405// Status returns the HTTP status message of the response, e.g. "200 OK".
1406func (bblr BlobBreakLeaseResponse) Status() string {
1407	return bblr.rawResponse.Status
1408}
1409
1410// ClientRequestID returns the value for header x-ms-client-request-id.
1411func (bblr BlobBreakLeaseResponse) ClientRequestID() string {
1412	return bblr.rawResponse.Header.Get("x-ms-client-request-id")
1413}
1414
1415// Date returns the value for header Date.
1416func (bblr BlobBreakLeaseResponse) Date() time.Time {
1417	s := bblr.rawResponse.Header.Get("Date")
1418	if s == "" {
1419		return time.Time{}
1420	}
1421	t, err := time.Parse(time.RFC1123, s)
1422	if err != nil {
1423		t = time.Time{}
1424	}
1425	return t
1426}
1427
1428// ErrorCode returns the value for header x-ms-error-code.
1429func (bblr BlobBreakLeaseResponse) ErrorCode() string {
1430	return bblr.rawResponse.Header.Get("x-ms-error-code")
1431}
1432
1433// ETag returns the value for header ETag.
1434func (bblr BlobBreakLeaseResponse) ETag() ETag {
1435	return ETag(bblr.rawResponse.Header.Get("ETag"))
1436}
1437
1438// LastModified returns the value for header Last-Modified.
1439func (bblr BlobBreakLeaseResponse) LastModified() time.Time {
1440	s := bblr.rawResponse.Header.Get("Last-Modified")
1441	if s == "" {
1442		return time.Time{}
1443	}
1444	t, err := time.Parse(time.RFC1123, s)
1445	if err != nil {
1446		t = time.Time{}
1447	}
1448	return t
1449}
1450
1451// LeaseTime returns the value for header x-ms-lease-time.
1452func (bblr BlobBreakLeaseResponse) LeaseTime() int32 {
1453	s := bblr.rawResponse.Header.Get("x-ms-lease-time")
1454	if s == "" {
1455		return -1
1456	}
1457	i, err := strconv.ParseInt(s, 10, 32)
1458	if err != nil {
1459		i = 0
1460	}
1461	return int32(i)
1462}
1463
1464// RequestID returns the value for header x-ms-request-id.
1465func (bblr BlobBreakLeaseResponse) RequestID() string {
1466	return bblr.rawResponse.Header.Get("x-ms-request-id")
1467}
1468
1469// Version returns the value for header x-ms-version.
1470func (bblr BlobBreakLeaseResponse) Version() string {
1471	return bblr.rawResponse.Header.Get("x-ms-version")
1472}
1473
1474// BlobChangeLeaseResponse ...
1475type BlobChangeLeaseResponse struct {
1476	rawResponse *http.Response
1477}
1478
1479// Response returns the raw HTTP response object.
1480func (bclr BlobChangeLeaseResponse) Response() *http.Response {
1481	return bclr.rawResponse
1482}
1483
1484// StatusCode returns the HTTP status code of the response, e.g. 200.
1485func (bclr BlobChangeLeaseResponse) StatusCode() int {
1486	return bclr.rawResponse.StatusCode
1487}
1488
1489// Status returns the HTTP status message of the response, e.g. "200 OK".
1490func (bclr BlobChangeLeaseResponse) Status() string {
1491	return bclr.rawResponse.Status
1492}
1493
1494// ClientRequestID returns the value for header x-ms-client-request-id.
1495func (bclr BlobChangeLeaseResponse) ClientRequestID() string {
1496	return bclr.rawResponse.Header.Get("x-ms-client-request-id")
1497}
1498
1499// Date returns the value for header Date.
1500func (bclr BlobChangeLeaseResponse) Date() time.Time {
1501	s := bclr.rawResponse.Header.Get("Date")
1502	if s == "" {
1503		return time.Time{}
1504	}
1505	t, err := time.Parse(time.RFC1123, s)
1506	if err != nil {
1507		t = time.Time{}
1508	}
1509	return t
1510}
1511
1512// ErrorCode returns the value for header x-ms-error-code.
1513func (bclr BlobChangeLeaseResponse) ErrorCode() string {
1514	return bclr.rawResponse.Header.Get("x-ms-error-code")
1515}
1516
1517// ETag returns the value for header ETag.
1518func (bclr BlobChangeLeaseResponse) ETag() ETag {
1519	return ETag(bclr.rawResponse.Header.Get("ETag"))
1520}
1521
1522// LastModified returns the value for header Last-Modified.
1523func (bclr BlobChangeLeaseResponse) LastModified() time.Time {
1524	s := bclr.rawResponse.Header.Get("Last-Modified")
1525	if s == "" {
1526		return time.Time{}
1527	}
1528	t, err := time.Parse(time.RFC1123, s)
1529	if err != nil {
1530		t = time.Time{}
1531	}
1532	return t
1533}
1534
1535// LeaseID returns the value for header x-ms-lease-id.
1536func (bclr BlobChangeLeaseResponse) LeaseID() string {
1537	return bclr.rawResponse.Header.Get("x-ms-lease-id")
1538}
1539
1540// RequestID returns the value for header x-ms-request-id.
1541func (bclr BlobChangeLeaseResponse) RequestID() string {
1542	return bclr.rawResponse.Header.Get("x-ms-request-id")
1543}
1544
1545// Version returns the value for header x-ms-version.
1546func (bclr BlobChangeLeaseResponse) Version() string {
1547	return bclr.rawResponse.Header.Get("x-ms-version")
1548}
1549
1550// BlobCopyFromURLResponse ...
1551type BlobCopyFromURLResponse struct {
1552	rawResponse *http.Response
1553}
1554
1555// Response returns the raw HTTP response object.
1556func (bcfur BlobCopyFromURLResponse) Response() *http.Response {
1557	return bcfur.rawResponse
1558}
1559
1560// StatusCode returns the HTTP status code of the response, e.g. 200.
1561func (bcfur BlobCopyFromURLResponse) StatusCode() int {
1562	return bcfur.rawResponse.StatusCode
1563}
1564
1565// Status returns the HTTP status message of the response, e.g. "200 OK".
1566func (bcfur BlobCopyFromURLResponse) Status() string {
1567	return bcfur.rawResponse.Status
1568}
1569
1570// ClientRequestID returns the value for header x-ms-client-request-id.
1571func (bcfur BlobCopyFromURLResponse) ClientRequestID() string {
1572	return bcfur.rawResponse.Header.Get("x-ms-client-request-id")
1573}
1574
1575// ContentMD5 returns the value for header Content-MD5.
1576func (bcfur BlobCopyFromURLResponse) ContentMD5() []byte {
1577	s := bcfur.rawResponse.Header.Get("Content-MD5")
1578	if s == "" {
1579		return nil
1580	}
1581	b, err := base64.StdEncoding.DecodeString(s)
1582	if err != nil {
1583		b = nil
1584	}
1585	return b
1586}
1587
1588// CopyID returns the value for header x-ms-copy-id.
1589func (bcfur BlobCopyFromURLResponse) CopyID() string {
1590	return bcfur.rawResponse.Header.Get("x-ms-copy-id")
1591}
1592
1593// CopyStatus returns the value for header x-ms-copy-status.
1594func (bcfur BlobCopyFromURLResponse) CopyStatus() SyncCopyStatusType {
1595	return SyncCopyStatusType(bcfur.rawResponse.Header.Get("x-ms-copy-status"))
1596}
1597
1598// Date returns the value for header Date.
1599func (bcfur BlobCopyFromURLResponse) Date() time.Time {
1600	s := bcfur.rawResponse.Header.Get("Date")
1601	if s == "" {
1602		return time.Time{}
1603	}
1604	t, err := time.Parse(time.RFC1123, s)
1605	if err != nil {
1606		t = time.Time{}
1607	}
1608	return t
1609}
1610
1611// ErrorCode returns the value for header x-ms-error-code.
1612func (bcfur BlobCopyFromURLResponse) ErrorCode() string {
1613	return bcfur.rawResponse.Header.Get("x-ms-error-code")
1614}
1615
1616// ETag returns the value for header ETag.
1617func (bcfur BlobCopyFromURLResponse) ETag() ETag {
1618	return ETag(bcfur.rawResponse.Header.Get("ETag"))
1619}
1620
1621// LastModified returns the value for header Last-Modified.
1622func (bcfur BlobCopyFromURLResponse) LastModified() time.Time {
1623	s := bcfur.rawResponse.Header.Get("Last-Modified")
1624	if s == "" {
1625		return time.Time{}
1626	}
1627	t, err := time.Parse(time.RFC1123, s)
1628	if err != nil {
1629		t = time.Time{}
1630	}
1631	return t
1632}
1633
1634// RequestID returns the value for header x-ms-request-id.
1635func (bcfur BlobCopyFromURLResponse) RequestID() string {
1636	return bcfur.rawResponse.Header.Get("x-ms-request-id")
1637}
1638
1639// Version returns the value for header x-ms-version.
1640func (bcfur BlobCopyFromURLResponse) Version() string {
1641	return bcfur.rawResponse.Header.Get("x-ms-version")
1642}
1643
1644// VersionID returns the value for header x-ms-version-id.
1645func (bcfur BlobCopyFromURLResponse) VersionID() string {
1646	return bcfur.rawResponse.Header.Get("x-ms-version-id")
1647}
1648
1649// XMsContentCrc64 returns the value for header x-ms-content-crc64.
1650func (bcfur BlobCopyFromURLResponse) XMsContentCrc64() []byte {
1651	s := bcfur.rawResponse.Header.Get("x-ms-content-crc64")
1652	if s == "" {
1653		return nil
1654	}
1655	b, err := base64.StdEncoding.DecodeString(s)
1656	if err != nil {
1657		b = nil
1658	}
1659	return b
1660}
1661
1662// BlobCreateSnapshotResponse ...
1663type BlobCreateSnapshotResponse struct {
1664	rawResponse *http.Response
1665}
1666
1667// Response returns the raw HTTP response object.
1668func (bcsr BlobCreateSnapshotResponse) Response() *http.Response {
1669	return bcsr.rawResponse
1670}
1671
1672// StatusCode returns the HTTP status code of the response, e.g. 200.
1673func (bcsr BlobCreateSnapshotResponse) StatusCode() int {
1674	return bcsr.rawResponse.StatusCode
1675}
1676
1677// Status returns the HTTP status message of the response, e.g. "200 OK".
1678func (bcsr BlobCreateSnapshotResponse) Status() string {
1679	return bcsr.rawResponse.Status
1680}
1681
1682// ClientRequestID returns the value for header x-ms-client-request-id.
1683func (bcsr BlobCreateSnapshotResponse) ClientRequestID() string {
1684	return bcsr.rawResponse.Header.Get("x-ms-client-request-id")
1685}
1686
1687// Date returns the value for header Date.
1688func (bcsr BlobCreateSnapshotResponse) Date() time.Time {
1689	s := bcsr.rawResponse.Header.Get("Date")
1690	if s == "" {
1691		return time.Time{}
1692	}
1693	t, err := time.Parse(time.RFC1123, s)
1694	if err != nil {
1695		t = time.Time{}
1696	}
1697	return t
1698}
1699
1700// ErrorCode returns the value for header x-ms-error-code.
1701func (bcsr BlobCreateSnapshotResponse) ErrorCode() string {
1702	return bcsr.rawResponse.Header.Get("x-ms-error-code")
1703}
1704
1705// ETag returns the value for header ETag.
1706func (bcsr BlobCreateSnapshotResponse) ETag() ETag {
1707	return ETag(bcsr.rawResponse.Header.Get("ETag"))
1708}
1709
1710// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
1711func (bcsr BlobCreateSnapshotResponse) IsServerEncrypted() string {
1712	return bcsr.rawResponse.Header.Get("x-ms-request-server-encrypted")
1713}
1714
1715// LastModified returns the value for header Last-Modified.
1716func (bcsr BlobCreateSnapshotResponse) LastModified() time.Time {
1717	s := bcsr.rawResponse.Header.Get("Last-Modified")
1718	if s == "" {
1719		return time.Time{}
1720	}
1721	t, err := time.Parse(time.RFC1123, s)
1722	if err != nil {
1723		t = time.Time{}
1724	}
1725	return t
1726}
1727
1728// RequestID returns the value for header x-ms-request-id.
1729func (bcsr BlobCreateSnapshotResponse) RequestID() string {
1730	return bcsr.rawResponse.Header.Get("x-ms-request-id")
1731}
1732
1733// Snapshot returns the value for header x-ms-snapshot.
1734func (bcsr BlobCreateSnapshotResponse) Snapshot() string {
1735	return bcsr.rawResponse.Header.Get("x-ms-snapshot")
1736}
1737
1738// Version returns the value for header x-ms-version.
1739func (bcsr BlobCreateSnapshotResponse) Version() string {
1740	return bcsr.rawResponse.Header.Get("x-ms-version")
1741}
1742
1743// VersionID returns the value for header x-ms-version-id.
1744func (bcsr BlobCreateSnapshotResponse) VersionID() string {
1745	return bcsr.rawResponse.Header.Get("x-ms-version-id")
1746}
1747
1748// BlobDeleteResponse ...
1749type BlobDeleteResponse struct {
1750	rawResponse *http.Response
1751}
1752
1753// Response returns the raw HTTP response object.
1754func (bdr BlobDeleteResponse) Response() *http.Response {
1755	return bdr.rawResponse
1756}
1757
1758// StatusCode returns the HTTP status code of the response, e.g. 200.
1759func (bdr BlobDeleteResponse) StatusCode() int {
1760	return bdr.rawResponse.StatusCode
1761}
1762
1763// Status returns the HTTP status message of the response, e.g. "200 OK".
1764func (bdr BlobDeleteResponse) Status() string {
1765	return bdr.rawResponse.Status
1766}
1767
1768// ClientRequestID returns the value for header x-ms-client-request-id.
1769func (bdr BlobDeleteResponse) ClientRequestID() string {
1770	return bdr.rawResponse.Header.Get("x-ms-client-request-id")
1771}
1772
1773// Date returns the value for header Date.
1774func (bdr BlobDeleteResponse) Date() time.Time {
1775	s := bdr.rawResponse.Header.Get("Date")
1776	if s == "" {
1777		return time.Time{}
1778	}
1779	t, err := time.Parse(time.RFC1123, s)
1780	if err != nil {
1781		t = time.Time{}
1782	}
1783	return t
1784}
1785
1786// ErrorCode returns the value for header x-ms-error-code.
1787func (bdr BlobDeleteResponse) ErrorCode() string {
1788	return bdr.rawResponse.Header.Get("x-ms-error-code")
1789}
1790
1791// RequestID returns the value for header x-ms-request-id.
1792func (bdr BlobDeleteResponse) RequestID() string {
1793	return bdr.rawResponse.Header.Get("x-ms-request-id")
1794}
1795
1796// Version returns the value for header x-ms-version.
1797func (bdr BlobDeleteResponse) Version() string {
1798	return bdr.rawResponse.Header.Get("x-ms-version")
1799}
1800
1801// BlobFlatListSegment ...
1802type BlobFlatListSegment struct {
1803	// XMLName is used for marshalling and is subject to removal in a future release.
1804	XMLName   xml.Name           `xml:"Blobs"`
1805	BlobItems []BlobItemInternal `xml:"Blob"`
1806}
1807
1808// BlobGetAccessControlResponse ...
1809type BlobGetAccessControlResponse struct {
1810	rawResponse *http.Response
1811}
1812
1813// Response returns the raw HTTP response object.
1814func (bgacr BlobGetAccessControlResponse) Response() *http.Response {
1815	return bgacr.rawResponse
1816}
1817
1818// StatusCode returns the HTTP status code of the response, e.g. 200.
1819func (bgacr BlobGetAccessControlResponse) StatusCode() int {
1820	return bgacr.rawResponse.StatusCode
1821}
1822
1823// Status returns the HTTP status message of the response, e.g. "200 OK".
1824func (bgacr BlobGetAccessControlResponse) Status() string {
1825	return bgacr.rawResponse.Status
1826}
1827
1828// ClientRequestID returns the value for header x-ms-client-request-id.
1829func (bgacr BlobGetAccessControlResponse) ClientRequestID() string {
1830	return bgacr.rawResponse.Header.Get("x-ms-client-request-id")
1831}
1832
1833// Date returns the value for header Date.
1834func (bgacr BlobGetAccessControlResponse) Date() time.Time {
1835	s := bgacr.rawResponse.Header.Get("Date")
1836	if s == "" {
1837		return time.Time{}
1838	}
1839	t, err := time.Parse(time.RFC1123, s)
1840	if err != nil {
1841		t = time.Time{}
1842	}
1843	return t
1844}
1845
1846// ETag returns the value for header ETag.
1847func (bgacr BlobGetAccessControlResponse) ETag() ETag {
1848	return ETag(bgacr.rawResponse.Header.Get("ETag"))
1849}
1850
1851// LastModified returns the value for header Last-Modified.
1852func (bgacr BlobGetAccessControlResponse) LastModified() time.Time {
1853	s := bgacr.rawResponse.Header.Get("Last-Modified")
1854	if s == "" {
1855		return time.Time{}
1856	}
1857	t, err := time.Parse(time.RFC1123, s)
1858	if err != nil {
1859		t = time.Time{}
1860	}
1861	return t
1862}
1863
1864// RequestID returns the value for header x-ms-request-id.
1865func (bgacr BlobGetAccessControlResponse) RequestID() string {
1866	return bgacr.rawResponse.Header.Get("x-ms-request-id")
1867}
1868
1869// Version returns the value for header x-ms-version.
1870func (bgacr BlobGetAccessControlResponse) Version() string {
1871	return bgacr.rawResponse.Header.Get("x-ms-version")
1872}
1873
1874// XMsACL returns the value for header x-ms-acl.
1875func (bgacr BlobGetAccessControlResponse) XMsACL() string {
1876	return bgacr.rawResponse.Header.Get("x-ms-acl")
1877}
1878
1879// XMsGroup returns the value for header x-ms-group.
1880func (bgacr BlobGetAccessControlResponse) XMsGroup() string {
1881	return bgacr.rawResponse.Header.Get("x-ms-group")
1882}
1883
1884// XMsOwner returns the value for header x-ms-owner.
1885func (bgacr BlobGetAccessControlResponse) XMsOwner() string {
1886	return bgacr.rawResponse.Header.Get("x-ms-owner")
1887}
1888
1889// XMsPermissions returns the value for header x-ms-permissions.
1890func (bgacr BlobGetAccessControlResponse) XMsPermissions() string {
1891	return bgacr.rawResponse.Header.Get("x-ms-permissions")
1892}
1893
1894// BlobGetAccountInfoResponse ...
1895type BlobGetAccountInfoResponse struct {
1896	rawResponse *http.Response
1897}
1898
1899// Response returns the raw HTTP response object.
1900func (bgair BlobGetAccountInfoResponse) Response() *http.Response {
1901	return bgair.rawResponse
1902}
1903
1904// StatusCode returns the HTTP status code of the response, e.g. 200.
1905func (bgair BlobGetAccountInfoResponse) StatusCode() int {
1906	return bgair.rawResponse.StatusCode
1907}
1908
1909// Status returns the HTTP status message of the response, e.g. "200 OK".
1910func (bgair BlobGetAccountInfoResponse) Status() string {
1911	return bgair.rawResponse.Status
1912}
1913
1914// AccountKind returns the value for header x-ms-account-kind.
1915func (bgair BlobGetAccountInfoResponse) AccountKind() AccountKindType {
1916	return AccountKindType(bgair.rawResponse.Header.Get("x-ms-account-kind"))
1917}
1918
1919// ClientRequestID returns the value for header x-ms-client-request-id.
1920func (bgair BlobGetAccountInfoResponse) ClientRequestID() string {
1921	return bgair.rawResponse.Header.Get("x-ms-client-request-id")
1922}
1923
1924// Date returns the value for header Date.
1925func (bgair BlobGetAccountInfoResponse) Date() time.Time {
1926	s := bgair.rawResponse.Header.Get("Date")
1927	if s == "" {
1928		return time.Time{}
1929	}
1930	t, err := time.Parse(time.RFC1123, s)
1931	if err != nil {
1932		t = time.Time{}
1933	}
1934	return t
1935}
1936
1937// ErrorCode returns the value for header x-ms-error-code.
1938func (bgair BlobGetAccountInfoResponse) ErrorCode() string {
1939	return bgair.rawResponse.Header.Get("x-ms-error-code")
1940}
1941
1942// RequestID returns the value for header x-ms-request-id.
1943func (bgair BlobGetAccountInfoResponse) RequestID() string {
1944	return bgair.rawResponse.Header.Get("x-ms-request-id")
1945}
1946
1947// SkuName returns the value for header x-ms-sku-name.
1948func (bgair BlobGetAccountInfoResponse) SkuName() SkuNameType {
1949	return SkuNameType(bgair.rawResponse.Header.Get("x-ms-sku-name"))
1950}
1951
1952// Version returns the value for header x-ms-version.
1953func (bgair BlobGetAccountInfoResponse) Version() string {
1954	return bgair.rawResponse.Header.Get("x-ms-version")
1955}
1956
1957// BlobGetPropertiesResponse ...
1958type BlobGetPropertiesResponse struct {
1959	rawResponse *http.Response
1960}
1961
1962// NewMetadata returns user-defined key/value pairs.
1963func (bgpr BlobGetPropertiesResponse) NewMetadata() Metadata {
1964	md := Metadata{}
1965	for k, v := range bgpr.rawResponse.Header {
1966		if len(k) > mdPrefixLen {
1967			if prefix := k[0:mdPrefixLen]; strings.EqualFold(prefix, mdPrefix) {
1968				md[strings.ToLower(k[mdPrefixLen:])] = v[0]
1969			}
1970		}
1971	}
1972	return md
1973}
1974
1975// Response returns the raw HTTP response object.
1976func (bgpr BlobGetPropertiesResponse) Response() *http.Response {
1977	return bgpr.rawResponse
1978}
1979
1980// StatusCode returns the HTTP status code of the response, e.g. 200.
1981func (bgpr BlobGetPropertiesResponse) StatusCode() int {
1982	return bgpr.rawResponse.StatusCode
1983}
1984
1985// Status returns the HTTP status message of the response, e.g. "200 OK".
1986func (bgpr BlobGetPropertiesResponse) Status() string {
1987	return bgpr.rawResponse.Status
1988}
1989
1990// AcceptRanges returns the value for header Accept-Ranges.
1991func (bgpr BlobGetPropertiesResponse) AcceptRanges() string {
1992	return bgpr.rawResponse.Header.Get("Accept-Ranges")
1993}
1994
1995// AccessTier returns the value for header x-ms-access-tier.
1996func (bgpr BlobGetPropertiesResponse) AccessTier() string {
1997	return bgpr.rawResponse.Header.Get("x-ms-access-tier")
1998}
1999
2000// AccessTierChangeTime returns the value for header x-ms-access-tier-change-time.
2001func (bgpr BlobGetPropertiesResponse) AccessTierChangeTime() time.Time {
2002	s := bgpr.rawResponse.Header.Get("x-ms-access-tier-change-time")
2003	if s == "" {
2004		return time.Time{}
2005	}
2006	t, err := time.Parse(time.RFC1123, s)
2007	if err != nil {
2008		t = time.Time{}
2009	}
2010	return t
2011}
2012
2013// AccessTierInferred returns the value for header x-ms-access-tier-inferred.
2014func (bgpr BlobGetPropertiesResponse) AccessTierInferred() string {
2015	return bgpr.rawResponse.Header.Get("x-ms-access-tier-inferred")
2016}
2017
2018// ArchiveStatus returns the value for header x-ms-archive-status.
2019func (bgpr BlobGetPropertiesResponse) ArchiveStatus() string {
2020	return bgpr.rawResponse.Header.Get("x-ms-archive-status")
2021}
2022
2023// BlobCommittedBlockCount returns the value for header x-ms-blob-committed-block-count.
2024func (bgpr BlobGetPropertiesResponse) BlobCommittedBlockCount() int32 {
2025	s := bgpr.rawResponse.Header.Get("x-ms-blob-committed-block-count")
2026	if s == "" {
2027		return -1
2028	}
2029	i, err := strconv.ParseInt(s, 10, 32)
2030	if err != nil {
2031		i = 0
2032	}
2033	return int32(i)
2034}
2035
2036// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
2037func (bgpr BlobGetPropertiesResponse) BlobSequenceNumber() int64 {
2038	s := bgpr.rawResponse.Header.Get("x-ms-blob-sequence-number")
2039	if s == "" {
2040		return -1
2041	}
2042	i, err := strconv.ParseInt(s, 10, 64)
2043	if err != nil {
2044		i = 0
2045	}
2046	return i
2047}
2048
2049// BlobType returns the value for header x-ms-blob-type.
2050func (bgpr BlobGetPropertiesResponse) BlobType() BlobType {
2051	return BlobType(bgpr.rawResponse.Header.Get("x-ms-blob-type"))
2052}
2053
2054// CacheControl returns the value for header Cache-Control.
2055func (bgpr BlobGetPropertiesResponse) CacheControl() string {
2056	return bgpr.rawResponse.Header.Get("Cache-Control")
2057}
2058
2059// ClientRequestID returns the value for header x-ms-client-request-id.
2060func (bgpr BlobGetPropertiesResponse) ClientRequestID() string {
2061	return bgpr.rawResponse.Header.Get("x-ms-client-request-id")
2062}
2063
2064// ContentDisposition returns the value for header Content-Disposition.
2065func (bgpr BlobGetPropertiesResponse) ContentDisposition() string {
2066	return bgpr.rawResponse.Header.Get("Content-Disposition")
2067}
2068
2069// ContentEncoding returns the value for header Content-Encoding.
2070func (bgpr BlobGetPropertiesResponse) ContentEncoding() string {
2071	return bgpr.rawResponse.Header.Get("Content-Encoding")
2072}
2073
2074// ContentLanguage returns the value for header Content-Language.
2075func (bgpr BlobGetPropertiesResponse) ContentLanguage() string {
2076	return bgpr.rawResponse.Header.Get("Content-Language")
2077}
2078
2079// ContentLength returns the value for header Content-Length.
2080func (bgpr BlobGetPropertiesResponse) ContentLength() int64 {
2081	s := bgpr.rawResponse.Header.Get("Content-Length")
2082	if s == "" {
2083		return -1
2084	}
2085	i, err := strconv.ParseInt(s, 10, 64)
2086	if err != nil {
2087		i = 0
2088	}
2089	return i
2090}
2091
2092// ContentMD5 returns the value for header Content-MD5.
2093func (bgpr BlobGetPropertiesResponse) ContentMD5() []byte {
2094	s := bgpr.rawResponse.Header.Get("Content-MD5")
2095	if s == "" {
2096		return nil
2097	}
2098	b, err := base64.StdEncoding.DecodeString(s)
2099	if err != nil {
2100		b = nil
2101	}
2102	return b
2103}
2104
2105// ContentType returns the value for header Content-Type.
2106func (bgpr BlobGetPropertiesResponse) ContentType() string {
2107	return bgpr.rawResponse.Header.Get("Content-Type")
2108}
2109
2110// CopyCompletionTime returns the value for header x-ms-copy-completion-time.
2111func (bgpr BlobGetPropertiesResponse) CopyCompletionTime() time.Time {
2112	s := bgpr.rawResponse.Header.Get("x-ms-copy-completion-time")
2113	if s == "" {
2114		return time.Time{}
2115	}
2116	t, err := time.Parse(time.RFC1123, s)
2117	if err != nil {
2118		t = time.Time{}
2119	}
2120	return t
2121}
2122
2123// CopyID returns the value for header x-ms-copy-id.
2124func (bgpr BlobGetPropertiesResponse) CopyID() string {
2125	return bgpr.rawResponse.Header.Get("x-ms-copy-id")
2126}
2127
2128// CopyProgress returns the value for header x-ms-copy-progress.
2129func (bgpr BlobGetPropertiesResponse) CopyProgress() string {
2130	return bgpr.rawResponse.Header.Get("x-ms-copy-progress")
2131}
2132
2133// CopySource returns the value for header x-ms-copy-source.
2134func (bgpr BlobGetPropertiesResponse) CopySource() string {
2135	return bgpr.rawResponse.Header.Get("x-ms-copy-source")
2136}
2137
2138// CopyStatus returns the value for header x-ms-copy-status.
2139func (bgpr BlobGetPropertiesResponse) CopyStatus() CopyStatusType {
2140	return CopyStatusType(bgpr.rawResponse.Header.Get("x-ms-copy-status"))
2141}
2142
2143// CopyStatusDescription returns the value for header x-ms-copy-status-description.
2144func (bgpr BlobGetPropertiesResponse) CopyStatusDescription() string {
2145	return bgpr.rawResponse.Header.Get("x-ms-copy-status-description")
2146}
2147
2148// CreationTime returns the value for header x-ms-creation-time.
2149func (bgpr BlobGetPropertiesResponse) CreationTime() time.Time {
2150	s := bgpr.rawResponse.Header.Get("x-ms-creation-time")
2151	if s == "" {
2152		return time.Time{}
2153	}
2154	t, err := time.Parse(time.RFC1123, s)
2155	if err != nil {
2156		t = time.Time{}
2157	}
2158	return t
2159}
2160
2161// Date returns the value for header Date.
2162func (bgpr BlobGetPropertiesResponse) Date() time.Time {
2163	s := bgpr.rawResponse.Header.Get("Date")
2164	if s == "" {
2165		return time.Time{}
2166	}
2167	t, err := time.Parse(time.RFC1123, s)
2168	if err != nil {
2169		t = time.Time{}
2170	}
2171	return t
2172}
2173
2174// DestinationSnapshot returns the value for header x-ms-copy-destination-snapshot.
2175func (bgpr BlobGetPropertiesResponse) DestinationSnapshot() string {
2176	return bgpr.rawResponse.Header.Get("x-ms-copy-destination-snapshot")
2177}
2178
2179// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
2180func (bgpr BlobGetPropertiesResponse) EncryptionKeySha256() string {
2181	return bgpr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
2182}
2183
2184// EncryptionScope returns the value for header x-ms-encryption-scope.
2185func (bgpr BlobGetPropertiesResponse) EncryptionScope() string {
2186	return bgpr.rawResponse.Header.Get("x-ms-encryption-scope")
2187}
2188
2189// ErrorCode returns the value for header x-ms-error-code.
2190func (bgpr BlobGetPropertiesResponse) ErrorCode() string {
2191	return bgpr.rawResponse.Header.Get("x-ms-error-code")
2192}
2193
2194// ETag returns the value for header ETag.
2195func (bgpr BlobGetPropertiesResponse) ETag() ETag {
2196	return ETag(bgpr.rawResponse.Header.Get("ETag"))
2197}
2198
2199// ExpiresOn returns the value for header x-ms-expiry-time.
2200func (bgpr BlobGetPropertiesResponse) ExpiresOn() time.Time {
2201	s := bgpr.rawResponse.Header.Get("x-ms-expiry-time")
2202	if s == "" {
2203		return time.Time{}
2204	}
2205	t, err := time.Parse(time.RFC1123, s)
2206	if err != nil {
2207		t = time.Time{}
2208	}
2209	return t
2210}
2211
2212// IsCurrentVersion returns the value for header x-ms-is-current-version.
2213func (bgpr BlobGetPropertiesResponse) IsCurrentVersion() string {
2214	return bgpr.rawResponse.Header.Get("x-ms-is-current-version")
2215}
2216
2217// IsIncrementalCopy returns the value for header x-ms-incremental-copy.
2218func (bgpr BlobGetPropertiesResponse) IsIncrementalCopy() string {
2219	return bgpr.rawResponse.Header.Get("x-ms-incremental-copy")
2220}
2221
2222// IsSealed returns the value for header x-ms-blob-sealed.
2223func (bgpr BlobGetPropertiesResponse) IsSealed() string {
2224	return bgpr.rawResponse.Header.Get("x-ms-blob-sealed")
2225}
2226
2227// IsServerEncrypted returns the value for header x-ms-server-encrypted.
2228func (bgpr BlobGetPropertiesResponse) IsServerEncrypted() string {
2229	return bgpr.rawResponse.Header.Get("x-ms-server-encrypted")
2230}
2231
2232// LastModified returns the value for header Last-Modified.
2233func (bgpr BlobGetPropertiesResponse) LastModified() time.Time {
2234	s := bgpr.rawResponse.Header.Get("Last-Modified")
2235	if s == "" {
2236		return time.Time{}
2237	}
2238	t, err := time.Parse(time.RFC1123, s)
2239	if err != nil {
2240		t = time.Time{}
2241	}
2242	return t
2243}
2244
2245// LeaseDuration returns the value for header x-ms-lease-duration.
2246func (bgpr BlobGetPropertiesResponse) LeaseDuration() LeaseDurationType {
2247	return LeaseDurationType(bgpr.rawResponse.Header.Get("x-ms-lease-duration"))
2248}
2249
2250// LeaseState returns the value for header x-ms-lease-state.
2251func (bgpr BlobGetPropertiesResponse) LeaseState() LeaseStateType {
2252	return LeaseStateType(bgpr.rawResponse.Header.Get("x-ms-lease-state"))
2253}
2254
2255// LeaseStatus returns the value for header x-ms-lease-status.
2256func (bgpr BlobGetPropertiesResponse) LeaseStatus() LeaseStatusType {
2257	return LeaseStatusType(bgpr.rawResponse.Header.Get("x-ms-lease-status"))
2258}
2259
2260// ObjectReplicationPolicyID returns the value for header x-ms-or-policy-id.
2261func (bgpr BlobGetPropertiesResponse) ObjectReplicationPolicyID() string {
2262	return bgpr.rawResponse.Header.Get("x-ms-or-policy-id")
2263}
2264
2265// ObjectReplicationRules returns the value for header x-ms-or.
2266func (bgpr BlobGetPropertiesResponse) ObjectReplicationRules() string {
2267	return bgpr.rawResponse.Header.Get("x-ms-or")
2268}
2269
2270// RehydratePriority returns the value for header x-ms-rehydrate-priority.
2271func (bgpr BlobGetPropertiesResponse) RehydratePriority() string {
2272	return bgpr.rawResponse.Header.Get("x-ms-rehydrate-priority")
2273}
2274
2275// RequestID returns the value for header x-ms-request-id.
2276func (bgpr BlobGetPropertiesResponse) RequestID() string {
2277	return bgpr.rawResponse.Header.Get("x-ms-request-id")
2278}
2279
2280// TagCount returns the value for header x-ms-tag-count.
2281func (bgpr BlobGetPropertiesResponse) TagCount() int64 {
2282	s := bgpr.rawResponse.Header.Get("x-ms-tag-count")
2283	if s == "" {
2284		return -1
2285	}
2286	i, err := strconv.ParseInt(s, 10, 64)
2287	if err != nil {
2288		i = 0
2289	}
2290	return i
2291}
2292
2293// Version returns the value for header x-ms-version.
2294func (bgpr BlobGetPropertiesResponse) Version() string {
2295	return bgpr.rawResponse.Header.Get("x-ms-version")
2296}
2297
2298// VersionID returns the value for header x-ms-version-id.
2299func (bgpr BlobGetPropertiesResponse) VersionID() string {
2300	return bgpr.rawResponse.Header.Get("x-ms-version-id")
2301}
2302
2303// BlobHierarchyListSegment ...
2304type BlobHierarchyListSegment struct {
2305	// XMLName is used for marshalling and is subject to removal in a future release.
2306	XMLName      xml.Name           `xml:"Blobs"`
2307	BlobPrefixes []BlobPrefix       `xml:"BlobPrefix"`
2308	BlobItems    []BlobItemInternal `xml:"Blob"`
2309}
2310
2311// BlobItemInternal - An Azure Storage blob
2312type BlobItemInternal struct {
2313	// XMLName is used for marshalling and is subject to removal in a future release.
2314	XMLName          xml.Name       `xml:"Blob"`
2315	Name             string         `xml:"Name"`
2316	Deleted          bool           `xml:"Deleted"`
2317	Snapshot         string         `xml:"Snapshot"`
2318	VersionID        *string        `xml:"VersionId"`
2319	IsCurrentVersion *bool          `xml:"IsCurrentVersion"`
2320	Properties       BlobProperties `xml:"Properties"`
2321
2322	// TODO funky generator type -> *BlobMetadata
2323	Metadata                  Metadata          `xml:"Metadata"`
2324	BlobTags                  *BlobTags         `xml:"Tags"`
2325	ObjectReplicationMetadata map[string]string `xml:"ObjectReplicationMetadata"`
2326}
2327
2328// BlobMetadata ...
2329type BlobMetadata struct {
2330	// XMLName is used for marshalling and is subject to removal in a future release.
2331	XMLName xml.Name `xml:"Metadata"`
2332	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2333	AdditionalProperties map[string]string `xml:"AdditionalProperties"`
2334	Encrypted            *string           `xml:"Encrypted,attr"`
2335}
2336
2337// BlobPrefix ...
2338type BlobPrefix struct {
2339	Name string `xml:"Name"`
2340}
2341
2342// BlobProperties - Properties of a blob
2343type BlobProperties struct {
2344	// XMLName is used for marshalling and is subject to removal in a future release.
2345	XMLName      xml.Name   `xml:"Properties"`
2346	CreationTime *time.Time `xml:"Creation-Time"`
2347	LastModified time.Time  `xml:"Last-Modified"`
2348	Etag         ETag       `xml:"Etag"`
2349	// ContentLength - Size in bytes
2350	ContentLength      *int64  `xml:"Content-Length"`
2351	ContentType        *string `xml:"Content-Type"`
2352	ContentEncoding    *string `xml:"Content-Encoding"`
2353	ContentLanguage    *string `xml:"Content-Language"`
2354	ContentMD5         []byte  `xml:"Content-MD5"`
2355	ContentDisposition *string `xml:"Content-Disposition"`
2356	CacheControl       *string `xml:"Cache-Control"`
2357	BlobSequenceNumber *int64  `xml:"x-ms-blob-sequence-number"`
2358	// BlobType - Possible values include: 'BlobBlockBlob', 'BlobPageBlob', 'BlobAppendBlob', 'BlobNone'
2359	BlobType BlobType `xml:"BlobType"`
2360	// LeaseStatus - Possible values include: 'LeaseStatusLocked', 'LeaseStatusUnlocked', 'LeaseStatusNone'
2361	LeaseStatus LeaseStatusType `xml:"LeaseStatus"`
2362	// LeaseState - Possible values include: 'LeaseStateAvailable', 'LeaseStateLeased', 'LeaseStateExpired', 'LeaseStateBreaking', 'LeaseStateBroken', 'LeaseStateNone'
2363	LeaseState LeaseStateType `xml:"LeaseState"`
2364	// LeaseDuration - Possible values include: 'LeaseDurationInfinite', 'LeaseDurationFixed', 'LeaseDurationNone'
2365	LeaseDuration LeaseDurationType `xml:"LeaseDuration"`
2366	CopyID        *string           `xml:"CopyId"`
2367	// CopyStatus - Possible values include: 'CopyStatusPending', 'CopyStatusSuccess', 'CopyStatusAborted', 'CopyStatusFailed', 'CopyStatusNone'
2368	CopyStatus             CopyStatusType `xml:"CopyStatus"`
2369	CopySource             *string        `xml:"CopySource"`
2370	CopyProgress           *string        `xml:"CopyProgress"`
2371	CopyCompletionTime     *time.Time     `xml:"CopyCompletionTime"`
2372	CopyStatusDescription  *string        `xml:"CopyStatusDescription"`
2373	ServerEncrypted        *bool          `xml:"ServerEncrypted"`
2374	IncrementalCopy        *bool          `xml:"IncrementalCopy"`
2375	DestinationSnapshot    *string        `xml:"DestinationSnapshot"`
2376	DeletedTime            *time.Time     `xml:"DeletedTime"`
2377	RemainingRetentionDays *int32         `xml:"RemainingRetentionDays"`
2378	// AccessTier - Possible values include: 'AccessTierP4', 'AccessTierP6', 'AccessTierP10', 'AccessTierP15', 'AccessTierP20', 'AccessTierP30', 'AccessTierP40', 'AccessTierP50', 'AccessTierP60', 'AccessTierP70', 'AccessTierP80', 'AccessTierHot', 'AccessTierCool', 'AccessTierArchive', 'AccessTierNone'
2379	AccessTier         AccessTierType `xml:"AccessTier"`
2380	AccessTierInferred *bool          `xml:"AccessTierInferred"`
2381	// ArchiveStatus - Possible values include: 'ArchiveStatusRehydratePendingToHot', 'ArchiveStatusRehydratePendingToCool', 'ArchiveStatusNone'
2382	ArchiveStatus             ArchiveStatusType `xml:"ArchiveStatus"`
2383	CustomerProvidedKeySha256 *string           `xml:"CustomerProvidedKeySha256"`
2384	// EncryptionScope - The name of the encryption scope under which the blob is encrypted.
2385	EncryptionScope      *string    `xml:"EncryptionScope"`
2386	AccessTierChangeTime *time.Time `xml:"AccessTierChangeTime"`
2387	TagCount             *int32     `xml:"TagCount"`
2388	ExpiresOn            *time.Time `xml:"Expiry-Time"`
2389	IsSealed             *bool      `xml:"IsSealed"`
2390	// RehydratePriority - Possible values include: 'RehydratePriorityHigh', 'RehydratePriorityStandard', 'RehydratePriorityNone'
2391	RehydratePriority RehydratePriorityType `xml:"RehydratePriority"`
2392}
2393
2394// MarshalXML implements the xml.Marshaler interface for BlobProperties.
2395func (bpi BlobProperties) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
2396	bpi2 := (*blobProperties)(unsafe.Pointer(&bpi))
2397	return e.EncodeElement(*bpi2, start)
2398}
2399
2400// UnmarshalXML implements the xml.Unmarshaler interface for BlobProperties.
2401func (bpi *BlobProperties) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
2402	bpi2 := (*blobProperties)(unsafe.Pointer(bpi))
2403	return d.DecodeElement(bpi2, &start)
2404}
2405
2406// BlobReleaseLeaseResponse ...
2407type BlobReleaseLeaseResponse struct {
2408	rawResponse *http.Response
2409}
2410
2411// Response returns the raw HTTP response object.
2412func (brlr BlobReleaseLeaseResponse) Response() *http.Response {
2413	return brlr.rawResponse
2414}
2415
2416// StatusCode returns the HTTP status code of the response, e.g. 200.
2417func (brlr BlobReleaseLeaseResponse) StatusCode() int {
2418	return brlr.rawResponse.StatusCode
2419}
2420
2421// Status returns the HTTP status message of the response, e.g. "200 OK".
2422func (brlr BlobReleaseLeaseResponse) Status() string {
2423	return brlr.rawResponse.Status
2424}
2425
2426// ClientRequestID returns the value for header x-ms-client-request-id.
2427func (brlr BlobReleaseLeaseResponse) ClientRequestID() string {
2428	return brlr.rawResponse.Header.Get("x-ms-client-request-id")
2429}
2430
2431// Date returns the value for header Date.
2432func (brlr BlobReleaseLeaseResponse) Date() time.Time {
2433	s := brlr.rawResponse.Header.Get("Date")
2434	if s == "" {
2435		return time.Time{}
2436	}
2437	t, err := time.Parse(time.RFC1123, s)
2438	if err != nil {
2439		t = time.Time{}
2440	}
2441	return t
2442}
2443
2444// ErrorCode returns the value for header x-ms-error-code.
2445func (brlr BlobReleaseLeaseResponse) ErrorCode() string {
2446	return brlr.rawResponse.Header.Get("x-ms-error-code")
2447}
2448
2449// ETag returns the value for header ETag.
2450func (brlr BlobReleaseLeaseResponse) ETag() ETag {
2451	return ETag(brlr.rawResponse.Header.Get("ETag"))
2452}
2453
2454// LastModified returns the value for header Last-Modified.
2455func (brlr BlobReleaseLeaseResponse) LastModified() time.Time {
2456	s := brlr.rawResponse.Header.Get("Last-Modified")
2457	if s == "" {
2458		return time.Time{}
2459	}
2460	t, err := time.Parse(time.RFC1123, s)
2461	if err != nil {
2462		t = time.Time{}
2463	}
2464	return t
2465}
2466
2467// RequestID returns the value for header x-ms-request-id.
2468func (brlr BlobReleaseLeaseResponse) RequestID() string {
2469	return brlr.rawResponse.Header.Get("x-ms-request-id")
2470}
2471
2472// Version returns the value for header x-ms-version.
2473func (brlr BlobReleaseLeaseResponse) Version() string {
2474	return brlr.rawResponse.Header.Get("x-ms-version")
2475}
2476
2477// BlobRenameResponse ...
2478type BlobRenameResponse struct {
2479	rawResponse *http.Response
2480}
2481
2482// Response returns the raw HTTP response object.
2483func (brr BlobRenameResponse) Response() *http.Response {
2484	return brr.rawResponse
2485}
2486
2487// StatusCode returns the HTTP status code of the response, e.g. 200.
2488func (brr BlobRenameResponse) StatusCode() int {
2489	return brr.rawResponse.StatusCode
2490}
2491
2492// Status returns the HTTP status message of the response, e.g. "200 OK".
2493func (brr BlobRenameResponse) Status() string {
2494	return brr.rawResponse.Status
2495}
2496
2497// ClientRequestID returns the value for header x-ms-client-request-id.
2498func (brr BlobRenameResponse) ClientRequestID() string {
2499	return brr.rawResponse.Header.Get("x-ms-client-request-id")
2500}
2501
2502// ContentLength returns the value for header Content-Length.
2503func (brr BlobRenameResponse) ContentLength() int64 {
2504	s := brr.rawResponse.Header.Get("Content-Length")
2505	if s == "" {
2506		return -1
2507	}
2508	i, err := strconv.ParseInt(s, 10, 64)
2509	if err != nil {
2510		i = 0
2511	}
2512	return i
2513}
2514
2515// Date returns the value for header Date.
2516func (brr BlobRenameResponse) Date() time.Time {
2517	s := brr.rawResponse.Header.Get("Date")
2518	if s == "" {
2519		return time.Time{}
2520	}
2521	t, err := time.Parse(time.RFC1123, s)
2522	if err != nil {
2523		t = time.Time{}
2524	}
2525	return t
2526}
2527
2528// ETag returns the value for header ETag.
2529func (brr BlobRenameResponse) ETag() ETag {
2530	return ETag(brr.rawResponse.Header.Get("ETag"))
2531}
2532
2533// LastModified returns the value for header Last-Modified.
2534func (brr BlobRenameResponse) LastModified() time.Time {
2535	s := brr.rawResponse.Header.Get("Last-Modified")
2536	if s == "" {
2537		return time.Time{}
2538	}
2539	t, err := time.Parse(time.RFC1123, s)
2540	if err != nil {
2541		t = time.Time{}
2542	}
2543	return t
2544}
2545
2546// RequestID returns the value for header x-ms-request-id.
2547func (brr BlobRenameResponse) RequestID() string {
2548	return brr.rawResponse.Header.Get("x-ms-request-id")
2549}
2550
2551// Version returns the value for header x-ms-version.
2552func (brr BlobRenameResponse) Version() string {
2553	return brr.rawResponse.Header.Get("x-ms-version")
2554}
2555
2556// BlobRenewLeaseResponse ...
2557type BlobRenewLeaseResponse struct {
2558	rawResponse *http.Response
2559}
2560
2561// Response returns the raw HTTP response object.
2562func (brlr BlobRenewLeaseResponse) Response() *http.Response {
2563	return brlr.rawResponse
2564}
2565
2566// StatusCode returns the HTTP status code of the response, e.g. 200.
2567func (brlr BlobRenewLeaseResponse) StatusCode() int {
2568	return brlr.rawResponse.StatusCode
2569}
2570
2571// Status returns the HTTP status message of the response, e.g. "200 OK".
2572func (brlr BlobRenewLeaseResponse) Status() string {
2573	return brlr.rawResponse.Status
2574}
2575
2576// ClientRequestID returns the value for header x-ms-client-request-id.
2577func (brlr BlobRenewLeaseResponse) ClientRequestID() string {
2578	return brlr.rawResponse.Header.Get("x-ms-client-request-id")
2579}
2580
2581// Date returns the value for header Date.
2582func (brlr BlobRenewLeaseResponse) Date() time.Time {
2583	s := brlr.rawResponse.Header.Get("Date")
2584	if s == "" {
2585		return time.Time{}
2586	}
2587	t, err := time.Parse(time.RFC1123, s)
2588	if err != nil {
2589		t = time.Time{}
2590	}
2591	return t
2592}
2593
2594// ErrorCode returns the value for header x-ms-error-code.
2595func (brlr BlobRenewLeaseResponse) ErrorCode() string {
2596	return brlr.rawResponse.Header.Get("x-ms-error-code")
2597}
2598
2599// ETag returns the value for header ETag.
2600func (brlr BlobRenewLeaseResponse) ETag() ETag {
2601	return ETag(brlr.rawResponse.Header.Get("ETag"))
2602}
2603
2604// LastModified returns the value for header Last-Modified.
2605func (brlr BlobRenewLeaseResponse) LastModified() time.Time {
2606	s := brlr.rawResponse.Header.Get("Last-Modified")
2607	if s == "" {
2608		return time.Time{}
2609	}
2610	t, err := time.Parse(time.RFC1123, s)
2611	if err != nil {
2612		t = time.Time{}
2613	}
2614	return t
2615}
2616
2617// LeaseID returns the value for header x-ms-lease-id.
2618func (brlr BlobRenewLeaseResponse) LeaseID() string {
2619	return brlr.rawResponse.Header.Get("x-ms-lease-id")
2620}
2621
2622// RequestID returns the value for header x-ms-request-id.
2623func (brlr BlobRenewLeaseResponse) RequestID() string {
2624	return brlr.rawResponse.Header.Get("x-ms-request-id")
2625}
2626
2627// Version returns the value for header x-ms-version.
2628func (brlr BlobRenewLeaseResponse) Version() string {
2629	return brlr.rawResponse.Header.Get("x-ms-version")
2630}
2631
2632// BlobSetAccessControlResponse ...
2633type BlobSetAccessControlResponse struct {
2634	rawResponse *http.Response
2635}
2636
2637// Response returns the raw HTTP response object.
2638func (bsacr BlobSetAccessControlResponse) Response() *http.Response {
2639	return bsacr.rawResponse
2640}
2641
2642// StatusCode returns the HTTP status code of the response, e.g. 200.
2643func (bsacr BlobSetAccessControlResponse) StatusCode() int {
2644	return bsacr.rawResponse.StatusCode
2645}
2646
2647// Status returns the HTTP status message of the response, e.g. "200 OK".
2648func (bsacr BlobSetAccessControlResponse) Status() string {
2649	return bsacr.rawResponse.Status
2650}
2651
2652// ClientRequestID returns the value for header x-ms-client-request-id.
2653func (bsacr BlobSetAccessControlResponse) ClientRequestID() string {
2654	return bsacr.rawResponse.Header.Get("x-ms-client-request-id")
2655}
2656
2657// Date returns the value for header Date.
2658func (bsacr BlobSetAccessControlResponse) Date() time.Time {
2659	s := bsacr.rawResponse.Header.Get("Date")
2660	if s == "" {
2661		return time.Time{}
2662	}
2663	t, err := time.Parse(time.RFC1123, s)
2664	if err != nil {
2665		t = time.Time{}
2666	}
2667	return t
2668}
2669
2670// ETag returns the value for header ETag.
2671func (bsacr BlobSetAccessControlResponse) ETag() ETag {
2672	return ETag(bsacr.rawResponse.Header.Get("ETag"))
2673}
2674
2675// LastModified returns the value for header Last-Modified.
2676func (bsacr BlobSetAccessControlResponse) LastModified() time.Time {
2677	s := bsacr.rawResponse.Header.Get("Last-Modified")
2678	if s == "" {
2679		return time.Time{}
2680	}
2681	t, err := time.Parse(time.RFC1123, s)
2682	if err != nil {
2683		t = time.Time{}
2684	}
2685	return t
2686}
2687
2688// RequestID returns the value for header x-ms-request-id.
2689func (bsacr BlobSetAccessControlResponse) RequestID() string {
2690	return bsacr.rawResponse.Header.Get("x-ms-request-id")
2691}
2692
2693// Version returns the value for header x-ms-version.
2694func (bsacr BlobSetAccessControlResponse) Version() string {
2695	return bsacr.rawResponse.Header.Get("x-ms-version")
2696}
2697
2698// BlobSetExpiryResponse ...
2699type BlobSetExpiryResponse struct {
2700	rawResponse *http.Response
2701}
2702
2703// Response returns the raw HTTP response object.
2704func (bser BlobSetExpiryResponse) Response() *http.Response {
2705	return bser.rawResponse
2706}
2707
2708// StatusCode returns the HTTP status code of the response, e.g. 200.
2709func (bser BlobSetExpiryResponse) StatusCode() int {
2710	return bser.rawResponse.StatusCode
2711}
2712
2713// Status returns the HTTP status message of the response, e.g. "200 OK".
2714func (bser BlobSetExpiryResponse) Status() string {
2715	return bser.rawResponse.Status
2716}
2717
2718// ClientRequestID returns the value for header x-ms-client-request-id.
2719func (bser BlobSetExpiryResponse) ClientRequestID() string {
2720	return bser.rawResponse.Header.Get("x-ms-client-request-id")
2721}
2722
2723// Date returns the value for header Date.
2724func (bser BlobSetExpiryResponse) Date() time.Time {
2725	s := bser.rawResponse.Header.Get("Date")
2726	if s == "" {
2727		return time.Time{}
2728	}
2729	t, err := time.Parse(time.RFC1123, s)
2730	if err != nil {
2731		t = time.Time{}
2732	}
2733	return t
2734}
2735
2736// ErrorCode returns the value for header x-ms-error-code.
2737func (bser BlobSetExpiryResponse) ErrorCode() string {
2738	return bser.rawResponse.Header.Get("x-ms-error-code")
2739}
2740
2741// ETag returns the value for header ETag.
2742func (bser BlobSetExpiryResponse) ETag() ETag {
2743	return ETag(bser.rawResponse.Header.Get("ETag"))
2744}
2745
2746// LastModified returns the value for header Last-Modified.
2747func (bser BlobSetExpiryResponse) LastModified() time.Time {
2748	s := bser.rawResponse.Header.Get("Last-Modified")
2749	if s == "" {
2750		return time.Time{}
2751	}
2752	t, err := time.Parse(time.RFC1123, s)
2753	if err != nil {
2754		t = time.Time{}
2755	}
2756	return t
2757}
2758
2759// RequestID returns the value for header x-ms-request-id.
2760func (bser BlobSetExpiryResponse) RequestID() string {
2761	return bser.rawResponse.Header.Get("x-ms-request-id")
2762}
2763
2764// Version returns the value for header x-ms-version.
2765func (bser BlobSetExpiryResponse) Version() string {
2766	return bser.rawResponse.Header.Get("x-ms-version")
2767}
2768
2769// BlobSetHTTPHeadersResponse ...
2770type BlobSetHTTPHeadersResponse struct {
2771	rawResponse *http.Response
2772}
2773
2774// Response returns the raw HTTP response object.
2775func (bshhr BlobSetHTTPHeadersResponse) Response() *http.Response {
2776	return bshhr.rawResponse
2777}
2778
2779// StatusCode returns the HTTP status code of the response, e.g. 200.
2780func (bshhr BlobSetHTTPHeadersResponse) StatusCode() int {
2781	return bshhr.rawResponse.StatusCode
2782}
2783
2784// Status returns the HTTP status message of the response, e.g. "200 OK".
2785func (bshhr BlobSetHTTPHeadersResponse) Status() string {
2786	return bshhr.rawResponse.Status
2787}
2788
2789// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
2790func (bshhr BlobSetHTTPHeadersResponse) BlobSequenceNumber() int64 {
2791	s := bshhr.rawResponse.Header.Get("x-ms-blob-sequence-number")
2792	if s == "" {
2793		return -1
2794	}
2795	i, err := strconv.ParseInt(s, 10, 64)
2796	if err != nil {
2797		i = 0
2798	}
2799	return i
2800}
2801
2802// ClientRequestID returns the value for header x-ms-client-request-id.
2803func (bshhr BlobSetHTTPHeadersResponse) ClientRequestID() string {
2804	return bshhr.rawResponse.Header.Get("x-ms-client-request-id")
2805}
2806
2807// Date returns the value for header Date.
2808func (bshhr BlobSetHTTPHeadersResponse) Date() time.Time {
2809	s := bshhr.rawResponse.Header.Get("Date")
2810	if s == "" {
2811		return time.Time{}
2812	}
2813	t, err := time.Parse(time.RFC1123, s)
2814	if err != nil {
2815		t = time.Time{}
2816	}
2817	return t
2818}
2819
2820// ErrorCode returns the value for header x-ms-error-code.
2821func (bshhr BlobSetHTTPHeadersResponse) ErrorCode() string {
2822	return bshhr.rawResponse.Header.Get("x-ms-error-code")
2823}
2824
2825// ETag returns the value for header ETag.
2826func (bshhr BlobSetHTTPHeadersResponse) ETag() ETag {
2827	return ETag(bshhr.rawResponse.Header.Get("ETag"))
2828}
2829
2830// LastModified returns the value for header Last-Modified.
2831func (bshhr BlobSetHTTPHeadersResponse) LastModified() time.Time {
2832	s := bshhr.rawResponse.Header.Get("Last-Modified")
2833	if s == "" {
2834		return time.Time{}
2835	}
2836	t, err := time.Parse(time.RFC1123, s)
2837	if err != nil {
2838		t = time.Time{}
2839	}
2840	return t
2841}
2842
2843// RequestID returns the value for header x-ms-request-id.
2844func (bshhr BlobSetHTTPHeadersResponse) RequestID() string {
2845	return bshhr.rawResponse.Header.Get("x-ms-request-id")
2846}
2847
2848// Version returns the value for header x-ms-version.
2849func (bshhr BlobSetHTTPHeadersResponse) Version() string {
2850	return bshhr.rawResponse.Header.Get("x-ms-version")
2851}
2852
2853// BlobSetMetadataResponse ...
2854type BlobSetMetadataResponse struct {
2855	rawResponse *http.Response
2856}
2857
2858// Response returns the raw HTTP response object.
2859func (bsmr BlobSetMetadataResponse) Response() *http.Response {
2860	return bsmr.rawResponse
2861}
2862
2863// StatusCode returns the HTTP status code of the response, e.g. 200.
2864func (bsmr BlobSetMetadataResponse) StatusCode() int {
2865	return bsmr.rawResponse.StatusCode
2866}
2867
2868// Status returns the HTTP status message of the response, e.g. "200 OK".
2869func (bsmr BlobSetMetadataResponse) Status() string {
2870	return bsmr.rawResponse.Status
2871}
2872
2873// ClientRequestID returns the value for header x-ms-client-request-id.
2874func (bsmr BlobSetMetadataResponse) ClientRequestID() string {
2875	return bsmr.rawResponse.Header.Get("x-ms-client-request-id")
2876}
2877
2878// Date returns the value for header Date.
2879func (bsmr BlobSetMetadataResponse) Date() time.Time {
2880	s := bsmr.rawResponse.Header.Get("Date")
2881	if s == "" {
2882		return time.Time{}
2883	}
2884	t, err := time.Parse(time.RFC1123, s)
2885	if err != nil {
2886		t = time.Time{}
2887	}
2888	return t
2889}
2890
2891// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
2892func (bsmr BlobSetMetadataResponse) EncryptionKeySha256() string {
2893	return bsmr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
2894}
2895
2896// EncryptionScope returns the value for header x-ms-encryption-scope.
2897func (bsmr BlobSetMetadataResponse) EncryptionScope() string {
2898	return bsmr.rawResponse.Header.Get("x-ms-encryption-scope")
2899}
2900
2901// ErrorCode returns the value for header x-ms-error-code.
2902func (bsmr BlobSetMetadataResponse) ErrorCode() string {
2903	return bsmr.rawResponse.Header.Get("x-ms-error-code")
2904}
2905
2906// ETag returns the value for header ETag.
2907func (bsmr BlobSetMetadataResponse) ETag() ETag {
2908	return ETag(bsmr.rawResponse.Header.Get("ETag"))
2909}
2910
2911// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
2912func (bsmr BlobSetMetadataResponse) IsServerEncrypted() string {
2913	return bsmr.rawResponse.Header.Get("x-ms-request-server-encrypted")
2914}
2915
2916// LastModified returns the value for header Last-Modified.
2917func (bsmr BlobSetMetadataResponse) LastModified() time.Time {
2918	s := bsmr.rawResponse.Header.Get("Last-Modified")
2919	if s == "" {
2920		return time.Time{}
2921	}
2922	t, err := time.Parse(time.RFC1123, s)
2923	if err != nil {
2924		t = time.Time{}
2925	}
2926	return t
2927}
2928
2929// RequestID returns the value for header x-ms-request-id.
2930func (bsmr BlobSetMetadataResponse) RequestID() string {
2931	return bsmr.rawResponse.Header.Get("x-ms-request-id")
2932}
2933
2934// Version returns the value for header x-ms-version.
2935func (bsmr BlobSetMetadataResponse) Version() string {
2936	return bsmr.rawResponse.Header.Get("x-ms-version")
2937}
2938
2939// VersionID returns the value for header x-ms-version-id.
2940func (bsmr BlobSetMetadataResponse) VersionID() string {
2941	return bsmr.rawResponse.Header.Get("x-ms-version-id")
2942}
2943
2944// BlobSetTagsResponse ...
2945type BlobSetTagsResponse struct {
2946	rawResponse *http.Response
2947}
2948
2949// Response returns the raw HTTP response object.
2950func (bstr BlobSetTagsResponse) Response() *http.Response {
2951	return bstr.rawResponse
2952}
2953
2954// StatusCode returns the HTTP status code of the response, e.g. 200.
2955func (bstr BlobSetTagsResponse) StatusCode() int {
2956	return bstr.rawResponse.StatusCode
2957}
2958
2959// Status returns the HTTP status message of the response, e.g. "200 OK".
2960func (bstr BlobSetTagsResponse) Status() string {
2961	return bstr.rawResponse.Status
2962}
2963
2964// ClientRequestID returns the value for header x-ms-client-request-id.
2965func (bstr BlobSetTagsResponse) ClientRequestID() string {
2966	return bstr.rawResponse.Header.Get("x-ms-client-request-id")
2967}
2968
2969// Date returns the value for header Date.
2970func (bstr BlobSetTagsResponse) Date() time.Time {
2971	s := bstr.rawResponse.Header.Get("Date")
2972	if s == "" {
2973		return time.Time{}
2974	}
2975	t, err := time.Parse(time.RFC1123, s)
2976	if err != nil {
2977		t = time.Time{}
2978	}
2979	return t
2980}
2981
2982// ErrorCode returns the value for header x-ms-error-code.
2983func (bstr BlobSetTagsResponse) ErrorCode() string {
2984	return bstr.rawResponse.Header.Get("x-ms-error-code")
2985}
2986
2987// RequestID returns the value for header x-ms-request-id.
2988func (bstr BlobSetTagsResponse) RequestID() string {
2989	return bstr.rawResponse.Header.Get("x-ms-request-id")
2990}
2991
2992// Version returns the value for header x-ms-version.
2993func (bstr BlobSetTagsResponse) Version() string {
2994	return bstr.rawResponse.Header.Get("x-ms-version")
2995}
2996
2997// BlobSetTierResponse ...
2998type BlobSetTierResponse struct {
2999	rawResponse *http.Response
3000}
3001
3002// Response returns the raw HTTP response object.
3003func (bstr BlobSetTierResponse) Response() *http.Response {
3004	return bstr.rawResponse
3005}
3006
3007// StatusCode returns the HTTP status code of the response, e.g. 200.
3008func (bstr BlobSetTierResponse) StatusCode() int {
3009	return bstr.rawResponse.StatusCode
3010}
3011
3012// Status returns the HTTP status message of the response, e.g. "200 OK".
3013func (bstr BlobSetTierResponse) Status() string {
3014	return bstr.rawResponse.Status
3015}
3016
3017// ClientRequestID returns the value for header x-ms-client-request-id.
3018func (bstr BlobSetTierResponse) ClientRequestID() string {
3019	return bstr.rawResponse.Header.Get("x-ms-client-request-id")
3020}
3021
3022// ErrorCode returns the value for header x-ms-error-code.
3023func (bstr BlobSetTierResponse) ErrorCode() string {
3024	return bstr.rawResponse.Header.Get("x-ms-error-code")
3025}
3026
3027// RequestID returns the value for header x-ms-request-id.
3028func (bstr BlobSetTierResponse) RequestID() string {
3029	return bstr.rawResponse.Header.Get("x-ms-request-id")
3030}
3031
3032// Version returns the value for header x-ms-version.
3033func (bstr BlobSetTierResponse) Version() string {
3034	return bstr.rawResponse.Header.Get("x-ms-version")
3035}
3036
3037// BlobStartCopyFromURLResponse ...
3038type BlobStartCopyFromURLResponse struct {
3039	rawResponse *http.Response
3040}
3041
3042// Response returns the raw HTTP response object.
3043func (bscfur BlobStartCopyFromURLResponse) Response() *http.Response {
3044	return bscfur.rawResponse
3045}
3046
3047// StatusCode returns the HTTP status code of the response, e.g. 200.
3048func (bscfur BlobStartCopyFromURLResponse) StatusCode() int {
3049	return bscfur.rawResponse.StatusCode
3050}
3051
3052// Status returns the HTTP status message of the response, e.g. "200 OK".
3053func (bscfur BlobStartCopyFromURLResponse) Status() string {
3054	return bscfur.rawResponse.Status
3055}
3056
3057// ClientRequestID returns the value for header x-ms-client-request-id.
3058func (bscfur BlobStartCopyFromURLResponse) ClientRequestID() string {
3059	return bscfur.rawResponse.Header.Get("x-ms-client-request-id")
3060}
3061
3062// CopyID returns the value for header x-ms-copy-id.
3063func (bscfur BlobStartCopyFromURLResponse) CopyID() string {
3064	return bscfur.rawResponse.Header.Get("x-ms-copy-id")
3065}
3066
3067// CopyStatus returns the value for header x-ms-copy-status.
3068func (bscfur BlobStartCopyFromURLResponse) CopyStatus() CopyStatusType {
3069	return CopyStatusType(bscfur.rawResponse.Header.Get("x-ms-copy-status"))
3070}
3071
3072// Date returns the value for header Date.
3073func (bscfur BlobStartCopyFromURLResponse) Date() time.Time {
3074	s := bscfur.rawResponse.Header.Get("Date")
3075	if s == "" {
3076		return time.Time{}
3077	}
3078	t, err := time.Parse(time.RFC1123, s)
3079	if err != nil {
3080		t = time.Time{}
3081	}
3082	return t
3083}
3084
3085// ErrorCode returns the value for header x-ms-error-code.
3086func (bscfur BlobStartCopyFromURLResponse) ErrorCode() string {
3087	return bscfur.rawResponse.Header.Get("x-ms-error-code")
3088}
3089
3090// ETag returns the value for header ETag.
3091func (bscfur BlobStartCopyFromURLResponse) ETag() ETag {
3092	return ETag(bscfur.rawResponse.Header.Get("ETag"))
3093}
3094
3095// LastModified returns the value for header Last-Modified.
3096func (bscfur BlobStartCopyFromURLResponse) LastModified() time.Time {
3097	s := bscfur.rawResponse.Header.Get("Last-Modified")
3098	if s == "" {
3099		return time.Time{}
3100	}
3101	t, err := time.Parse(time.RFC1123, s)
3102	if err != nil {
3103		t = time.Time{}
3104	}
3105	return t
3106}
3107
3108// RequestID returns the value for header x-ms-request-id.
3109func (bscfur BlobStartCopyFromURLResponse) RequestID() string {
3110	return bscfur.rawResponse.Header.Get("x-ms-request-id")
3111}
3112
3113// Version returns the value for header x-ms-version.
3114func (bscfur BlobStartCopyFromURLResponse) Version() string {
3115	return bscfur.rawResponse.Header.Get("x-ms-version")
3116}
3117
3118// VersionID returns the value for header x-ms-version-id.
3119func (bscfur BlobStartCopyFromURLResponse) VersionID() string {
3120	return bscfur.rawResponse.Header.Get("x-ms-version-id")
3121}
3122
3123// BlobTag ...
3124type BlobTag struct {
3125	// XMLName is used for marshalling and is subject to removal in a future release.
3126	XMLName xml.Name `xml:"Tag"`
3127	Key     string   `xml:"Key"`
3128	Value   string   `xml:"Value"`
3129}
3130
3131// BlobTags - Blob tags
3132type BlobTags struct {
3133	rawResponse *http.Response
3134	// XMLName is used for marshalling and is subject to removal in a future release.
3135	XMLName    xml.Name  `xml:"Tags"`
3136	BlobTagSet []BlobTag `xml:"TagSet>Tag"`
3137}
3138
3139// Response returns the raw HTTP response object.
3140func (bt BlobTags) Response() *http.Response {
3141	return bt.rawResponse
3142}
3143
3144// StatusCode returns the HTTP status code of the response, e.g. 200.
3145func (bt BlobTags) StatusCode() int {
3146	return bt.rawResponse.StatusCode
3147}
3148
3149// Status returns the HTTP status message of the response, e.g. "200 OK".
3150func (bt BlobTags) Status() string {
3151	return bt.rawResponse.Status
3152}
3153
3154// ClientRequestID returns the value for header x-ms-client-request-id.
3155func (bt BlobTags) ClientRequestID() string {
3156	return bt.rawResponse.Header.Get("x-ms-client-request-id")
3157}
3158
3159// Date returns the value for header Date.
3160func (bt BlobTags) Date() time.Time {
3161	s := bt.rawResponse.Header.Get("Date")
3162	if s == "" {
3163		return time.Time{}
3164	}
3165	t, err := time.Parse(time.RFC1123, s)
3166	if err != nil {
3167		t = time.Time{}
3168	}
3169	return t
3170}
3171
3172// ErrorCode returns the value for header x-ms-error-code.
3173func (bt BlobTags) ErrorCode() string {
3174	return bt.rawResponse.Header.Get("x-ms-error-code")
3175}
3176
3177// RequestID returns the value for header x-ms-request-id.
3178func (bt BlobTags) RequestID() string {
3179	return bt.rawResponse.Header.Get("x-ms-request-id")
3180}
3181
3182// Version returns the value for header x-ms-version.
3183func (bt BlobTags) Version() string {
3184	return bt.rawResponse.Header.Get("x-ms-version")
3185}
3186
3187// BlobUndeleteResponse ...
3188type BlobUndeleteResponse struct {
3189	rawResponse *http.Response
3190}
3191
3192// Response returns the raw HTTP response object.
3193func (bur BlobUndeleteResponse) Response() *http.Response {
3194	return bur.rawResponse
3195}
3196
3197// StatusCode returns the HTTP status code of the response, e.g. 200.
3198func (bur BlobUndeleteResponse) StatusCode() int {
3199	return bur.rawResponse.StatusCode
3200}
3201
3202// Status returns the HTTP status message of the response, e.g. "200 OK".
3203func (bur BlobUndeleteResponse) Status() string {
3204	return bur.rawResponse.Status
3205}
3206
3207// ClientRequestID returns the value for header x-ms-client-request-id.
3208func (bur BlobUndeleteResponse) ClientRequestID() string {
3209	return bur.rawResponse.Header.Get("x-ms-client-request-id")
3210}
3211
3212// Date returns the value for header Date.
3213func (bur BlobUndeleteResponse) Date() time.Time {
3214	s := bur.rawResponse.Header.Get("Date")
3215	if s == "" {
3216		return time.Time{}
3217	}
3218	t, err := time.Parse(time.RFC1123, s)
3219	if err != nil {
3220		t = time.Time{}
3221	}
3222	return t
3223}
3224
3225// ErrorCode returns the value for header x-ms-error-code.
3226func (bur BlobUndeleteResponse) ErrorCode() string {
3227	return bur.rawResponse.Header.Get("x-ms-error-code")
3228}
3229
3230// RequestID returns the value for header x-ms-request-id.
3231func (bur BlobUndeleteResponse) RequestID() string {
3232	return bur.rawResponse.Header.Get("x-ms-request-id")
3233}
3234
3235// Version returns the value for header x-ms-version.
3236func (bur BlobUndeleteResponse) Version() string {
3237	return bur.rawResponse.Header.Get("x-ms-version")
3238}
3239
3240// Block - Represents a single block in a block blob.  It describes the block's ID and size.
3241type Block struct {
3242	// Name - The base64 encoded block ID.
3243	Name string `xml:"Name"`
3244	// Size - The block size in bytes.
3245	Size int64 `xml:"Size"`
3246}
3247
3248// BlockBlobCommitBlockListResponse ...
3249type BlockBlobCommitBlockListResponse struct {
3250	rawResponse *http.Response
3251}
3252
3253// Response returns the raw HTTP response object.
3254func (bbcblr BlockBlobCommitBlockListResponse) Response() *http.Response {
3255	return bbcblr.rawResponse
3256}
3257
3258// StatusCode returns the HTTP status code of the response, e.g. 200.
3259func (bbcblr BlockBlobCommitBlockListResponse) StatusCode() int {
3260	return bbcblr.rawResponse.StatusCode
3261}
3262
3263// Status returns the HTTP status message of the response, e.g. "200 OK".
3264func (bbcblr BlockBlobCommitBlockListResponse) Status() string {
3265	return bbcblr.rawResponse.Status
3266}
3267
3268// ClientRequestID returns the value for header x-ms-client-request-id.
3269func (bbcblr BlockBlobCommitBlockListResponse) ClientRequestID() string {
3270	return bbcblr.rawResponse.Header.Get("x-ms-client-request-id")
3271}
3272
3273// ContentMD5 returns the value for header Content-MD5.
3274func (bbcblr BlockBlobCommitBlockListResponse) ContentMD5() []byte {
3275	s := bbcblr.rawResponse.Header.Get("Content-MD5")
3276	if s == "" {
3277		return nil
3278	}
3279	b, err := base64.StdEncoding.DecodeString(s)
3280	if err != nil {
3281		b = nil
3282	}
3283	return b
3284}
3285
3286// Date returns the value for header Date.
3287func (bbcblr BlockBlobCommitBlockListResponse) Date() time.Time {
3288	s := bbcblr.rawResponse.Header.Get("Date")
3289	if s == "" {
3290		return time.Time{}
3291	}
3292	t, err := time.Parse(time.RFC1123, s)
3293	if err != nil {
3294		t = time.Time{}
3295	}
3296	return t
3297}
3298
3299// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
3300func (bbcblr BlockBlobCommitBlockListResponse) EncryptionKeySha256() string {
3301	return bbcblr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
3302}
3303
3304// EncryptionScope returns the value for header x-ms-encryption-scope.
3305func (bbcblr BlockBlobCommitBlockListResponse) EncryptionScope() string {
3306	return bbcblr.rawResponse.Header.Get("x-ms-encryption-scope")
3307}
3308
3309// ErrorCode returns the value for header x-ms-error-code.
3310func (bbcblr BlockBlobCommitBlockListResponse) ErrorCode() string {
3311	return bbcblr.rawResponse.Header.Get("x-ms-error-code")
3312}
3313
3314// ETag returns the value for header ETag.
3315func (bbcblr BlockBlobCommitBlockListResponse) ETag() ETag {
3316	return ETag(bbcblr.rawResponse.Header.Get("ETag"))
3317}
3318
3319// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
3320func (bbcblr BlockBlobCommitBlockListResponse) IsServerEncrypted() string {
3321	return bbcblr.rawResponse.Header.Get("x-ms-request-server-encrypted")
3322}
3323
3324// LastModified returns the value for header Last-Modified.
3325func (bbcblr BlockBlobCommitBlockListResponse) LastModified() time.Time {
3326	s := bbcblr.rawResponse.Header.Get("Last-Modified")
3327	if s == "" {
3328		return time.Time{}
3329	}
3330	t, err := time.Parse(time.RFC1123, s)
3331	if err != nil {
3332		t = time.Time{}
3333	}
3334	return t
3335}
3336
3337// RequestID returns the value for header x-ms-request-id.
3338func (bbcblr BlockBlobCommitBlockListResponse) RequestID() string {
3339	return bbcblr.rawResponse.Header.Get("x-ms-request-id")
3340}
3341
3342// Version returns the value for header x-ms-version.
3343func (bbcblr BlockBlobCommitBlockListResponse) Version() string {
3344	return bbcblr.rawResponse.Header.Get("x-ms-version")
3345}
3346
3347// VersionID returns the value for header x-ms-version-id.
3348func (bbcblr BlockBlobCommitBlockListResponse) VersionID() string {
3349	return bbcblr.rawResponse.Header.Get("x-ms-version-id")
3350}
3351
3352// XMsContentCrc64 returns the value for header x-ms-content-crc64.
3353func (bbcblr BlockBlobCommitBlockListResponse) XMsContentCrc64() []byte {
3354	s := bbcblr.rawResponse.Header.Get("x-ms-content-crc64")
3355	if s == "" {
3356		return nil
3357	}
3358	b, err := base64.StdEncoding.DecodeString(s)
3359	if err != nil {
3360		b = nil
3361	}
3362	return b
3363}
3364
3365// BlockBlobStageBlockFromURLResponse ...
3366type BlockBlobStageBlockFromURLResponse struct {
3367	rawResponse *http.Response
3368}
3369
3370// Response returns the raw HTTP response object.
3371func (bbsbfur BlockBlobStageBlockFromURLResponse) Response() *http.Response {
3372	return bbsbfur.rawResponse
3373}
3374
3375// StatusCode returns the HTTP status code of the response, e.g. 200.
3376func (bbsbfur BlockBlobStageBlockFromURLResponse) StatusCode() int {
3377	return bbsbfur.rawResponse.StatusCode
3378}
3379
3380// Status returns the HTTP status message of the response, e.g. "200 OK".
3381func (bbsbfur BlockBlobStageBlockFromURLResponse) Status() string {
3382	return bbsbfur.rawResponse.Status
3383}
3384
3385// ClientRequestID returns the value for header x-ms-client-request-id.
3386func (bbsbfur BlockBlobStageBlockFromURLResponse) ClientRequestID() string {
3387	return bbsbfur.rawResponse.Header.Get("x-ms-client-request-id")
3388}
3389
3390// ContentMD5 returns the value for header Content-MD5.
3391func (bbsbfur BlockBlobStageBlockFromURLResponse) ContentMD5() []byte {
3392	s := bbsbfur.rawResponse.Header.Get("Content-MD5")
3393	if s == "" {
3394		return nil
3395	}
3396	b, err := base64.StdEncoding.DecodeString(s)
3397	if err != nil {
3398		b = nil
3399	}
3400	return b
3401}
3402
3403// Date returns the value for header Date.
3404func (bbsbfur BlockBlobStageBlockFromURLResponse) Date() time.Time {
3405	s := bbsbfur.rawResponse.Header.Get("Date")
3406	if s == "" {
3407		return time.Time{}
3408	}
3409	t, err := time.Parse(time.RFC1123, s)
3410	if err != nil {
3411		t = time.Time{}
3412	}
3413	return t
3414}
3415
3416// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
3417func (bbsbfur BlockBlobStageBlockFromURLResponse) EncryptionKeySha256() string {
3418	return bbsbfur.rawResponse.Header.Get("x-ms-encryption-key-sha256")
3419}
3420
3421// EncryptionScope returns the value for header x-ms-encryption-scope.
3422func (bbsbfur BlockBlobStageBlockFromURLResponse) EncryptionScope() string {
3423	return bbsbfur.rawResponse.Header.Get("x-ms-encryption-scope")
3424}
3425
3426// ErrorCode returns the value for header x-ms-error-code.
3427func (bbsbfur BlockBlobStageBlockFromURLResponse) ErrorCode() string {
3428	return bbsbfur.rawResponse.Header.Get("x-ms-error-code")
3429}
3430
3431// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
3432func (bbsbfur BlockBlobStageBlockFromURLResponse) IsServerEncrypted() string {
3433	return bbsbfur.rawResponse.Header.Get("x-ms-request-server-encrypted")
3434}
3435
3436// RequestID returns the value for header x-ms-request-id.
3437func (bbsbfur BlockBlobStageBlockFromURLResponse) RequestID() string {
3438	return bbsbfur.rawResponse.Header.Get("x-ms-request-id")
3439}
3440
3441// Version returns the value for header x-ms-version.
3442func (bbsbfur BlockBlobStageBlockFromURLResponse) Version() string {
3443	return bbsbfur.rawResponse.Header.Get("x-ms-version")
3444}
3445
3446// XMsContentCrc64 returns the value for header x-ms-content-crc64.
3447func (bbsbfur BlockBlobStageBlockFromURLResponse) XMsContentCrc64() []byte {
3448	s := bbsbfur.rawResponse.Header.Get("x-ms-content-crc64")
3449	if s == "" {
3450		return nil
3451	}
3452	b, err := base64.StdEncoding.DecodeString(s)
3453	if err != nil {
3454		b = nil
3455	}
3456	return b
3457}
3458
3459// BlockBlobStageBlockResponse ...
3460type BlockBlobStageBlockResponse struct {
3461	rawResponse *http.Response
3462}
3463
3464// Response returns the raw HTTP response object.
3465func (bbsbr BlockBlobStageBlockResponse) Response() *http.Response {
3466	return bbsbr.rawResponse
3467}
3468
3469// StatusCode returns the HTTP status code of the response, e.g. 200.
3470func (bbsbr BlockBlobStageBlockResponse) StatusCode() int {
3471	return bbsbr.rawResponse.StatusCode
3472}
3473
3474// Status returns the HTTP status message of the response, e.g. "200 OK".
3475func (bbsbr BlockBlobStageBlockResponse) Status() string {
3476	return bbsbr.rawResponse.Status
3477}
3478
3479// ClientRequestID returns the value for header x-ms-client-request-id.
3480func (bbsbr BlockBlobStageBlockResponse) ClientRequestID() string {
3481	return bbsbr.rawResponse.Header.Get("x-ms-client-request-id")
3482}
3483
3484// ContentMD5 returns the value for header Content-MD5.
3485func (bbsbr BlockBlobStageBlockResponse) ContentMD5() []byte {
3486	s := bbsbr.rawResponse.Header.Get("Content-MD5")
3487	if s == "" {
3488		return nil
3489	}
3490	b, err := base64.StdEncoding.DecodeString(s)
3491	if err != nil {
3492		b = nil
3493	}
3494	return b
3495}
3496
3497// Date returns the value for header Date.
3498func (bbsbr BlockBlobStageBlockResponse) Date() time.Time {
3499	s := bbsbr.rawResponse.Header.Get("Date")
3500	if s == "" {
3501		return time.Time{}
3502	}
3503	t, err := time.Parse(time.RFC1123, s)
3504	if err != nil {
3505		t = time.Time{}
3506	}
3507	return t
3508}
3509
3510// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
3511func (bbsbr BlockBlobStageBlockResponse) EncryptionKeySha256() string {
3512	return bbsbr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
3513}
3514
3515// EncryptionScope returns the value for header x-ms-encryption-scope.
3516func (bbsbr BlockBlobStageBlockResponse) EncryptionScope() string {
3517	return bbsbr.rawResponse.Header.Get("x-ms-encryption-scope")
3518}
3519
3520// ErrorCode returns the value for header x-ms-error-code.
3521func (bbsbr BlockBlobStageBlockResponse) ErrorCode() string {
3522	return bbsbr.rawResponse.Header.Get("x-ms-error-code")
3523}
3524
3525// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
3526func (bbsbr BlockBlobStageBlockResponse) IsServerEncrypted() string {
3527	return bbsbr.rawResponse.Header.Get("x-ms-request-server-encrypted")
3528}
3529
3530// RequestID returns the value for header x-ms-request-id.
3531func (bbsbr BlockBlobStageBlockResponse) RequestID() string {
3532	return bbsbr.rawResponse.Header.Get("x-ms-request-id")
3533}
3534
3535// Version returns the value for header x-ms-version.
3536func (bbsbr BlockBlobStageBlockResponse) Version() string {
3537	return bbsbr.rawResponse.Header.Get("x-ms-version")
3538}
3539
3540// XMsContentCrc64 returns the value for header x-ms-content-crc64.
3541func (bbsbr BlockBlobStageBlockResponse) XMsContentCrc64() []byte {
3542	s := bbsbr.rawResponse.Header.Get("x-ms-content-crc64")
3543	if s == "" {
3544		return nil
3545	}
3546	b, err := base64.StdEncoding.DecodeString(s)
3547	if err != nil {
3548		b = nil
3549	}
3550	return b
3551}
3552
3553// BlockBlobUploadResponse ...
3554type BlockBlobUploadResponse struct {
3555	rawResponse *http.Response
3556}
3557
3558// Response returns the raw HTTP response object.
3559func (bbur BlockBlobUploadResponse) Response() *http.Response {
3560	return bbur.rawResponse
3561}
3562
3563// StatusCode returns the HTTP status code of the response, e.g. 200.
3564func (bbur BlockBlobUploadResponse) StatusCode() int {
3565	return bbur.rawResponse.StatusCode
3566}
3567
3568// Status returns the HTTP status message of the response, e.g. "200 OK".
3569func (bbur BlockBlobUploadResponse) Status() string {
3570	return bbur.rawResponse.Status
3571}
3572
3573// ClientRequestID returns the value for header x-ms-client-request-id.
3574func (bbur BlockBlobUploadResponse) ClientRequestID() string {
3575	return bbur.rawResponse.Header.Get("x-ms-client-request-id")
3576}
3577
3578// ContentMD5 returns the value for header Content-MD5.
3579func (bbur BlockBlobUploadResponse) ContentMD5() []byte {
3580	s := bbur.rawResponse.Header.Get("Content-MD5")
3581	if s == "" {
3582		return nil
3583	}
3584	b, err := base64.StdEncoding.DecodeString(s)
3585	if err != nil {
3586		b = nil
3587	}
3588	return b
3589}
3590
3591// Date returns the value for header Date.
3592func (bbur BlockBlobUploadResponse) Date() time.Time {
3593	s := bbur.rawResponse.Header.Get("Date")
3594	if s == "" {
3595		return time.Time{}
3596	}
3597	t, err := time.Parse(time.RFC1123, s)
3598	if err != nil {
3599		t = time.Time{}
3600	}
3601	return t
3602}
3603
3604// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
3605func (bbur BlockBlobUploadResponse) EncryptionKeySha256() string {
3606	return bbur.rawResponse.Header.Get("x-ms-encryption-key-sha256")
3607}
3608
3609// EncryptionScope returns the value for header x-ms-encryption-scope.
3610func (bbur BlockBlobUploadResponse) EncryptionScope() string {
3611	return bbur.rawResponse.Header.Get("x-ms-encryption-scope")
3612}
3613
3614// ErrorCode returns the value for header x-ms-error-code.
3615func (bbur BlockBlobUploadResponse) ErrorCode() string {
3616	return bbur.rawResponse.Header.Get("x-ms-error-code")
3617}
3618
3619// ETag returns the value for header ETag.
3620func (bbur BlockBlobUploadResponse) ETag() ETag {
3621	return ETag(bbur.rawResponse.Header.Get("ETag"))
3622}
3623
3624// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
3625func (bbur BlockBlobUploadResponse) IsServerEncrypted() string {
3626	return bbur.rawResponse.Header.Get("x-ms-request-server-encrypted")
3627}
3628
3629// LastModified returns the value for header Last-Modified.
3630func (bbur BlockBlobUploadResponse) LastModified() time.Time {
3631	s := bbur.rawResponse.Header.Get("Last-Modified")
3632	if s == "" {
3633		return time.Time{}
3634	}
3635	t, err := time.Parse(time.RFC1123, s)
3636	if err != nil {
3637		t = time.Time{}
3638	}
3639	return t
3640}
3641
3642// RequestID returns the value for header x-ms-request-id.
3643func (bbur BlockBlobUploadResponse) RequestID() string {
3644	return bbur.rawResponse.Header.Get("x-ms-request-id")
3645}
3646
3647// Version returns the value for header x-ms-version.
3648func (bbur BlockBlobUploadResponse) Version() string {
3649	return bbur.rawResponse.Header.Get("x-ms-version")
3650}
3651
3652// VersionID returns the value for header x-ms-version-id.
3653func (bbur BlockBlobUploadResponse) VersionID() string {
3654	return bbur.rawResponse.Header.Get("x-ms-version-id")
3655}
3656
3657// BlockList ...
3658type BlockList struct {
3659	rawResponse       *http.Response
3660	CommittedBlocks   []Block `xml:"CommittedBlocks>Block"`
3661	UncommittedBlocks []Block `xml:"UncommittedBlocks>Block"`
3662}
3663
3664// Response returns the raw HTTP response object.
3665func (bl BlockList) Response() *http.Response {
3666	return bl.rawResponse
3667}
3668
3669// StatusCode returns the HTTP status code of the response, e.g. 200.
3670func (bl BlockList) StatusCode() int {
3671	return bl.rawResponse.StatusCode
3672}
3673
3674// Status returns the HTTP status message of the response, e.g. "200 OK".
3675func (bl BlockList) Status() string {
3676	return bl.rawResponse.Status
3677}
3678
3679// BlobContentLength returns the value for header x-ms-blob-content-length.
3680func (bl BlockList) BlobContentLength() int64 {
3681	s := bl.rawResponse.Header.Get("x-ms-blob-content-length")
3682	if s == "" {
3683		return -1
3684	}
3685	i, err := strconv.ParseInt(s, 10, 64)
3686	if err != nil {
3687		i = 0
3688	}
3689	return i
3690}
3691
3692// ClientRequestID returns the value for header x-ms-client-request-id.
3693func (bl BlockList) ClientRequestID() string {
3694	return bl.rawResponse.Header.Get("x-ms-client-request-id")
3695}
3696
3697// ContentType returns the value for header Content-Type.
3698func (bl BlockList) ContentType() string {
3699	return bl.rawResponse.Header.Get("Content-Type")
3700}
3701
3702// Date returns the value for header Date.
3703func (bl BlockList) Date() time.Time {
3704	s := bl.rawResponse.Header.Get("Date")
3705	if s == "" {
3706		return time.Time{}
3707	}
3708	t, err := time.Parse(time.RFC1123, s)
3709	if err != nil {
3710		t = time.Time{}
3711	}
3712	return t
3713}
3714
3715// ErrorCode returns the value for header x-ms-error-code.
3716func (bl BlockList) ErrorCode() string {
3717	return bl.rawResponse.Header.Get("x-ms-error-code")
3718}
3719
3720// ETag returns the value for header ETag.
3721func (bl BlockList) ETag() ETag {
3722	return ETag(bl.rawResponse.Header.Get("ETag"))
3723}
3724
3725// LastModified returns the value for header Last-Modified.
3726func (bl BlockList) LastModified() time.Time {
3727	s := bl.rawResponse.Header.Get("Last-Modified")
3728	if s == "" {
3729		return time.Time{}
3730	}
3731	t, err := time.Parse(time.RFC1123, s)
3732	if err != nil {
3733		t = time.Time{}
3734	}
3735	return t
3736}
3737
3738// RequestID returns the value for header x-ms-request-id.
3739func (bl BlockList) RequestID() string {
3740	return bl.rawResponse.Header.Get("x-ms-request-id")
3741}
3742
3743// Version returns the value for header x-ms-version.
3744func (bl BlockList) Version() string {
3745	return bl.rawResponse.Header.Get("x-ms-version")
3746}
3747
3748// BlockLookupList ...
3749type BlockLookupList struct {
3750	// XMLName is used for marshalling and is subject to removal in a future release.
3751	XMLName     xml.Name `xml:"BlockList"`
3752	Committed   []string `xml:"Committed"`
3753	Uncommitted []string `xml:"Uncommitted"`
3754	Latest      []string `xml:"Latest"`
3755}
3756
3757// ClearRange ...
3758type ClearRange struct {
3759	Start int64 `xml:"Start"`
3760	End   int64 `xml:"End"`
3761}
3762
3763// ContainerAcquireLeaseResponse ...
3764type ContainerAcquireLeaseResponse struct {
3765	rawResponse *http.Response
3766}
3767
3768// Response returns the raw HTTP response object.
3769func (calr ContainerAcquireLeaseResponse) Response() *http.Response {
3770	return calr.rawResponse
3771}
3772
3773// StatusCode returns the HTTP status code of the response, e.g. 200.
3774func (calr ContainerAcquireLeaseResponse) StatusCode() int {
3775	return calr.rawResponse.StatusCode
3776}
3777
3778// Status returns the HTTP status message of the response, e.g. "200 OK".
3779func (calr ContainerAcquireLeaseResponse) Status() string {
3780	return calr.rawResponse.Status
3781}
3782
3783// ClientRequestID returns the value for header x-ms-client-request-id.
3784func (calr ContainerAcquireLeaseResponse) ClientRequestID() string {
3785	return calr.rawResponse.Header.Get("x-ms-client-request-id")
3786}
3787
3788// Date returns the value for header Date.
3789func (calr ContainerAcquireLeaseResponse) Date() time.Time {
3790	s := calr.rawResponse.Header.Get("Date")
3791	if s == "" {
3792		return time.Time{}
3793	}
3794	t, err := time.Parse(time.RFC1123, s)
3795	if err != nil {
3796		t = time.Time{}
3797	}
3798	return t
3799}
3800
3801// ErrorCode returns the value for header x-ms-error-code.
3802func (calr ContainerAcquireLeaseResponse) ErrorCode() string {
3803	return calr.rawResponse.Header.Get("x-ms-error-code")
3804}
3805
3806// ETag returns the value for header ETag.
3807func (calr ContainerAcquireLeaseResponse) ETag() ETag {
3808	return ETag(calr.rawResponse.Header.Get("ETag"))
3809}
3810
3811// LastModified returns the value for header Last-Modified.
3812func (calr ContainerAcquireLeaseResponse) LastModified() time.Time {
3813	s := calr.rawResponse.Header.Get("Last-Modified")
3814	if s == "" {
3815		return time.Time{}
3816	}
3817	t, err := time.Parse(time.RFC1123, s)
3818	if err != nil {
3819		t = time.Time{}
3820	}
3821	return t
3822}
3823
3824// LeaseID returns the value for header x-ms-lease-id.
3825func (calr ContainerAcquireLeaseResponse) LeaseID() string {
3826	return calr.rawResponse.Header.Get("x-ms-lease-id")
3827}
3828
3829// RequestID returns the value for header x-ms-request-id.
3830func (calr ContainerAcquireLeaseResponse) RequestID() string {
3831	return calr.rawResponse.Header.Get("x-ms-request-id")
3832}
3833
3834// Version returns the value for header x-ms-version.
3835func (calr ContainerAcquireLeaseResponse) Version() string {
3836	return calr.rawResponse.Header.Get("x-ms-version")
3837}
3838
3839// ContainerBreakLeaseResponse ...
3840type ContainerBreakLeaseResponse struct {
3841	rawResponse *http.Response
3842}
3843
3844// Response returns the raw HTTP response object.
3845func (cblr ContainerBreakLeaseResponse) Response() *http.Response {
3846	return cblr.rawResponse
3847}
3848
3849// StatusCode returns the HTTP status code of the response, e.g. 200.
3850func (cblr ContainerBreakLeaseResponse) StatusCode() int {
3851	return cblr.rawResponse.StatusCode
3852}
3853
3854// Status returns the HTTP status message of the response, e.g. "200 OK".
3855func (cblr ContainerBreakLeaseResponse) Status() string {
3856	return cblr.rawResponse.Status
3857}
3858
3859// ClientRequestID returns the value for header x-ms-client-request-id.
3860func (cblr ContainerBreakLeaseResponse) ClientRequestID() string {
3861	return cblr.rawResponse.Header.Get("x-ms-client-request-id")
3862}
3863
3864// Date returns the value for header Date.
3865func (cblr ContainerBreakLeaseResponse) Date() time.Time {
3866	s := cblr.rawResponse.Header.Get("Date")
3867	if s == "" {
3868		return time.Time{}
3869	}
3870	t, err := time.Parse(time.RFC1123, s)
3871	if err != nil {
3872		t = time.Time{}
3873	}
3874	return t
3875}
3876
3877// ErrorCode returns the value for header x-ms-error-code.
3878func (cblr ContainerBreakLeaseResponse) ErrorCode() string {
3879	return cblr.rawResponse.Header.Get("x-ms-error-code")
3880}
3881
3882// ETag returns the value for header ETag.
3883func (cblr ContainerBreakLeaseResponse) ETag() ETag {
3884	return ETag(cblr.rawResponse.Header.Get("ETag"))
3885}
3886
3887// LastModified returns the value for header Last-Modified.
3888func (cblr ContainerBreakLeaseResponse) LastModified() time.Time {
3889	s := cblr.rawResponse.Header.Get("Last-Modified")
3890	if s == "" {
3891		return time.Time{}
3892	}
3893	t, err := time.Parse(time.RFC1123, s)
3894	if err != nil {
3895		t = time.Time{}
3896	}
3897	return t
3898}
3899
3900// LeaseTime returns the value for header x-ms-lease-time.
3901func (cblr ContainerBreakLeaseResponse) LeaseTime() int32 {
3902	s := cblr.rawResponse.Header.Get("x-ms-lease-time")
3903	if s == "" {
3904		return -1
3905	}
3906	i, err := strconv.ParseInt(s, 10, 32)
3907	if err != nil {
3908		i = 0
3909	}
3910	return int32(i)
3911}
3912
3913// RequestID returns the value for header x-ms-request-id.
3914func (cblr ContainerBreakLeaseResponse) RequestID() string {
3915	return cblr.rawResponse.Header.Get("x-ms-request-id")
3916}
3917
3918// Version returns the value for header x-ms-version.
3919func (cblr ContainerBreakLeaseResponse) Version() string {
3920	return cblr.rawResponse.Header.Get("x-ms-version")
3921}
3922
3923// ContainerChangeLeaseResponse ...
3924type ContainerChangeLeaseResponse struct {
3925	rawResponse *http.Response
3926}
3927
3928// Response returns the raw HTTP response object.
3929func (cclr ContainerChangeLeaseResponse) Response() *http.Response {
3930	return cclr.rawResponse
3931}
3932
3933// StatusCode returns the HTTP status code of the response, e.g. 200.
3934func (cclr ContainerChangeLeaseResponse) StatusCode() int {
3935	return cclr.rawResponse.StatusCode
3936}
3937
3938// Status returns the HTTP status message of the response, e.g. "200 OK".
3939func (cclr ContainerChangeLeaseResponse) Status() string {
3940	return cclr.rawResponse.Status
3941}
3942
3943// ClientRequestID returns the value for header x-ms-client-request-id.
3944func (cclr ContainerChangeLeaseResponse) ClientRequestID() string {
3945	return cclr.rawResponse.Header.Get("x-ms-client-request-id")
3946}
3947
3948// Date returns the value for header Date.
3949func (cclr ContainerChangeLeaseResponse) Date() time.Time {
3950	s := cclr.rawResponse.Header.Get("Date")
3951	if s == "" {
3952		return time.Time{}
3953	}
3954	t, err := time.Parse(time.RFC1123, s)
3955	if err != nil {
3956		t = time.Time{}
3957	}
3958	return t
3959}
3960
3961// ErrorCode returns the value for header x-ms-error-code.
3962func (cclr ContainerChangeLeaseResponse) ErrorCode() string {
3963	return cclr.rawResponse.Header.Get("x-ms-error-code")
3964}
3965
3966// ETag returns the value for header ETag.
3967func (cclr ContainerChangeLeaseResponse) ETag() ETag {
3968	return ETag(cclr.rawResponse.Header.Get("ETag"))
3969}
3970
3971// LastModified returns the value for header Last-Modified.
3972func (cclr ContainerChangeLeaseResponse) LastModified() time.Time {
3973	s := cclr.rawResponse.Header.Get("Last-Modified")
3974	if s == "" {
3975		return time.Time{}
3976	}
3977	t, err := time.Parse(time.RFC1123, s)
3978	if err != nil {
3979		t = time.Time{}
3980	}
3981	return t
3982}
3983
3984// LeaseID returns the value for header x-ms-lease-id.
3985func (cclr ContainerChangeLeaseResponse) LeaseID() string {
3986	return cclr.rawResponse.Header.Get("x-ms-lease-id")
3987}
3988
3989// RequestID returns the value for header x-ms-request-id.
3990func (cclr ContainerChangeLeaseResponse) RequestID() string {
3991	return cclr.rawResponse.Header.Get("x-ms-request-id")
3992}
3993
3994// Version returns the value for header x-ms-version.
3995func (cclr ContainerChangeLeaseResponse) Version() string {
3996	return cclr.rawResponse.Header.Get("x-ms-version")
3997}
3998
3999// ContainerCreateResponse ...
4000type ContainerCreateResponse struct {
4001	rawResponse *http.Response
4002}
4003
4004// Response returns the raw HTTP response object.
4005func (ccr ContainerCreateResponse) Response() *http.Response {
4006	return ccr.rawResponse
4007}
4008
4009// StatusCode returns the HTTP status code of the response, e.g. 200.
4010func (ccr ContainerCreateResponse) StatusCode() int {
4011	return ccr.rawResponse.StatusCode
4012}
4013
4014// Status returns the HTTP status message of the response, e.g. "200 OK".
4015func (ccr ContainerCreateResponse) Status() string {
4016	return ccr.rawResponse.Status
4017}
4018
4019// ClientRequestID returns the value for header x-ms-client-request-id.
4020func (ccr ContainerCreateResponse) ClientRequestID() string {
4021	return ccr.rawResponse.Header.Get("x-ms-client-request-id")
4022}
4023
4024// Date returns the value for header Date.
4025func (ccr ContainerCreateResponse) Date() time.Time {
4026	s := ccr.rawResponse.Header.Get("Date")
4027	if s == "" {
4028		return time.Time{}
4029	}
4030	t, err := time.Parse(time.RFC1123, s)
4031	if err != nil {
4032		t = time.Time{}
4033	}
4034	return t
4035}
4036
4037// ErrorCode returns the value for header x-ms-error-code.
4038func (ccr ContainerCreateResponse) ErrorCode() string {
4039	return ccr.rawResponse.Header.Get("x-ms-error-code")
4040}
4041
4042// ETag returns the value for header ETag.
4043func (ccr ContainerCreateResponse) ETag() ETag {
4044	return ETag(ccr.rawResponse.Header.Get("ETag"))
4045}
4046
4047// LastModified returns the value for header Last-Modified.
4048func (ccr ContainerCreateResponse) LastModified() time.Time {
4049	s := ccr.rawResponse.Header.Get("Last-Modified")
4050	if s == "" {
4051		return time.Time{}
4052	}
4053	t, err := time.Parse(time.RFC1123, s)
4054	if err != nil {
4055		t = time.Time{}
4056	}
4057	return t
4058}
4059
4060// RequestID returns the value for header x-ms-request-id.
4061func (ccr ContainerCreateResponse) RequestID() string {
4062	return ccr.rawResponse.Header.Get("x-ms-request-id")
4063}
4064
4065// Version returns the value for header x-ms-version.
4066func (ccr ContainerCreateResponse) Version() string {
4067	return ccr.rawResponse.Header.Get("x-ms-version")
4068}
4069
4070// ContainerDeleteResponse ...
4071type ContainerDeleteResponse struct {
4072	rawResponse *http.Response
4073}
4074
4075// Response returns the raw HTTP response object.
4076func (cdr ContainerDeleteResponse) Response() *http.Response {
4077	return cdr.rawResponse
4078}
4079
4080// StatusCode returns the HTTP status code of the response, e.g. 200.
4081func (cdr ContainerDeleteResponse) StatusCode() int {
4082	return cdr.rawResponse.StatusCode
4083}
4084
4085// Status returns the HTTP status message of the response, e.g. "200 OK".
4086func (cdr ContainerDeleteResponse) Status() string {
4087	return cdr.rawResponse.Status
4088}
4089
4090// ClientRequestID returns the value for header x-ms-client-request-id.
4091func (cdr ContainerDeleteResponse) ClientRequestID() string {
4092	return cdr.rawResponse.Header.Get("x-ms-client-request-id")
4093}
4094
4095// Date returns the value for header Date.
4096func (cdr ContainerDeleteResponse) Date() time.Time {
4097	s := cdr.rawResponse.Header.Get("Date")
4098	if s == "" {
4099		return time.Time{}
4100	}
4101	t, err := time.Parse(time.RFC1123, s)
4102	if err != nil {
4103		t = time.Time{}
4104	}
4105	return t
4106}
4107
4108// ErrorCode returns the value for header x-ms-error-code.
4109func (cdr ContainerDeleteResponse) ErrorCode() string {
4110	return cdr.rawResponse.Header.Get("x-ms-error-code")
4111}
4112
4113// RequestID returns the value for header x-ms-request-id.
4114func (cdr ContainerDeleteResponse) RequestID() string {
4115	return cdr.rawResponse.Header.Get("x-ms-request-id")
4116}
4117
4118// Version returns the value for header x-ms-version.
4119func (cdr ContainerDeleteResponse) Version() string {
4120	return cdr.rawResponse.Header.Get("x-ms-version")
4121}
4122
4123// ContainerGetAccountInfoResponse ...
4124type ContainerGetAccountInfoResponse struct {
4125	rawResponse *http.Response
4126}
4127
4128// Response returns the raw HTTP response object.
4129func (cgair ContainerGetAccountInfoResponse) Response() *http.Response {
4130	return cgair.rawResponse
4131}
4132
4133// StatusCode returns the HTTP status code of the response, e.g. 200.
4134func (cgair ContainerGetAccountInfoResponse) StatusCode() int {
4135	return cgair.rawResponse.StatusCode
4136}
4137
4138// Status returns the HTTP status message of the response, e.g. "200 OK".
4139func (cgair ContainerGetAccountInfoResponse) Status() string {
4140	return cgair.rawResponse.Status
4141}
4142
4143// AccountKind returns the value for header x-ms-account-kind.
4144func (cgair ContainerGetAccountInfoResponse) AccountKind() AccountKindType {
4145	return AccountKindType(cgair.rawResponse.Header.Get("x-ms-account-kind"))
4146}
4147
4148// ClientRequestID returns the value for header x-ms-client-request-id.
4149func (cgair ContainerGetAccountInfoResponse) ClientRequestID() string {
4150	return cgair.rawResponse.Header.Get("x-ms-client-request-id")
4151}
4152
4153// Date returns the value for header Date.
4154func (cgair ContainerGetAccountInfoResponse) Date() time.Time {
4155	s := cgair.rawResponse.Header.Get("Date")
4156	if s == "" {
4157		return time.Time{}
4158	}
4159	t, err := time.Parse(time.RFC1123, s)
4160	if err != nil {
4161		t = time.Time{}
4162	}
4163	return t
4164}
4165
4166// ErrorCode returns the value for header x-ms-error-code.
4167func (cgair ContainerGetAccountInfoResponse) ErrorCode() string {
4168	return cgair.rawResponse.Header.Get("x-ms-error-code")
4169}
4170
4171// RequestID returns the value for header x-ms-request-id.
4172func (cgair ContainerGetAccountInfoResponse) RequestID() string {
4173	return cgair.rawResponse.Header.Get("x-ms-request-id")
4174}
4175
4176// SkuName returns the value for header x-ms-sku-name.
4177func (cgair ContainerGetAccountInfoResponse) SkuName() SkuNameType {
4178	return SkuNameType(cgair.rawResponse.Header.Get("x-ms-sku-name"))
4179}
4180
4181// Version returns the value for header x-ms-version.
4182func (cgair ContainerGetAccountInfoResponse) Version() string {
4183	return cgair.rawResponse.Header.Get("x-ms-version")
4184}
4185
4186// ContainerGetPropertiesResponse ...
4187type ContainerGetPropertiesResponse struct {
4188	rawResponse *http.Response
4189}
4190
4191// NewMetadata returns user-defined key/value pairs.
4192func (cgpr ContainerGetPropertiesResponse) NewMetadata() Metadata {
4193	md := Metadata{}
4194	for k, v := range cgpr.rawResponse.Header {
4195		if len(k) > mdPrefixLen {
4196			if prefix := k[0:mdPrefixLen]; strings.EqualFold(prefix, mdPrefix) {
4197				md[strings.ToLower(k[mdPrefixLen:])] = v[0]
4198			}
4199		}
4200	}
4201	return md
4202}
4203
4204// Response returns the raw HTTP response object.
4205func (cgpr ContainerGetPropertiesResponse) Response() *http.Response {
4206	return cgpr.rawResponse
4207}
4208
4209// StatusCode returns the HTTP status code of the response, e.g. 200.
4210func (cgpr ContainerGetPropertiesResponse) StatusCode() int {
4211	return cgpr.rawResponse.StatusCode
4212}
4213
4214// Status returns the HTTP status message of the response, e.g. "200 OK".
4215func (cgpr ContainerGetPropertiesResponse) Status() string {
4216	return cgpr.rawResponse.Status
4217}
4218
4219// BlobPublicAccess returns the value for header x-ms-blob-public-access.
4220func (cgpr ContainerGetPropertiesResponse) BlobPublicAccess() PublicAccessType {
4221	return PublicAccessType(cgpr.rawResponse.Header.Get("x-ms-blob-public-access"))
4222}
4223
4224// ClientRequestID returns the value for header x-ms-client-request-id.
4225func (cgpr ContainerGetPropertiesResponse) ClientRequestID() string {
4226	return cgpr.rawResponse.Header.Get("x-ms-client-request-id")
4227}
4228
4229// Date returns the value for header Date.
4230func (cgpr ContainerGetPropertiesResponse) Date() time.Time {
4231	s := cgpr.rawResponse.Header.Get("Date")
4232	if s == "" {
4233		return time.Time{}
4234	}
4235	t, err := time.Parse(time.RFC1123, s)
4236	if err != nil {
4237		t = time.Time{}
4238	}
4239	return t
4240}
4241
4242// DefaultEncryptionScope returns the value for header x-ms-default-encryption-scope.
4243func (cgpr ContainerGetPropertiesResponse) DefaultEncryptionScope() string {
4244	return cgpr.rawResponse.Header.Get("x-ms-default-encryption-scope")
4245}
4246
4247// DenyEncryptionScopeOverride returns the value for header x-ms-deny-encryption-scope-override.
4248func (cgpr ContainerGetPropertiesResponse) DenyEncryptionScopeOverride() string {
4249	return cgpr.rawResponse.Header.Get("x-ms-deny-encryption-scope-override")
4250}
4251
4252// ErrorCode returns the value for header x-ms-error-code.
4253func (cgpr ContainerGetPropertiesResponse) ErrorCode() string {
4254	return cgpr.rawResponse.Header.Get("x-ms-error-code")
4255}
4256
4257// ETag returns the value for header ETag.
4258func (cgpr ContainerGetPropertiesResponse) ETag() ETag {
4259	return ETag(cgpr.rawResponse.Header.Get("ETag"))
4260}
4261
4262// HasImmutabilityPolicy returns the value for header x-ms-has-immutability-policy.
4263func (cgpr ContainerGetPropertiesResponse) HasImmutabilityPolicy() string {
4264	return cgpr.rawResponse.Header.Get("x-ms-has-immutability-policy")
4265}
4266
4267// HasLegalHold returns the value for header x-ms-has-legal-hold.
4268func (cgpr ContainerGetPropertiesResponse) HasLegalHold() string {
4269	return cgpr.rawResponse.Header.Get("x-ms-has-legal-hold")
4270}
4271
4272// LastModified returns the value for header Last-Modified.
4273func (cgpr ContainerGetPropertiesResponse) LastModified() time.Time {
4274	s := cgpr.rawResponse.Header.Get("Last-Modified")
4275	if s == "" {
4276		return time.Time{}
4277	}
4278	t, err := time.Parse(time.RFC1123, s)
4279	if err != nil {
4280		t = time.Time{}
4281	}
4282	return t
4283}
4284
4285// LeaseDuration returns the value for header x-ms-lease-duration.
4286func (cgpr ContainerGetPropertiesResponse) LeaseDuration() LeaseDurationType {
4287	return LeaseDurationType(cgpr.rawResponse.Header.Get("x-ms-lease-duration"))
4288}
4289
4290// LeaseState returns the value for header x-ms-lease-state.
4291func (cgpr ContainerGetPropertiesResponse) LeaseState() LeaseStateType {
4292	return LeaseStateType(cgpr.rawResponse.Header.Get("x-ms-lease-state"))
4293}
4294
4295// LeaseStatus returns the value for header x-ms-lease-status.
4296func (cgpr ContainerGetPropertiesResponse) LeaseStatus() LeaseStatusType {
4297	return LeaseStatusType(cgpr.rawResponse.Header.Get("x-ms-lease-status"))
4298}
4299
4300// RequestID returns the value for header x-ms-request-id.
4301func (cgpr ContainerGetPropertiesResponse) RequestID() string {
4302	return cgpr.rawResponse.Header.Get("x-ms-request-id")
4303}
4304
4305// Version returns the value for header x-ms-version.
4306func (cgpr ContainerGetPropertiesResponse) Version() string {
4307	return cgpr.rawResponse.Header.Get("x-ms-version")
4308}
4309
4310// ContainerItem - An Azure Storage container
4311type ContainerItem struct {
4312	// XMLName is used for marshalling and is subject to removal in a future release.
4313	XMLName    xml.Name            `xml:"Container"`
4314	Name       string              `xml:"Name"`
4315	Deleted    *bool               `xml:"Deleted"`
4316	Version    *string             `xml:"Version"`
4317	Properties ContainerProperties `xml:"Properties"`
4318	Metadata   Metadata            `xml:"Metadata"`
4319}
4320
4321// ContainerProperties - Properties of a container
4322type ContainerProperties struct {
4323	LastModified time.Time `xml:"Last-Modified"`
4324	Etag         ETag      `xml:"Etag"`
4325	// LeaseStatus - Possible values include: 'LeaseStatusLocked', 'LeaseStatusUnlocked', 'LeaseStatusNone'
4326	LeaseStatus LeaseStatusType `xml:"LeaseStatus"`
4327	// LeaseState - Possible values include: 'LeaseStateAvailable', 'LeaseStateLeased', 'LeaseStateExpired', 'LeaseStateBreaking', 'LeaseStateBroken', 'LeaseStateNone'
4328	LeaseState LeaseStateType `xml:"LeaseState"`
4329	// LeaseDuration - Possible values include: 'LeaseDurationInfinite', 'LeaseDurationFixed', 'LeaseDurationNone'
4330	LeaseDuration LeaseDurationType `xml:"LeaseDuration"`
4331	// PublicAccess - Possible values include: 'PublicAccessContainer', 'PublicAccessBlob', 'PublicAccessNone'
4332	PublicAccess                   PublicAccessType `xml:"PublicAccess"`
4333	HasImmutabilityPolicy          *bool            `xml:"HasImmutabilityPolicy"`
4334	HasLegalHold                   *bool            `xml:"HasLegalHold"`
4335	DefaultEncryptionScope         *string          `xml:"DefaultEncryptionScope"`
4336	PreventEncryptionScopeOverride *bool            `xml:"DenyEncryptionScopeOverride"`
4337	DeletedTime                    *time.Time       `xml:"DeletedTime"`
4338	RemainingRetentionDays         *int32           `xml:"RemainingRetentionDays"`
4339}
4340
4341// MarshalXML implements the xml.Marshaler interface for ContainerProperties.
4342func (cp ContainerProperties) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
4343	cp2 := (*containerProperties)(unsafe.Pointer(&cp))
4344	return e.EncodeElement(*cp2, start)
4345}
4346
4347// UnmarshalXML implements the xml.Unmarshaler interface for ContainerProperties.
4348func (cp *ContainerProperties) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
4349	cp2 := (*containerProperties)(unsafe.Pointer(cp))
4350	return d.DecodeElement(cp2, &start)
4351}
4352
4353// ContainerReleaseLeaseResponse ...
4354type ContainerReleaseLeaseResponse struct {
4355	rawResponse *http.Response
4356}
4357
4358// Response returns the raw HTTP response object.
4359func (crlr ContainerReleaseLeaseResponse) Response() *http.Response {
4360	return crlr.rawResponse
4361}
4362
4363// StatusCode returns the HTTP status code of the response, e.g. 200.
4364func (crlr ContainerReleaseLeaseResponse) StatusCode() int {
4365	return crlr.rawResponse.StatusCode
4366}
4367
4368// Status returns the HTTP status message of the response, e.g. "200 OK".
4369func (crlr ContainerReleaseLeaseResponse) Status() string {
4370	return crlr.rawResponse.Status
4371}
4372
4373// ClientRequestID returns the value for header x-ms-client-request-id.
4374func (crlr ContainerReleaseLeaseResponse) ClientRequestID() string {
4375	return crlr.rawResponse.Header.Get("x-ms-client-request-id")
4376}
4377
4378// Date returns the value for header Date.
4379func (crlr ContainerReleaseLeaseResponse) Date() time.Time {
4380	s := crlr.rawResponse.Header.Get("Date")
4381	if s == "" {
4382		return time.Time{}
4383	}
4384	t, err := time.Parse(time.RFC1123, s)
4385	if err != nil {
4386		t = time.Time{}
4387	}
4388	return t
4389}
4390
4391// ErrorCode returns the value for header x-ms-error-code.
4392func (crlr ContainerReleaseLeaseResponse) ErrorCode() string {
4393	return crlr.rawResponse.Header.Get("x-ms-error-code")
4394}
4395
4396// ETag returns the value for header ETag.
4397func (crlr ContainerReleaseLeaseResponse) ETag() ETag {
4398	return ETag(crlr.rawResponse.Header.Get("ETag"))
4399}
4400
4401// LastModified returns the value for header Last-Modified.
4402func (crlr ContainerReleaseLeaseResponse) LastModified() time.Time {
4403	s := crlr.rawResponse.Header.Get("Last-Modified")
4404	if s == "" {
4405		return time.Time{}
4406	}
4407	t, err := time.Parse(time.RFC1123, s)
4408	if err != nil {
4409		t = time.Time{}
4410	}
4411	return t
4412}
4413
4414// RequestID returns the value for header x-ms-request-id.
4415func (crlr ContainerReleaseLeaseResponse) RequestID() string {
4416	return crlr.rawResponse.Header.Get("x-ms-request-id")
4417}
4418
4419// Version returns the value for header x-ms-version.
4420func (crlr ContainerReleaseLeaseResponse) Version() string {
4421	return crlr.rawResponse.Header.Get("x-ms-version")
4422}
4423
4424// ContainerRenewLeaseResponse ...
4425type ContainerRenewLeaseResponse struct {
4426	rawResponse *http.Response
4427}
4428
4429// Response returns the raw HTTP response object.
4430func (crlr ContainerRenewLeaseResponse) Response() *http.Response {
4431	return crlr.rawResponse
4432}
4433
4434// StatusCode returns the HTTP status code of the response, e.g. 200.
4435func (crlr ContainerRenewLeaseResponse) StatusCode() int {
4436	return crlr.rawResponse.StatusCode
4437}
4438
4439// Status returns the HTTP status message of the response, e.g. "200 OK".
4440func (crlr ContainerRenewLeaseResponse) Status() string {
4441	return crlr.rawResponse.Status
4442}
4443
4444// ClientRequestID returns the value for header x-ms-client-request-id.
4445func (crlr ContainerRenewLeaseResponse) ClientRequestID() string {
4446	return crlr.rawResponse.Header.Get("x-ms-client-request-id")
4447}
4448
4449// Date returns the value for header Date.
4450func (crlr ContainerRenewLeaseResponse) Date() time.Time {
4451	s := crlr.rawResponse.Header.Get("Date")
4452	if s == "" {
4453		return time.Time{}
4454	}
4455	t, err := time.Parse(time.RFC1123, s)
4456	if err != nil {
4457		t = time.Time{}
4458	}
4459	return t
4460}
4461
4462// ErrorCode returns the value for header x-ms-error-code.
4463func (crlr ContainerRenewLeaseResponse) ErrorCode() string {
4464	return crlr.rawResponse.Header.Get("x-ms-error-code")
4465}
4466
4467// ETag returns the value for header ETag.
4468func (crlr ContainerRenewLeaseResponse) ETag() ETag {
4469	return ETag(crlr.rawResponse.Header.Get("ETag"))
4470}
4471
4472// LastModified returns the value for header Last-Modified.
4473func (crlr ContainerRenewLeaseResponse) LastModified() time.Time {
4474	s := crlr.rawResponse.Header.Get("Last-Modified")
4475	if s == "" {
4476		return time.Time{}
4477	}
4478	t, err := time.Parse(time.RFC1123, s)
4479	if err != nil {
4480		t = time.Time{}
4481	}
4482	return t
4483}
4484
4485// LeaseID returns the value for header x-ms-lease-id.
4486func (crlr ContainerRenewLeaseResponse) LeaseID() string {
4487	return crlr.rawResponse.Header.Get("x-ms-lease-id")
4488}
4489
4490// RequestID returns the value for header x-ms-request-id.
4491func (crlr ContainerRenewLeaseResponse) RequestID() string {
4492	return crlr.rawResponse.Header.Get("x-ms-request-id")
4493}
4494
4495// Version returns the value for header x-ms-version.
4496func (crlr ContainerRenewLeaseResponse) Version() string {
4497	return crlr.rawResponse.Header.Get("x-ms-version")
4498}
4499
4500// ContainerRestoreResponse ...
4501type ContainerRestoreResponse struct {
4502	rawResponse *http.Response
4503}
4504
4505// Response returns the raw HTTP response object.
4506func (crr ContainerRestoreResponse) Response() *http.Response {
4507	return crr.rawResponse
4508}
4509
4510// StatusCode returns the HTTP status code of the response, e.g. 200.
4511func (crr ContainerRestoreResponse) StatusCode() int {
4512	return crr.rawResponse.StatusCode
4513}
4514
4515// Status returns the HTTP status message of the response, e.g. "200 OK".
4516func (crr ContainerRestoreResponse) Status() string {
4517	return crr.rawResponse.Status
4518}
4519
4520// ClientRequestID returns the value for header x-ms-client-request-id.
4521func (crr ContainerRestoreResponse) ClientRequestID() string {
4522	return crr.rawResponse.Header.Get("x-ms-client-request-id")
4523}
4524
4525// Date returns the value for header Date.
4526func (crr ContainerRestoreResponse) Date() time.Time {
4527	s := crr.rawResponse.Header.Get("Date")
4528	if s == "" {
4529		return time.Time{}
4530	}
4531	t, err := time.Parse(time.RFC1123, s)
4532	if err != nil {
4533		t = time.Time{}
4534	}
4535	return t
4536}
4537
4538// ErrorCode returns the value for header x-ms-error-code.
4539func (crr ContainerRestoreResponse) ErrorCode() string {
4540	return crr.rawResponse.Header.Get("x-ms-error-code")
4541}
4542
4543// RequestID returns the value for header x-ms-request-id.
4544func (crr ContainerRestoreResponse) RequestID() string {
4545	return crr.rawResponse.Header.Get("x-ms-request-id")
4546}
4547
4548// Version returns the value for header x-ms-version.
4549func (crr ContainerRestoreResponse) Version() string {
4550	return crr.rawResponse.Header.Get("x-ms-version")
4551}
4552
4553// ContainerSetAccessPolicyResponse ...
4554type ContainerSetAccessPolicyResponse struct {
4555	rawResponse *http.Response
4556}
4557
4558// Response returns the raw HTTP response object.
4559func (csapr ContainerSetAccessPolicyResponse) Response() *http.Response {
4560	return csapr.rawResponse
4561}
4562
4563// StatusCode returns the HTTP status code of the response, e.g. 200.
4564func (csapr ContainerSetAccessPolicyResponse) StatusCode() int {
4565	return csapr.rawResponse.StatusCode
4566}
4567
4568// Status returns the HTTP status message of the response, e.g. "200 OK".
4569func (csapr ContainerSetAccessPolicyResponse) Status() string {
4570	return csapr.rawResponse.Status
4571}
4572
4573// ClientRequestID returns the value for header x-ms-client-request-id.
4574func (csapr ContainerSetAccessPolicyResponse) ClientRequestID() string {
4575	return csapr.rawResponse.Header.Get("x-ms-client-request-id")
4576}
4577
4578// Date returns the value for header Date.
4579func (csapr ContainerSetAccessPolicyResponse) Date() time.Time {
4580	s := csapr.rawResponse.Header.Get("Date")
4581	if s == "" {
4582		return time.Time{}
4583	}
4584	t, err := time.Parse(time.RFC1123, s)
4585	if err != nil {
4586		t = time.Time{}
4587	}
4588	return t
4589}
4590
4591// ErrorCode returns the value for header x-ms-error-code.
4592func (csapr ContainerSetAccessPolicyResponse) ErrorCode() string {
4593	return csapr.rawResponse.Header.Get("x-ms-error-code")
4594}
4595
4596// ETag returns the value for header ETag.
4597func (csapr ContainerSetAccessPolicyResponse) ETag() ETag {
4598	return ETag(csapr.rawResponse.Header.Get("ETag"))
4599}
4600
4601// LastModified returns the value for header Last-Modified.
4602func (csapr ContainerSetAccessPolicyResponse) LastModified() time.Time {
4603	s := csapr.rawResponse.Header.Get("Last-Modified")
4604	if s == "" {
4605		return time.Time{}
4606	}
4607	t, err := time.Parse(time.RFC1123, s)
4608	if err != nil {
4609		t = time.Time{}
4610	}
4611	return t
4612}
4613
4614// RequestID returns the value for header x-ms-request-id.
4615func (csapr ContainerSetAccessPolicyResponse) RequestID() string {
4616	return csapr.rawResponse.Header.Get("x-ms-request-id")
4617}
4618
4619// Version returns the value for header x-ms-version.
4620func (csapr ContainerSetAccessPolicyResponse) Version() string {
4621	return csapr.rawResponse.Header.Get("x-ms-version")
4622}
4623
4624// ContainerSetMetadataResponse ...
4625type ContainerSetMetadataResponse struct {
4626	rawResponse *http.Response
4627}
4628
4629// Response returns the raw HTTP response object.
4630func (csmr ContainerSetMetadataResponse) Response() *http.Response {
4631	return csmr.rawResponse
4632}
4633
4634// StatusCode returns the HTTP status code of the response, e.g. 200.
4635func (csmr ContainerSetMetadataResponse) StatusCode() int {
4636	return csmr.rawResponse.StatusCode
4637}
4638
4639// Status returns the HTTP status message of the response, e.g. "200 OK".
4640func (csmr ContainerSetMetadataResponse) Status() string {
4641	return csmr.rawResponse.Status
4642}
4643
4644// ClientRequestID returns the value for header x-ms-client-request-id.
4645func (csmr ContainerSetMetadataResponse) ClientRequestID() string {
4646	return csmr.rawResponse.Header.Get("x-ms-client-request-id")
4647}
4648
4649// Date returns the value for header Date.
4650func (csmr ContainerSetMetadataResponse) Date() time.Time {
4651	s := csmr.rawResponse.Header.Get("Date")
4652	if s == "" {
4653		return time.Time{}
4654	}
4655	t, err := time.Parse(time.RFC1123, s)
4656	if err != nil {
4657		t = time.Time{}
4658	}
4659	return t
4660}
4661
4662// ErrorCode returns the value for header x-ms-error-code.
4663func (csmr ContainerSetMetadataResponse) ErrorCode() string {
4664	return csmr.rawResponse.Header.Get("x-ms-error-code")
4665}
4666
4667// ETag returns the value for header ETag.
4668func (csmr ContainerSetMetadataResponse) ETag() ETag {
4669	return ETag(csmr.rawResponse.Header.Get("ETag"))
4670}
4671
4672// LastModified returns the value for header Last-Modified.
4673func (csmr ContainerSetMetadataResponse) LastModified() time.Time {
4674	s := csmr.rawResponse.Header.Get("Last-Modified")
4675	if s == "" {
4676		return time.Time{}
4677	}
4678	t, err := time.Parse(time.RFC1123, s)
4679	if err != nil {
4680		t = time.Time{}
4681	}
4682	return t
4683}
4684
4685// RequestID returns the value for header x-ms-request-id.
4686func (csmr ContainerSetMetadataResponse) RequestID() string {
4687	return csmr.rawResponse.Header.Get("x-ms-request-id")
4688}
4689
4690// Version returns the value for header x-ms-version.
4691func (csmr ContainerSetMetadataResponse) Version() string {
4692	return csmr.rawResponse.Header.Get("x-ms-version")
4693}
4694
4695// CorsRule - CORS is an HTTP feature that enables a web application running under one domain to access
4696// resources in another domain. Web browsers implement a security restriction known as same-origin policy that
4697// prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain
4698// (the origin domain) to call APIs in another domain
4699type CorsRule struct {
4700	// AllowedOrigins - The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.
4701	AllowedOrigins string `xml:"AllowedOrigins"`
4702	// AllowedMethods - The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)
4703	AllowedMethods string `xml:"AllowedMethods"`
4704	// AllowedHeaders - the request headers that the origin domain may specify on the CORS request.
4705	AllowedHeaders string `xml:"AllowedHeaders"`
4706	// ExposedHeaders - The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer
4707	ExposedHeaders string `xml:"ExposedHeaders"`
4708	// MaxAgeInSeconds - The maximum amount time that a browser should cache the preflight OPTIONS request.
4709	MaxAgeInSeconds int32 `xml:"MaxAgeInSeconds"`
4710}
4711
4712// DataLakeStorageError ...
4713type DataLakeStorageError struct {
4714	// DataLakeStorageErrorDetails - The service error response object.
4715	DataLakeStorageErrorDetails *DataLakeStorageErrorError `xml:"error"`
4716}
4717
4718// DataLakeStorageErrorError - The service error response object.
4719type DataLakeStorageErrorError struct {
4720	// XMLName is used for marshalling and is subject to removal in a future release.
4721	XMLName xml.Name `xml:"DataLakeStorageError_error"`
4722	// Code - The service error code.
4723	Code *string `xml:"Code"`
4724	// Message - The service error message.
4725	Message *string `xml:"Message"`
4726}
4727
4728// DelimitedTextConfiguration - delimited text configuration
4729type DelimitedTextConfiguration struct {
4730	// ColumnSeparator - column separator
4731	ColumnSeparator string `xml:"ColumnSeparator"`
4732	// FieldQuote - field quote
4733	FieldQuote string `xml:"FieldQuote"`
4734	// RecordSeparator - record separator
4735	RecordSeparator string `xml:"RecordSeparator"`
4736	// EscapeChar - escape char
4737	EscapeChar string `xml:"EscapeChar"`
4738	// HeadersPresent - has headers
4739	HeadersPresent bool `xml:"HasHeaders"`
4740}
4741
4742// DirectoryCreateResponse ...
4743type DirectoryCreateResponse struct {
4744	rawResponse *http.Response
4745}
4746
4747// Response returns the raw HTTP response object.
4748func (dcr DirectoryCreateResponse) Response() *http.Response {
4749	return dcr.rawResponse
4750}
4751
4752// StatusCode returns the HTTP status code of the response, e.g. 200.
4753func (dcr DirectoryCreateResponse) StatusCode() int {
4754	return dcr.rawResponse.StatusCode
4755}
4756
4757// Status returns the HTTP status message of the response, e.g. "200 OK".
4758func (dcr DirectoryCreateResponse) Status() string {
4759	return dcr.rawResponse.Status
4760}
4761
4762// ClientRequestID returns the value for header x-ms-client-request-id.
4763func (dcr DirectoryCreateResponse) ClientRequestID() string {
4764	return dcr.rawResponse.Header.Get("x-ms-client-request-id")
4765}
4766
4767// ContentLength returns the value for header Content-Length.
4768func (dcr DirectoryCreateResponse) ContentLength() int64 {
4769	s := dcr.rawResponse.Header.Get("Content-Length")
4770	if s == "" {
4771		return -1
4772	}
4773	i, err := strconv.ParseInt(s, 10, 64)
4774	if err != nil {
4775		i = 0
4776	}
4777	return i
4778}
4779
4780// Date returns the value for header Date.
4781func (dcr DirectoryCreateResponse) Date() time.Time {
4782	s := dcr.rawResponse.Header.Get("Date")
4783	if s == "" {
4784		return time.Time{}
4785	}
4786	t, err := time.Parse(time.RFC1123, s)
4787	if err != nil {
4788		t = time.Time{}
4789	}
4790	return t
4791}
4792
4793// ETag returns the value for header ETag.
4794func (dcr DirectoryCreateResponse) ETag() ETag {
4795	return ETag(dcr.rawResponse.Header.Get("ETag"))
4796}
4797
4798// LastModified returns the value for header Last-Modified.
4799func (dcr DirectoryCreateResponse) LastModified() time.Time {
4800	s := dcr.rawResponse.Header.Get("Last-Modified")
4801	if s == "" {
4802		return time.Time{}
4803	}
4804	t, err := time.Parse(time.RFC1123, s)
4805	if err != nil {
4806		t = time.Time{}
4807	}
4808	return t
4809}
4810
4811// RequestID returns the value for header x-ms-request-id.
4812func (dcr DirectoryCreateResponse) RequestID() string {
4813	return dcr.rawResponse.Header.Get("x-ms-request-id")
4814}
4815
4816// Version returns the value for header x-ms-version.
4817func (dcr DirectoryCreateResponse) Version() string {
4818	return dcr.rawResponse.Header.Get("x-ms-version")
4819}
4820
4821// DirectoryDeleteResponse ...
4822type DirectoryDeleteResponse struct {
4823	rawResponse *http.Response
4824}
4825
4826// Response returns the raw HTTP response object.
4827func (ddr DirectoryDeleteResponse) Response() *http.Response {
4828	return ddr.rawResponse
4829}
4830
4831// StatusCode returns the HTTP status code of the response, e.g. 200.
4832func (ddr DirectoryDeleteResponse) StatusCode() int {
4833	return ddr.rawResponse.StatusCode
4834}
4835
4836// Status returns the HTTP status message of the response, e.g. "200 OK".
4837func (ddr DirectoryDeleteResponse) Status() string {
4838	return ddr.rawResponse.Status
4839}
4840
4841// ClientRequestID returns the value for header x-ms-client-request-id.
4842func (ddr DirectoryDeleteResponse) ClientRequestID() string {
4843	return ddr.rawResponse.Header.Get("x-ms-client-request-id")
4844}
4845
4846// Date returns the value for header Date.
4847func (ddr DirectoryDeleteResponse) Date() time.Time {
4848	s := ddr.rawResponse.Header.Get("Date")
4849	if s == "" {
4850		return time.Time{}
4851	}
4852	t, err := time.Parse(time.RFC1123, s)
4853	if err != nil {
4854		t = time.Time{}
4855	}
4856	return t
4857}
4858
4859// Marker returns the value for header x-ms-continuation.
4860func (ddr DirectoryDeleteResponse) Marker() string {
4861	return ddr.rawResponse.Header.Get("x-ms-continuation")
4862}
4863
4864// RequestID returns the value for header x-ms-request-id.
4865func (ddr DirectoryDeleteResponse) RequestID() string {
4866	return ddr.rawResponse.Header.Get("x-ms-request-id")
4867}
4868
4869// Version returns the value for header x-ms-version.
4870func (ddr DirectoryDeleteResponse) Version() string {
4871	return ddr.rawResponse.Header.Get("x-ms-version")
4872}
4873
4874// DirectoryGetAccessControlResponse ...
4875type DirectoryGetAccessControlResponse struct {
4876	rawResponse *http.Response
4877}
4878
4879// Response returns the raw HTTP response object.
4880func (dgacr DirectoryGetAccessControlResponse) Response() *http.Response {
4881	return dgacr.rawResponse
4882}
4883
4884// StatusCode returns the HTTP status code of the response, e.g. 200.
4885func (dgacr DirectoryGetAccessControlResponse) StatusCode() int {
4886	return dgacr.rawResponse.StatusCode
4887}
4888
4889// Status returns the HTTP status message of the response, e.g. "200 OK".
4890func (dgacr DirectoryGetAccessControlResponse) Status() string {
4891	return dgacr.rawResponse.Status
4892}
4893
4894// ClientRequestID returns the value for header x-ms-client-request-id.
4895func (dgacr DirectoryGetAccessControlResponse) ClientRequestID() string {
4896	return dgacr.rawResponse.Header.Get("x-ms-client-request-id")
4897}
4898
4899// Date returns the value for header Date.
4900func (dgacr DirectoryGetAccessControlResponse) Date() time.Time {
4901	s := dgacr.rawResponse.Header.Get("Date")
4902	if s == "" {
4903		return time.Time{}
4904	}
4905	t, err := time.Parse(time.RFC1123, s)
4906	if err != nil {
4907		t = time.Time{}
4908	}
4909	return t
4910}
4911
4912// ETag returns the value for header ETag.
4913func (dgacr DirectoryGetAccessControlResponse) ETag() ETag {
4914	return ETag(dgacr.rawResponse.Header.Get("ETag"))
4915}
4916
4917// LastModified returns the value for header Last-Modified.
4918func (dgacr DirectoryGetAccessControlResponse) LastModified() time.Time {
4919	s := dgacr.rawResponse.Header.Get("Last-Modified")
4920	if s == "" {
4921		return time.Time{}
4922	}
4923	t, err := time.Parse(time.RFC1123, s)
4924	if err != nil {
4925		t = time.Time{}
4926	}
4927	return t
4928}
4929
4930// RequestID returns the value for header x-ms-request-id.
4931func (dgacr DirectoryGetAccessControlResponse) RequestID() string {
4932	return dgacr.rawResponse.Header.Get("x-ms-request-id")
4933}
4934
4935// Version returns the value for header x-ms-version.
4936func (dgacr DirectoryGetAccessControlResponse) Version() string {
4937	return dgacr.rawResponse.Header.Get("x-ms-version")
4938}
4939
4940// XMsACL returns the value for header x-ms-acl.
4941func (dgacr DirectoryGetAccessControlResponse) XMsACL() string {
4942	return dgacr.rawResponse.Header.Get("x-ms-acl")
4943}
4944
4945// XMsGroup returns the value for header x-ms-group.
4946func (dgacr DirectoryGetAccessControlResponse) XMsGroup() string {
4947	return dgacr.rawResponse.Header.Get("x-ms-group")
4948}
4949
4950// XMsOwner returns the value for header x-ms-owner.
4951func (dgacr DirectoryGetAccessControlResponse) XMsOwner() string {
4952	return dgacr.rawResponse.Header.Get("x-ms-owner")
4953}
4954
4955// XMsPermissions returns the value for header x-ms-permissions.
4956func (dgacr DirectoryGetAccessControlResponse) XMsPermissions() string {
4957	return dgacr.rawResponse.Header.Get("x-ms-permissions")
4958}
4959
4960// DirectoryRenameResponse ...
4961type DirectoryRenameResponse struct {
4962	rawResponse *http.Response
4963}
4964
4965// Response returns the raw HTTP response object.
4966func (drr DirectoryRenameResponse) Response() *http.Response {
4967	return drr.rawResponse
4968}
4969
4970// StatusCode returns the HTTP status code of the response, e.g. 200.
4971func (drr DirectoryRenameResponse) StatusCode() int {
4972	return drr.rawResponse.StatusCode
4973}
4974
4975// Status returns the HTTP status message of the response, e.g. "200 OK".
4976func (drr DirectoryRenameResponse) Status() string {
4977	return drr.rawResponse.Status
4978}
4979
4980// ClientRequestID returns the value for header x-ms-client-request-id.
4981func (drr DirectoryRenameResponse) ClientRequestID() string {
4982	return drr.rawResponse.Header.Get("x-ms-client-request-id")
4983}
4984
4985// ContentLength returns the value for header Content-Length.
4986func (drr DirectoryRenameResponse) ContentLength() int64 {
4987	s := drr.rawResponse.Header.Get("Content-Length")
4988	if s == "" {
4989		return -1
4990	}
4991	i, err := strconv.ParseInt(s, 10, 64)
4992	if err != nil {
4993		i = 0
4994	}
4995	return i
4996}
4997
4998// Date returns the value for header Date.
4999func (drr DirectoryRenameResponse) Date() time.Time {
5000	s := drr.rawResponse.Header.Get("Date")
5001	if s == "" {
5002		return time.Time{}
5003	}
5004	t, err := time.Parse(time.RFC1123, s)
5005	if err != nil {
5006		t = time.Time{}
5007	}
5008	return t
5009}
5010
5011// ETag returns the value for header ETag.
5012func (drr DirectoryRenameResponse) ETag() ETag {
5013	return ETag(drr.rawResponse.Header.Get("ETag"))
5014}
5015
5016// LastModified returns the value for header Last-Modified.
5017func (drr DirectoryRenameResponse) LastModified() time.Time {
5018	s := drr.rawResponse.Header.Get("Last-Modified")
5019	if s == "" {
5020		return time.Time{}
5021	}
5022	t, err := time.Parse(time.RFC1123, s)
5023	if err != nil {
5024		t = time.Time{}
5025	}
5026	return t
5027}
5028
5029// Marker returns the value for header x-ms-continuation.
5030func (drr DirectoryRenameResponse) Marker() string {
5031	return drr.rawResponse.Header.Get("x-ms-continuation")
5032}
5033
5034// RequestID returns the value for header x-ms-request-id.
5035func (drr DirectoryRenameResponse) RequestID() string {
5036	return drr.rawResponse.Header.Get("x-ms-request-id")
5037}
5038
5039// Version returns the value for header x-ms-version.
5040func (drr DirectoryRenameResponse) Version() string {
5041	return drr.rawResponse.Header.Get("x-ms-version")
5042}
5043
5044// DirectorySetAccessControlResponse ...
5045type DirectorySetAccessControlResponse struct {
5046	rawResponse *http.Response
5047}
5048
5049// Response returns the raw HTTP response object.
5050func (dsacr DirectorySetAccessControlResponse) Response() *http.Response {
5051	return dsacr.rawResponse
5052}
5053
5054// StatusCode returns the HTTP status code of the response, e.g. 200.
5055func (dsacr DirectorySetAccessControlResponse) StatusCode() int {
5056	return dsacr.rawResponse.StatusCode
5057}
5058
5059// Status returns the HTTP status message of the response, e.g. "200 OK".
5060func (dsacr DirectorySetAccessControlResponse) Status() string {
5061	return dsacr.rawResponse.Status
5062}
5063
5064// ClientRequestID returns the value for header x-ms-client-request-id.
5065func (dsacr DirectorySetAccessControlResponse) ClientRequestID() string {
5066	return dsacr.rawResponse.Header.Get("x-ms-client-request-id")
5067}
5068
5069// Date returns the value for header Date.
5070func (dsacr DirectorySetAccessControlResponse) Date() time.Time {
5071	s := dsacr.rawResponse.Header.Get("Date")
5072	if s == "" {
5073		return time.Time{}
5074	}
5075	t, err := time.Parse(time.RFC1123, s)
5076	if err != nil {
5077		t = time.Time{}
5078	}
5079	return t
5080}
5081
5082// ETag returns the value for header ETag.
5083func (dsacr DirectorySetAccessControlResponse) ETag() ETag {
5084	return ETag(dsacr.rawResponse.Header.Get("ETag"))
5085}
5086
5087// LastModified returns the value for header Last-Modified.
5088func (dsacr DirectorySetAccessControlResponse) LastModified() time.Time {
5089	s := dsacr.rawResponse.Header.Get("Last-Modified")
5090	if s == "" {
5091		return time.Time{}
5092	}
5093	t, err := time.Parse(time.RFC1123, s)
5094	if err != nil {
5095		t = time.Time{}
5096	}
5097	return t
5098}
5099
5100// RequestID returns the value for header x-ms-request-id.
5101func (dsacr DirectorySetAccessControlResponse) RequestID() string {
5102	return dsacr.rawResponse.Header.Get("x-ms-request-id")
5103}
5104
5105// Version returns the value for header x-ms-version.
5106func (dsacr DirectorySetAccessControlResponse) Version() string {
5107	return dsacr.rawResponse.Header.Get("x-ms-version")
5108}
5109
5110// downloadResponse - Wraps the response from the blobClient.Download method.
5111type downloadResponse struct {
5112	rawResponse *http.Response
5113}
5114
5115// NewMetadata returns user-defined key/value pairs.
5116func (dr downloadResponse) NewMetadata() Metadata {
5117	md := Metadata{}
5118	for k, v := range dr.rawResponse.Header {
5119		if len(k) > mdPrefixLen {
5120			if prefix := k[0:mdPrefixLen]; strings.EqualFold(prefix, mdPrefix) {
5121				md[strings.ToLower(k[mdPrefixLen:])] = v[0]
5122			}
5123		}
5124	}
5125	return md
5126}
5127
5128// Response returns the raw HTTP response object.
5129func (dr downloadResponse) Response() *http.Response {
5130	return dr.rawResponse
5131}
5132
5133// StatusCode returns the HTTP status code of the response, e.g. 200.
5134func (dr downloadResponse) StatusCode() int {
5135	return dr.rawResponse.StatusCode
5136}
5137
5138// Status returns the HTTP status message of the response, e.g. "200 OK".
5139func (dr downloadResponse) Status() string {
5140	return dr.rawResponse.Status
5141}
5142
5143// Body returns the raw HTTP response object's Body.
5144func (dr downloadResponse) Body() io.ReadCloser {
5145	return dr.rawResponse.Body
5146}
5147
5148// AcceptRanges returns the value for header Accept-Ranges.
5149func (dr downloadResponse) AcceptRanges() string {
5150	return dr.rawResponse.Header.Get("Accept-Ranges")
5151}
5152
5153// BlobCommittedBlockCount returns the value for header x-ms-blob-committed-block-count.
5154func (dr downloadResponse) BlobCommittedBlockCount() int32 {
5155	s := dr.rawResponse.Header.Get("x-ms-blob-committed-block-count")
5156	if s == "" {
5157		return -1
5158	}
5159	i, err := strconv.ParseInt(s, 10, 32)
5160	if err != nil {
5161		i = 0
5162	}
5163	return int32(i)
5164}
5165
5166// BlobContentMD5 returns the value for header x-ms-blob-content-md5.
5167func (dr downloadResponse) BlobContentMD5() []byte {
5168	s := dr.rawResponse.Header.Get("x-ms-blob-content-md5")
5169	if s == "" {
5170		return nil
5171	}
5172	b, err := base64.StdEncoding.DecodeString(s)
5173	if err != nil {
5174		b = nil
5175	}
5176	return b
5177}
5178
5179// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
5180func (dr downloadResponse) BlobSequenceNumber() int64 {
5181	s := dr.rawResponse.Header.Get("x-ms-blob-sequence-number")
5182	if s == "" {
5183		return -1
5184	}
5185	i, err := strconv.ParseInt(s, 10, 64)
5186	if err != nil {
5187		i = 0
5188	}
5189	return i
5190}
5191
5192// BlobType returns the value for header x-ms-blob-type.
5193func (dr downloadResponse) BlobType() BlobType {
5194	return BlobType(dr.rawResponse.Header.Get("x-ms-blob-type"))
5195}
5196
5197// CacheControl returns the value for header Cache-Control.
5198func (dr downloadResponse) CacheControl() string {
5199	return dr.rawResponse.Header.Get("Cache-Control")
5200}
5201
5202// ClientRequestID returns the value for header x-ms-client-request-id.
5203func (dr downloadResponse) ClientRequestID() string {
5204	return dr.rawResponse.Header.Get("x-ms-client-request-id")
5205}
5206
5207// ContentCrc64 returns the value for header x-ms-content-crc64.
5208func (dr downloadResponse) ContentCrc64() []byte {
5209	s := dr.rawResponse.Header.Get("x-ms-content-crc64")
5210	if s == "" {
5211		return nil
5212	}
5213	b, err := base64.StdEncoding.DecodeString(s)
5214	if err != nil {
5215		b = nil
5216	}
5217	return b
5218}
5219
5220// ContentDisposition returns the value for header Content-Disposition.
5221func (dr downloadResponse) ContentDisposition() string {
5222	return dr.rawResponse.Header.Get("Content-Disposition")
5223}
5224
5225// ContentEncoding returns the value for header Content-Encoding.
5226func (dr downloadResponse) ContentEncoding() string {
5227	return dr.rawResponse.Header.Get("Content-Encoding")
5228}
5229
5230// ContentLanguage returns the value for header Content-Language.
5231func (dr downloadResponse) ContentLanguage() string {
5232	return dr.rawResponse.Header.Get("Content-Language")
5233}
5234
5235// ContentLength returns the value for header Content-Length.
5236func (dr downloadResponse) ContentLength() int64 {
5237	s := dr.rawResponse.Header.Get("Content-Length")
5238	if s == "" {
5239		return -1
5240	}
5241	i, err := strconv.ParseInt(s, 10, 64)
5242	if err != nil {
5243		i = 0
5244	}
5245	return i
5246}
5247
5248// ContentMD5 returns the value for header Content-MD5.
5249func (dr downloadResponse) ContentMD5() []byte {
5250	s := dr.rawResponse.Header.Get("Content-MD5")
5251	if s == "" {
5252		return nil
5253	}
5254	b, err := base64.StdEncoding.DecodeString(s)
5255	if err != nil {
5256		b = nil
5257	}
5258	return b
5259}
5260
5261// ContentRange returns the value for header Content-Range.
5262func (dr downloadResponse) ContentRange() string {
5263	return dr.rawResponse.Header.Get("Content-Range")
5264}
5265
5266// ContentType returns the value for header Content-Type.
5267func (dr downloadResponse) ContentType() string {
5268	return dr.rawResponse.Header.Get("Content-Type")
5269}
5270
5271// CopyCompletionTime returns the value for header x-ms-copy-completion-time.
5272func (dr downloadResponse) CopyCompletionTime() time.Time {
5273	s := dr.rawResponse.Header.Get("x-ms-copy-completion-time")
5274	if s == "" {
5275		return time.Time{}
5276	}
5277	t, err := time.Parse(time.RFC1123, s)
5278	if err != nil {
5279		t = time.Time{}
5280	}
5281	return t
5282}
5283
5284// CopyID returns the value for header x-ms-copy-id.
5285func (dr downloadResponse) CopyID() string {
5286	return dr.rawResponse.Header.Get("x-ms-copy-id")
5287}
5288
5289// CopyProgress returns the value for header x-ms-copy-progress.
5290func (dr downloadResponse) CopyProgress() string {
5291	return dr.rawResponse.Header.Get("x-ms-copy-progress")
5292}
5293
5294// CopySource returns the value for header x-ms-copy-source.
5295func (dr downloadResponse) CopySource() string {
5296	return dr.rawResponse.Header.Get("x-ms-copy-source")
5297}
5298
5299// CopyStatus returns the value for header x-ms-copy-status.
5300func (dr downloadResponse) CopyStatus() CopyStatusType {
5301	return CopyStatusType(dr.rawResponse.Header.Get("x-ms-copy-status"))
5302}
5303
5304// CopyStatusDescription returns the value for header x-ms-copy-status-description.
5305func (dr downloadResponse) CopyStatusDescription() string {
5306	return dr.rawResponse.Header.Get("x-ms-copy-status-description")
5307}
5308
5309// Date returns the value for header Date.
5310func (dr downloadResponse) Date() time.Time {
5311	s := dr.rawResponse.Header.Get("Date")
5312	if s == "" {
5313		return time.Time{}
5314	}
5315	t, err := time.Parse(time.RFC1123, s)
5316	if err != nil {
5317		t = time.Time{}
5318	}
5319	return t
5320}
5321
5322// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
5323func (dr downloadResponse) EncryptionKeySha256() string {
5324	return dr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
5325}
5326
5327// EncryptionScope returns the value for header x-ms-encryption-scope.
5328func (dr downloadResponse) EncryptionScope() string {
5329	return dr.rawResponse.Header.Get("x-ms-encryption-scope")
5330}
5331
5332// ErrorCode returns the value for header x-ms-error-code.
5333func (dr downloadResponse) ErrorCode() string {
5334	return dr.rawResponse.Header.Get("x-ms-error-code")
5335}
5336
5337// ETag returns the value for header ETag.
5338func (dr downloadResponse) ETag() ETag {
5339	return ETag(dr.rawResponse.Header.Get("ETag"))
5340}
5341
5342// IsSealed returns the value for header x-ms-blob-sealed.
5343func (dr downloadResponse) IsSealed() string {
5344	return dr.rawResponse.Header.Get("x-ms-blob-sealed")
5345}
5346
5347// IsServerEncrypted returns the value for header x-ms-server-encrypted.
5348func (dr downloadResponse) IsServerEncrypted() string {
5349	return dr.rawResponse.Header.Get("x-ms-server-encrypted")
5350}
5351
5352// LastModified returns the value for header Last-Modified.
5353func (dr downloadResponse) LastModified() time.Time {
5354	s := dr.rawResponse.Header.Get("Last-Modified")
5355	if s == "" {
5356		return time.Time{}
5357	}
5358	t, err := time.Parse(time.RFC1123, s)
5359	if err != nil {
5360		t = time.Time{}
5361	}
5362	return t
5363}
5364
5365// LeaseDuration returns the value for header x-ms-lease-duration.
5366func (dr downloadResponse) LeaseDuration() LeaseDurationType {
5367	return LeaseDurationType(dr.rawResponse.Header.Get("x-ms-lease-duration"))
5368}
5369
5370// LeaseState returns the value for header x-ms-lease-state.
5371func (dr downloadResponse) LeaseState() LeaseStateType {
5372	return LeaseStateType(dr.rawResponse.Header.Get("x-ms-lease-state"))
5373}
5374
5375// LeaseStatus returns the value for header x-ms-lease-status.
5376func (dr downloadResponse) LeaseStatus() LeaseStatusType {
5377	return LeaseStatusType(dr.rawResponse.Header.Get("x-ms-lease-status"))
5378}
5379
5380// ObjectReplicationPolicyID returns the value for header x-ms-or-policy-id.
5381func (dr downloadResponse) ObjectReplicationPolicyID() string {
5382	return dr.rawResponse.Header.Get("x-ms-or-policy-id")
5383}
5384
5385// ObjectReplicationRules returns the value for header x-ms-or.
5386func (dr downloadResponse) ObjectReplicationRules() string {
5387	return dr.rawResponse.Header.Get("x-ms-or")
5388}
5389
5390// RequestID returns the value for header x-ms-request-id.
5391func (dr downloadResponse) RequestID() string {
5392	return dr.rawResponse.Header.Get("x-ms-request-id")
5393}
5394
5395// TagCount returns the value for header x-ms-tag-count.
5396func (dr downloadResponse) TagCount() int64 {
5397	s := dr.rawResponse.Header.Get("x-ms-tag-count")
5398	if s == "" {
5399		return -1
5400	}
5401	i, err := strconv.ParseInt(s, 10, 64)
5402	if err != nil {
5403		i = 0
5404	}
5405	return i
5406}
5407
5408// Version returns the value for header x-ms-version.
5409func (dr downloadResponse) Version() string {
5410	return dr.rawResponse.Header.Get("x-ms-version")
5411}
5412
5413// VersionID returns the value for header x-ms-version-id.
5414func (dr downloadResponse) VersionID() string {
5415	return dr.rawResponse.Header.Get("x-ms-version-id")
5416}
5417
5418// FilterBlobItem - Blob info from a Filter Blobs API call
5419type FilterBlobItem struct {
5420	// XMLName is used for marshalling and is subject to removal in a future release.
5421	XMLName       xml.Name `xml:"Blob"`
5422	Name          string   `xml:"Name"`
5423	ContainerName string   `xml:"ContainerName"`
5424	TagValue      string   `xml:"TagValue"`
5425}
5426
5427// FilterBlobSegment - The result of a Filter Blobs API call
5428type FilterBlobSegment struct {
5429	rawResponse *http.Response
5430	// XMLName is used for marshalling and is subject to removal in a future release.
5431	XMLName         xml.Name         `xml:"EnumerationResults"`
5432	ServiceEndpoint string           `xml:"ServiceEndpoint,attr"`
5433	Where           string           `xml:"Where"`
5434	Blobs           []FilterBlobItem `xml:"Blobs>Blob"`
5435	NextMarker      *string          `xml:"NextMarker"`
5436}
5437
5438// Response returns the raw HTTP response object.
5439func (fbs FilterBlobSegment) Response() *http.Response {
5440	return fbs.rawResponse
5441}
5442
5443// StatusCode returns the HTTP status code of the response, e.g. 200.
5444func (fbs FilterBlobSegment) StatusCode() int {
5445	return fbs.rawResponse.StatusCode
5446}
5447
5448// Status returns the HTTP status message of the response, e.g. "200 OK".
5449func (fbs FilterBlobSegment) Status() string {
5450	return fbs.rawResponse.Status
5451}
5452
5453// ClientRequestID returns the value for header x-ms-client-request-id.
5454func (fbs FilterBlobSegment) ClientRequestID() string {
5455	return fbs.rawResponse.Header.Get("x-ms-client-request-id")
5456}
5457
5458// Date returns the value for header Date.
5459func (fbs FilterBlobSegment) Date() time.Time {
5460	s := fbs.rawResponse.Header.Get("Date")
5461	if s == "" {
5462		return time.Time{}
5463	}
5464	t, err := time.Parse(time.RFC1123, s)
5465	if err != nil {
5466		t = time.Time{}
5467	}
5468	return t
5469}
5470
5471// ErrorCode returns the value for header x-ms-error-code.
5472func (fbs FilterBlobSegment) ErrorCode() string {
5473	return fbs.rawResponse.Header.Get("x-ms-error-code")
5474}
5475
5476// RequestID returns the value for header x-ms-request-id.
5477func (fbs FilterBlobSegment) RequestID() string {
5478	return fbs.rawResponse.Header.Get("x-ms-request-id")
5479}
5480
5481// Version returns the value for header x-ms-version.
5482func (fbs FilterBlobSegment) Version() string {
5483	return fbs.rawResponse.Header.Get("x-ms-version")
5484}
5485
5486// GeoReplication - Geo-Replication information for the Secondary Storage Service
5487type GeoReplication struct {
5488	// Status - The status of the secondary location. Possible values include: 'GeoReplicationStatusLive', 'GeoReplicationStatusBootstrap', 'GeoReplicationStatusUnavailable', 'GeoReplicationStatusNone'
5489	Status GeoReplicationStatusType `xml:"Status"`
5490	// LastSyncTime - A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.
5491	LastSyncTime time.Time `xml:"LastSyncTime"`
5492}
5493
5494// MarshalXML implements the xml.Marshaler interface for GeoReplication.
5495func (gr GeoReplication) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
5496	gr2 := (*geoReplication)(unsafe.Pointer(&gr))
5497	return e.EncodeElement(*gr2, start)
5498}
5499
5500// UnmarshalXML implements the xml.Unmarshaler interface for GeoReplication.
5501func (gr *GeoReplication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
5502	gr2 := (*geoReplication)(unsafe.Pointer(gr))
5503	return d.DecodeElement(gr2, &start)
5504}
5505
5506// JSONTextConfiguration - json text configuration
5507type JSONTextConfiguration struct {
5508	// XMLName is used for marshalling and is subject to removal in a future release.
5509	XMLName xml.Name `xml:"JsonTextConfiguration"`
5510	// RecordSeparator - record separator
5511	RecordSeparator string `xml:"RecordSeparator"`
5512}
5513
5514// KeyInfo - Key information
5515type KeyInfo struct {
5516	// Start - The date-time the key is active in ISO 8601 UTC time
5517	Start string `xml:"Start"`
5518	// Expiry - The date-time the key expires in ISO 8601 UTC time
5519	Expiry string `xml:"Expiry"`
5520}
5521
5522// ListBlobsFlatSegmentResponse - An enumeration of blobs
5523type ListBlobsFlatSegmentResponse struct {
5524	rawResponse *http.Response
5525	// XMLName is used for marshalling and is subject to removal in a future release.
5526	XMLName         xml.Name            `xml:"EnumerationResults"`
5527	ServiceEndpoint string              `xml:"ServiceEndpoint,attr"`
5528	ContainerName   string              `xml:"ContainerName,attr"`
5529	Prefix          *string             `xml:"Prefix"`
5530	Marker          *string             `xml:"Marker"`
5531	MaxResults      *int32              `xml:"MaxResults"`
5532	Segment         BlobFlatListSegment `xml:"Blobs"`
5533	NextMarker      Marker              `xml:"NextMarker"`
5534}
5535
5536// Response returns the raw HTTP response object.
5537func (lbfsr ListBlobsFlatSegmentResponse) Response() *http.Response {
5538	return lbfsr.rawResponse
5539}
5540
5541// StatusCode returns the HTTP status code of the response, e.g. 200.
5542func (lbfsr ListBlobsFlatSegmentResponse) StatusCode() int {
5543	return lbfsr.rawResponse.StatusCode
5544}
5545
5546// Status returns the HTTP status message of the response, e.g. "200 OK".
5547func (lbfsr ListBlobsFlatSegmentResponse) Status() string {
5548	return lbfsr.rawResponse.Status
5549}
5550
5551// ClientRequestID returns the value for header x-ms-client-request-id.
5552func (lbfsr ListBlobsFlatSegmentResponse) ClientRequestID() string {
5553	return lbfsr.rawResponse.Header.Get("x-ms-client-request-id")
5554}
5555
5556// ContentType returns the value for header Content-Type.
5557func (lbfsr ListBlobsFlatSegmentResponse) ContentType() string {
5558	return lbfsr.rawResponse.Header.Get("Content-Type")
5559}
5560
5561// Date returns the value for header Date.
5562func (lbfsr ListBlobsFlatSegmentResponse) Date() time.Time {
5563	s := lbfsr.rawResponse.Header.Get("Date")
5564	if s == "" {
5565		return time.Time{}
5566	}
5567	t, err := time.Parse(time.RFC1123, s)
5568	if err != nil {
5569		t = time.Time{}
5570	}
5571	return t
5572}
5573
5574// ErrorCode returns the value for header x-ms-error-code.
5575func (lbfsr ListBlobsFlatSegmentResponse) ErrorCode() string {
5576	return lbfsr.rawResponse.Header.Get("x-ms-error-code")
5577}
5578
5579// RequestID returns the value for header x-ms-request-id.
5580func (lbfsr ListBlobsFlatSegmentResponse) RequestID() string {
5581	return lbfsr.rawResponse.Header.Get("x-ms-request-id")
5582}
5583
5584// Version returns the value for header x-ms-version.
5585func (lbfsr ListBlobsFlatSegmentResponse) Version() string {
5586	return lbfsr.rawResponse.Header.Get("x-ms-version")
5587}
5588
5589// ListBlobsHierarchySegmentResponse - An enumeration of blobs
5590type ListBlobsHierarchySegmentResponse struct {
5591	rawResponse *http.Response
5592	// XMLName is used for marshalling and is subject to removal in a future release.
5593	XMLName         xml.Name                 `xml:"EnumerationResults"`
5594	ServiceEndpoint string                   `xml:"ServiceEndpoint,attr"`
5595	ContainerName   string                   `xml:"ContainerName,attr"`
5596	Prefix          *string                  `xml:"Prefix"`
5597	Marker          *string                  `xml:"Marker"`
5598	MaxResults      *int32                   `xml:"MaxResults"`
5599	Delimiter       *string                  `xml:"Delimiter"`
5600	Segment         BlobHierarchyListSegment `xml:"Blobs"`
5601	NextMarker      Marker                   `xml:"NextMarker"`
5602}
5603
5604// Response returns the raw HTTP response object.
5605func (lbhsr ListBlobsHierarchySegmentResponse) Response() *http.Response {
5606	return lbhsr.rawResponse
5607}
5608
5609// StatusCode returns the HTTP status code of the response, e.g. 200.
5610func (lbhsr ListBlobsHierarchySegmentResponse) StatusCode() int {
5611	return lbhsr.rawResponse.StatusCode
5612}
5613
5614// Status returns the HTTP status message of the response, e.g. "200 OK".
5615func (lbhsr ListBlobsHierarchySegmentResponse) Status() string {
5616	return lbhsr.rawResponse.Status
5617}
5618
5619// ClientRequestID returns the value for header x-ms-client-request-id.
5620func (lbhsr ListBlobsHierarchySegmentResponse) ClientRequestID() string {
5621	return lbhsr.rawResponse.Header.Get("x-ms-client-request-id")
5622}
5623
5624// ContentType returns the value for header Content-Type.
5625func (lbhsr ListBlobsHierarchySegmentResponse) ContentType() string {
5626	return lbhsr.rawResponse.Header.Get("Content-Type")
5627}
5628
5629// Date returns the value for header Date.
5630func (lbhsr ListBlobsHierarchySegmentResponse) Date() time.Time {
5631	s := lbhsr.rawResponse.Header.Get("Date")
5632	if s == "" {
5633		return time.Time{}
5634	}
5635	t, err := time.Parse(time.RFC1123, s)
5636	if err != nil {
5637		t = time.Time{}
5638	}
5639	return t
5640}
5641
5642// ErrorCode returns the value for header x-ms-error-code.
5643func (lbhsr ListBlobsHierarchySegmentResponse) ErrorCode() string {
5644	return lbhsr.rawResponse.Header.Get("x-ms-error-code")
5645}
5646
5647// RequestID returns the value for header x-ms-request-id.
5648func (lbhsr ListBlobsHierarchySegmentResponse) RequestID() string {
5649	return lbhsr.rawResponse.Header.Get("x-ms-request-id")
5650}
5651
5652// Version returns the value for header x-ms-version.
5653func (lbhsr ListBlobsHierarchySegmentResponse) Version() string {
5654	return lbhsr.rawResponse.Header.Get("x-ms-version")
5655}
5656
5657// ListContainersSegmentResponse - An enumeration of containers
5658type ListContainersSegmentResponse struct {
5659	rawResponse *http.Response
5660	// XMLName is used for marshalling and is subject to removal in a future release.
5661	XMLName         xml.Name        `xml:"EnumerationResults"`
5662	ServiceEndpoint string          `xml:"ServiceEndpoint,attr"`
5663	Prefix          *string         `xml:"Prefix"`
5664	Marker          *string         `xml:"Marker"`
5665	MaxResults      *int32          `xml:"MaxResults"`
5666	ContainerItems  []ContainerItem `xml:"Containers>Container"`
5667	NextMarker      Marker          `xml:"NextMarker"`
5668}
5669
5670// Response returns the raw HTTP response object.
5671func (lcsr ListContainersSegmentResponse) Response() *http.Response {
5672	return lcsr.rawResponse
5673}
5674
5675// StatusCode returns the HTTP status code of the response, e.g. 200.
5676func (lcsr ListContainersSegmentResponse) StatusCode() int {
5677	return lcsr.rawResponse.StatusCode
5678}
5679
5680// Status returns the HTTP status message of the response, e.g. "200 OK".
5681func (lcsr ListContainersSegmentResponse) Status() string {
5682	return lcsr.rawResponse.Status
5683}
5684
5685// ClientRequestID returns the value for header x-ms-client-request-id.
5686func (lcsr ListContainersSegmentResponse) ClientRequestID() string {
5687	return lcsr.rawResponse.Header.Get("x-ms-client-request-id")
5688}
5689
5690// ErrorCode returns the value for header x-ms-error-code.
5691func (lcsr ListContainersSegmentResponse) ErrorCode() string {
5692	return lcsr.rawResponse.Header.Get("x-ms-error-code")
5693}
5694
5695// RequestID returns the value for header x-ms-request-id.
5696func (lcsr ListContainersSegmentResponse) RequestID() string {
5697	return lcsr.rawResponse.Header.Get("x-ms-request-id")
5698}
5699
5700// Version returns the value for header x-ms-version.
5701func (lcsr ListContainersSegmentResponse) Version() string {
5702	return lcsr.rawResponse.Header.Get("x-ms-version")
5703}
5704
5705// Logging - Azure Analytics Logging settings.
5706type Logging struct {
5707	// Version - The version of Storage Analytics to configure.
5708	Version string `xml:"Version"`
5709	// Delete - Indicates whether all delete requests should be logged.
5710	Delete bool `xml:"Delete"`
5711	// Read - Indicates whether all read requests should be logged.
5712	Read bool `xml:"Read"`
5713	// Write - Indicates whether all write requests should be logged.
5714	Write           bool            `xml:"Write"`
5715	RetentionPolicy RetentionPolicy `xml:"RetentionPolicy"`
5716}
5717
5718// Metrics - a summary of request statistics grouped by API in hour or minute aggregates for blobs
5719type Metrics struct {
5720	// Version - The version of Storage Analytics to configure.
5721	Version *string `xml:"Version"`
5722	// Enabled - Indicates whether metrics are enabled for the Blob service.
5723	Enabled bool `xml:"Enabled"`
5724	// IncludeAPIs - Indicates whether metrics should generate summary statistics for called API operations.
5725	IncludeAPIs     *bool            `xml:"IncludeAPIs"`
5726	RetentionPolicy *RetentionPolicy `xml:"RetentionPolicy"`
5727}
5728
5729// PageBlobClearPagesResponse ...
5730type PageBlobClearPagesResponse struct {
5731	rawResponse *http.Response
5732}
5733
5734// Response returns the raw HTTP response object.
5735func (pbcpr PageBlobClearPagesResponse) Response() *http.Response {
5736	return pbcpr.rawResponse
5737}
5738
5739// StatusCode returns the HTTP status code of the response, e.g. 200.
5740func (pbcpr PageBlobClearPagesResponse) StatusCode() int {
5741	return pbcpr.rawResponse.StatusCode
5742}
5743
5744// Status returns the HTTP status message of the response, e.g. "200 OK".
5745func (pbcpr PageBlobClearPagesResponse) Status() string {
5746	return pbcpr.rawResponse.Status
5747}
5748
5749// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
5750func (pbcpr PageBlobClearPagesResponse) BlobSequenceNumber() int64 {
5751	s := pbcpr.rawResponse.Header.Get("x-ms-blob-sequence-number")
5752	if s == "" {
5753		return -1
5754	}
5755	i, err := strconv.ParseInt(s, 10, 64)
5756	if err != nil {
5757		i = 0
5758	}
5759	return i
5760}
5761
5762// ClientRequestID returns the value for header x-ms-client-request-id.
5763func (pbcpr PageBlobClearPagesResponse) ClientRequestID() string {
5764	return pbcpr.rawResponse.Header.Get("x-ms-client-request-id")
5765}
5766
5767// ContentMD5 returns the value for header Content-MD5.
5768func (pbcpr PageBlobClearPagesResponse) ContentMD5() []byte {
5769	s := pbcpr.rawResponse.Header.Get("Content-MD5")
5770	if s == "" {
5771		return nil
5772	}
5773	b, err := base64.StdEncoding.DecodeString(s)
5774	if err != nil {
5775		b = nil
5776	}
5777	return b
5778}
5779
5780// Date returns the value for header Date.
5781func (pbcpr PageBlobClearPagesResponse) Date() time.Time {
5782	s := pbcpr.rawResponse.Header.Get("Date")
5783	if s == "" {
5784		return time.Time{}
5785	}
5786	t, err := time.Parse(time.RFC1123, s)
5787	if err != nil {
5788		t = time.Time{}
5789	}
5790	return t
5791}
5792
5793// ErrorCode returns the value for header x-ms-error-code.
5794func (pbcpr PageBlobClearPagesResponse) ErrorCode() string {
5795	return pbcpr.rawResponse.Header.Get("x-ms-error-code")
5796}
5797
5798// ETag returns the value for header ETag.
5799func (pbcpr PageBlobClearPagesResponse) ETag() ETag {
5800	return ETag(pbcpr.rawResponse.Header.Get("ETag"))
5801}
5802
5803// LastModified returns the value for header Last-Modified.
5804func (pbcpr PageBlobClearPagesResponse) LastModified() time.Time {
5805	s := pbcpr.rawResponse.Header.Get("Last-Modified")
5806	if s == "" {
5807		return time.Time{}
5808	}
5809	t, err := time.Parse(time.RFC1123, s)
5810	if err != nil {
5811		t = time.Time{}
5812	}
5813	return t
5814}
5815
5816// RequestID returns the value for header x-ms-request-id.
5817func (pbcpr PageBlobClearPagesResponse) RequestID() string {
5818	return pbcpr.rawResponse.Header.Get("x-ms-request-id")
5819}
5820
5821// Version returns the value for header x-ms-version.
5822func (pbcpr PageBlobClearPagesResponse) Version() string {
5823	return pbcpr.rawResponse.Header.Get("x-ms-version")
5824}
5825
5826// XMsContentCrc64 returns the value for header x-ms-content-crc64.
5827func (pbcpr PageBlobClearPagesResponse) XMsContentCrc64() []byte {
5828	s := pbcpr.rawResponse.Header.Get("x-ms-content-crc64")
5829	if s == "" {
5830		return nil
5831	}
5832	b, err := base64.StdEncoding.DecodeString(s)
5833	if err != nil {
5834		b = nil
5835	}
5836	return b
5837}
5838
5839// PageBlobCopyIncrementalResponse ...
5840type PageBlobCopyIncrementalResponse struct {
5841	rawResponse *http.Response
5842}
5843
5844// Response returns the raw HTTP response object.
5845func (pbcir PageBlobCopyIncrementalResponse) Response() *http.Response {
5846	return pbcir.rawResponse
5847}
5848
5849// StatusCode returns the HTTP status code of the response, e.g. 200.
5850func (pbcir PageBlobCopyIncrementalResponse) StatusCode() int {
5851	return pbcir.rawResponse.StatusCode
5852}
5853
5854// Status returns the HTTP status message of the response, e.g. "200 OK".
5855func (pbcir PageBlobCopyIncrementalResponse) Status() string {
5856	return pbcir.rawResponse.Status
5857}
5858
5859// ClientRequestID returns the value for header x-ms-client-request-id.
5860func (pbcir PageBlobCopyIncrementalResponse) ClientRequestID() string {
5861	return pbcir.rawResponse.Header.Get("x-ms-client-request-id")
5862}
5863
5864// CopyID returns the value for header x-ms-copy-id.
5865func (pbcir PageBlobCopyIncrementalResponse) CopyID() string {
5866	return pbcir.rawResponse.Header.Get("x-ms-copy-id")
5867}
5868
5869// CopyStatus returns the value for header x-ms-copy-status.
5870func (pbcir PageBlobCopyIncrementalResponse) CopyStatus() CopyStatusType {
5871	return CopyStatusType(pbcir.rawResponse.Header.Get("x-ms-copy-status"))
5872}
5873
5874// Date returns the value for header Date.
5875func (pbcir PageBlobCopyIncrementalResponse) Date() time.Time {
5876	s := pbcir.rawResponse.Header.Get("Date")
5877	if s == "" {
5878		return time.Time{}
5879	}
5880	t, err := time.Parse(time.RFC1123, s)
5881	if err != nil {
5882		t = time.Time{}
5883	}
5884	return t
5885}
5886
5887// ErrorCode returns the value for header x-ms-error-code.
5888func (pbcir PageBlobCopyIncrementalResponse) ErrorCode() string {
5889	return pbcir.rawResponse.Header.Get("x-ms-error-code")
5890}
5891
5892// ETag returns the value for header ETag.
5893func (pbcir PageBlobCopyIncrementalResponse) ETag() ETag {
5894	return ETag(pbcir.rawResponse.Header.Get("ETag"))
5895}
5896
5897// LastModified returns the value for header Last-Modified.
5898func (pbcir PageBlobCopyIncrementalResponse) LastModified() time.Time {
5899	s := pbcir.rawResponse.Header.Get("Last-Modified")
5900	if s == "" {
5901		return time.Time{}
5902	}
5903	t, err := time.Parse(time.RFC1123, s)
5904	if err != nil {
5905		t = time.Time{}
5906	}
5907	return t
5908}
5909
5910// RequestID returns the value for header x-ms-request-id.
5911func (pbcir PageBlobCopyIncrementalResponse) RequestID() string {
5912	return pbcir.rawResponse.Header.Get("x-ms-request-id")
5913}
5914
5915// Version returns the value for header x-ms-version.
5916func (pbcir PageBlobCopyIncrementalResponse) Version() string {
5917	return pbcir.rawResponse.Header.Get("x-ms-version")
5918}
5919
5920// PageBlobCreateResponse ...
5921type PageBlobCreateResponse struct {
5922	rawResponse *http.Response
5923}
5924
5925// Response returns the raw HTTP response object.
5926func (pbcr PageBlobCreateResponse) Response() *http.Response {
5927	return pbcr.rawResponse
5928}
5929
5930// StatusCode returns the HTTP status code of the response, e.g. 200.
5931func (pbcr PageBlobCreateResponse) StatusCode() int {
5932	return pbcr.rawResponse.StatusCode
5933}
5934
5935// Status returns the HTTP status message of the response, e.g. "200 OK".
5936func (pbcr PageBlobCreateResponse) Status() string {
5937	return pbcr.rawResponse.Status
5938}
5939
5940// ClientRequestID returns the value for header x-ms-client-request-id.
5941func (pbcr PageBlobCreateResponse) ClientRequestID() string {
5942	return pbcr.rawResponse.Header.Get("x-ms-client-request-id")
5943}
5944
5945// ContentMD5 returns the value for header Content-MD5.
5946func (pbcr PageBlobCreateResponse) ContentMD5() []byte {
5947	s := pbcr.rawResponse.Header.Get("Content-MD5")
5948	if s == "" {
5949		return nil
5950	}
5951	b, err := base64.StdEncoding.DecodeString(s)
5952	if err != nil {
5953		b = nil
5954	}
5955	return b
5956}
5957
5958// Date returns the value for header Date.
5959func (pbcr PageBlobCreateResponse) Date() time.Time {
5960	s := pbcr.rawResponse.Header.Get("Date")
5961	if s == "" {
5962		return time.Time{}
5963	}
5964	t, err := time.Parse(time.RFC1123, s)
5965	if err != nil {
5966		t = time.Time{}
5967	}
5968	return t
5969}
5970
5971// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
5972func (pbcr PageBlobCreateResponse) EncryptionKeySha256() string {
5973	return pbcr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
5974}
5975
5976// EncryptionScope returns the value for header x-ms-encryption-scope.
5977func (pbcr PageBlobCreateResponse) EncryptionScope() string {
5978	return pbcr.rawResponse.Header.Get("x-ms-encryption-scope")
5979}
5980
5981// ErrorCode returns the value for header x-ms-error-code.
5982func (pbcr PageBlobCreateResponse) ErrorCode() string {
5983	return pbcr.rawResponse.Header.Get("x-ms-error-code")
5984}
5985
5986// ETag returns the value for header ETag.
5987func (pbcr PageBlobCreateResponse) ETag() ETag {
5988	return ETag(pbcr.rawResponse.Header.Get("ETag"))
5989}
5990
5991// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
5992func (pbcr PageBlobCreateResponse) IsServerEncrypted() string {
5993	return pbcr.rawResponse.Header.Get("x-ms-request-server-encrypted")
5994}
5995
5996// LastModified returns the value for header Last-Modified.
5997func (pbcr PageBlobCreateResponse) LastModified() time.Time {
5998	s := pbcr.rawResponse.Header.Get("Last-Modified")
5999	if s == "" {
6000		return time.Time{}
6001	}
6002	t, err := time.Parse(time.RFC1123, s)
6003	if err != nil {
6004		t = time.Time{}
6005	}
6006	return t
6007}
6008
6009// RequestID returns the value for header x-ms-request-id.
6010func (pbcr PageBlobCreateResponse) RequestID() string {
6011	return pbcr.rawResponse.Header.Get("x-ms-request-id")
6012}
6013
6014// Version returns the value for header x-ms-version.
6015func (pbcr PageBlobCreateResponse) Version() string {
6016	return pbcr.rawResponse.Header.Get("x-ms-version")
6017}
6018
6019// VersionID returns the value for header x-ms-version-id.
6020func (pbcr PageBlobCreateResponse) VersionID() string {
6021	return pbcr.rawResponse.Header.Get("x-ms-version-id")
6022}
6023
6024// PageBlobResizeResponse ...
6025type PageBlobResizeResponse struct {
6026	rawResponse *http.Response
6027}
6028
6029// Response returns the raw HTTP response object.
6030func (pbrr PageBlobResizeResponse) Response() *http.Response {
6031	return pbrr.rawResponse
6032}
6033
6034// StatusCode returns the HTTP status code of the response, e.g. 200.
6035func (pbrr PageBlobResizeResponse) StatusCode() int {
6036	return pbrr.rawResponse.StatusCode
6037}
6038
6039// Status returns the HTTP status message of the response, e.g. "200 OK".
6040func (pbrr PageBlobResizeResponse) Status() string {
6041	return pbrr.rawResponse.Status
6042}
6043
6044// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
6045func (pbrr PageBlobResizeResponse) BlobSequenceNumber() int64 {
6046	s := pbrr.rawResponse.Header.Get("x-ms-blob-sequence-number")
6047	if s == "" {
6048		return -1
6049	}
6050	i, err := strconv.ParseInt(s, 10, 64)
6051	if err != nil {
6052		i = 0
6053	}
6054	return i
6055}
6056
6057// ClientRequestID returns the value for header x-ms-client-request-id.
6058func (pbrr PageBlobResizeResponse) ClientRequestID() string {
6059	return pbrr.rawResponse.Header.Get("x-ms-client-request-id")
6060}
6061
6062// Date returns the value for header Date.
6063func (pbrr PageBlobResizeResponse) Date() time.Time {
6064	s := pbrr.rawResponse.Header.Get("Date")
6065	if s == "" {
6066		return time.Time{}
6067	}
6068	t, err := time.Parse(time.RFC1123, s)
6069	if err != nil {
6070		t = time.Time{}
6071	}
6072	return t
6073}
6074
6075// ErrorCode returns the value for header x-ms-error-code.
6076func (pbrr PageBlobResizeResponse) ErrorCode() string {
6077	return pbrr.rawResponse.Header.Get("x-ms-error-code")
6078}
6079
6080// ETag returns the value for header ETag.
6081func (pbrr PageBlobResizeResponse) ETag() ETag {
6082	return ETag(pbrr.rawResponse.Header.Get("ETag"))
6083}
6084
6085// LastModified returns the value for header Last-Modified.
6086func (pbrr PageBlobResizeResponse) LastModified() time.Time {
6087	s := pbrr.rawResponse.Header.Get("Last-Modified")
6088	if s == "" {
6089		return time.Time{}
6090	}
6091	t, err := time.Parse(time.RFC1123, s)
6092	if err != nil {
6093		t = time.Time{}
6094	}
6095	return t
6096}
6097
6098// RequestID returns the value for header x-ms-request-id.
6099func (pbrr PageBlobResizeResponse) RequestID() string {
6100	return pbrr.rawResponse.Header.Get("x-ms-request-id")
6101}
6102
6103// Version returns the value for header x-ms-version.
6104func (pbrr PageBlobResizeResponse) Version() string {
6105	return pbrr.rawResponse.Header.Get("x-ms-version")
6106}
6107
6108// PageBlobUpdateSequenceNumberResponse ...
6109type PageBlobUpdateSequenceNumberResponse struct {
6110	rawResponse *http.Response
6111}
6112
6113// Response returns the raw HTTP response object.
6114func (pbusnr PageBlobUpdateSequenceNumberResponse) Response() *http.Response {
6115	return pbusnr.rawResponse
6116}
6117
6118// StatusCode returns the HTTP status code of the response, e.g. 200.
6119func (pbusnr PageBlobUpdateSequenceNumberResponse) StatusCode() int {
6120	return pbusnr.rawResponse.StatusCode
6121}
6122
6123// Status returns the HTTP status message of the response, e.g. "200 OK".
6124func (pbusnr PageBlobUpdateSequenceNumberResponse) Status() string {
6125	return pbusnr.rawResponse.Status
6126}
6127
6128// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
6129func (pbusnr PageBlobUpdateSequenceNumberResponse) BlobSequenceNumber() int64 {
6130	s := pbusnr.rawResponse.Header.Get("x-ms-blob-sequence-number")
6131	if s == "" {
6132		return -1
6133	}
6134	i, err := strconv.ParseInt(s, 10, 64)
6135	if err != nil {
6136		i = 0
6137	}
6138	return i
6139}
6140
6141// ClientRequestID returns the value for header x-ms-client-request-id.
6142func (pbusnr PageBlobUpdateSequenceNumberResponse) ClientRequestID() string {
6143	return pbusnr.rawResponse.Header.Get("x-ms-client-request-id")
6144}
6145
6146// Date returns the value for header Date.
6147func (pbusnr PageBlobUpdateSequenceNumberResponse) Date() time.Time {
6148	s := pbusnr.rawResponse.Header.Get("Date")
6149	if s == "" {
6150		return time.Time{}
6151	}
6152	t, err := time.Parse(time.RFC1123, s)
6153	if err != nil {
6154		t = time.Time{}
6155	}
6156	return t
6157}
6158
6159// ErrorCode returns the value for header x-ms-error-code.
6160func (pbusnr PageBlobUpdateSequenceNumberResponse) ErrorCode() string {
6161	return pbusnr.rawResponse.Header.Get("x-ms-error-code")
6162}
6163
6164// ETag returns the value for header ETag.
6165func (pbusnr PageBlobUpdateSequenceNumberResponse) ETag() ETag {
6166	return ETag(pbusnr.rawResponse.Header.Get("ETag"))
6167}
6168
6169// LastModified returns the value for header Last-Modified.
6170func (pbusnr PageBlobUpdateSequenceNumberResponse) LastModified() time.Time {
6171	s := pbusnr.rawResponse.Header.Get("Last-Modified")
6172	if s == "" {
6173		return time.Time{}
6174	}
6175	t, err := time.Parse(time.RFC1123, s)
6176	if err != nil {
6177		t = time.Time{}
6178	}
6179	return t
6180}
6181
6182// RequestID returns the value for header x-ms-request-id.
6183func (pbusnr PageBlobUpdateSequenceNumberResponse) RequestID() string {
6184	return pbusnr.rawResponse.Header.Get("x-ms-request-id")
6185}
6186
6187// Version returns the value for header x-ms-version.
6188func (pbusnr PageBlobUpdateSequenceNumberResponse) Version() string {
6189	return pbusnr.rawResponse.Header.Get("x-ms-version")
6190}
6191
6192// PageBlobUploadPagesFromURLResponse ...
6193type PageBlobUploadPagesFromURLResponse struct {
6194	rawResponse *http.Response
6195}
6196
6197// Response returns the raw HTTP response object.
6198func (pbupfur PageBlobUploadPagesFromURLResponse) Response() *http.Response {
6199	return pbupfur.rawResponse
6200}
6201
6202// StatusCode returns the HTTP status code of the response, e.g. 200.
6203func (pbupfur PageBlobUploadPagesFromURLResponse) StatusCode() int {
6204	return pbupfur.rawResponse.StatusCode
6205}
6206
6207// Status returns the HTTP status message of the response, e.g. "200 OK".
6208func (pbupfur PageBlobUploadPagesFromURLResponse) Status() string {
6209	return pbupfur.rawResponse.Status
6210}
6211
6212// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
6213func (pbupfur PageBlobUploadPagesFromURLResponse) BlobSequenceNumber() int64 {
6214	s := pbupfur.rawResponse.Header.Get("x-ms-blob-sequence-number")
6215	if s == "" {
6216		return -1
6217	}
6218	i, err := strconv.ParseInt(s, 10, 64)
6219	if err != nil {
6220		i = 0
6221	}
6222	return i
6223}
6224
6225// ContentMD5 returns the value for header Content-MD5.
6226func (pbupfur PageBlobUploadPagesFromURLResponse) ContentMD5() []byte {
6227	s := pbupfur.rawResponse.Header.Get("Content-MD5")
6228	if s == "" {
6229		return nil
6230	}
6231	b, err := base64.StdEncoding.DecodeString(s)
6232	if err != nil {
6233		b = nil
6234	}
6235	return b
6236}
6237
6238// Date returns the value for header Date.
6239func (pbupfur PageBlobUploadPagesFromURLResponse) Date() time.Time {
6240	s := pbupfur.rawResponse.Header.Get("Date")
6241	if s == "" {
6242		return time.Time{}
6243	}
6244	t, err := time.Parse(time.RFC1123, s)
6245	if err != nil {
6246		t = time.Time{}
6247	}
6248	return t
6249}
6250
6251// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
6252func (pbupfur PageBlobUploadPagesFromURLResponse) EncryptionKeySha256() string {
6253	return pbupfur.rawResponse.Header.Get("x-ms-encryption-key-sha256")
6254}
6255
6256// EncryptionScope returns the value for header x-ms-encryption-scope.
6257func (pbupfur PageBlobUploadPagesFromURLResponse) EncryptionScope() string {
6258	return pbupfur.rawResponse.Header.Get("x-ms-encryption-scope")
6259}
6260
6261// ErrorCode returns the value for header x-ms-error-code.
6262func (pbupfur PageBlobUploadPagesFromURLResponse) ErrorCode() string {
6263	return pbupfur.rawResponse.Header.Get("x-ms-error-code")
6264}
6265
6266// ETag returns the value for header ETag.
6267func (pbupfur PageBlobUploadPagesFromURLResponse) ETag() ETag {
6268	return ETag(pbupfur.rawResponse.Header.Get("ETag"))
6269}
6270
6271// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
6272func (pbupfur PageBlobUploadPagesFromURLResponse) IsServerEncrypted() string {
6273	return pbupfur.rawResponse.Header.Get("x-ms-request-server-encrypted")
6274}
6275
6276// LastModified returns the value for header Last-Modified.
6277func (pbupfur PageBlobUploadPagesFromURLResponse) LastModified() time.Time {
6278	s := pbupfur.rawResponse.Header.Get("Last-Modified")
6279	if s == "" {
6280		return time.Time{}
6281	}
6282	t, err := time.Parse(time.RFC1123, s)
6283	if err != nil {
6284		t = time.Time{}
6285	}
6286	return t
6287}
6288
6289// RequestID returns the value for header x-ms-request-id.
6290func (pbupfur PageBlobUploadPagesFromURLResponse) RequestID() string {
6291	return pbupfur.rawResponse.Header.Get("x-ms-request-id")
6292}
6293
6294// Version returns the value for header x-ms-version.
6295func (pbupfur PageBlobUploadPagesFromURLResponse) Version() string {
6296	return pbupfur.rawResponse.Header.Get("x-ms-version")
6297}
6298
6299// XMsContentCrc64 returns the value for header x-ms-content-crc64.
6300func (pbupfur PageBlobUploadPagesFromURLResponse) XMsContentCrc64() []byte {
6301	s := pbupfur.rawResponse.Header.Get("x-ms-content-crc64")
6302	if s == "" {
6303		return nil
6304	}
6305	b, err := base64.StdEncoding.DecodeString(s)
6306	if err != nil {
6307		b = nil
6308	}
6309	return b
6310}
6311
6312// PageBlobUploadPagesResponse ...
6313type PageBlobUploadPagesResponse struct {
6314	rawResponse *http.Response
6315}
6316
6317// Response returns the raw HTTP response object.
6318func (pbupr PageBlobUploadPagesResponse) Response() *http.Response {
6319	return pbupr.rawResponse
6320}
6321
6322// StatusCode returns the HTTP status code of the response, e.g. 200.
6323func (pbupr PageBlobUploadPagesResponse) StatusCode() int {
6324	return pbupr.rawResponse.StatusCode
6325}
6326
6327// Status returns the HTTP status message of the response, e.g. "200 OK".
6328func (pbupr PageBlobUploadPagesResponse) Status() string {
6329	return pbupr.rawResponse.Status
6330}
6331
6332// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
6333func (pbupr PageBlobUploadPagesResponse) BlobSequenceNumber() int64 {
6334	s := pbupr.rawResponse.Header.Get("x-ms-blob-sequence-number")
6335	if s == "" {
6336		return -1
6337	}
6338	i, err := strconv.ParseInt(s, 10, 64)
6339	if err != nil {
6340		i = 0
6341	}
6342	return i
6343}
6344
6345// ClientRequestID returns the value for header x-ms-client-request-id.
6346func (pbupr PageBlobUploadPagesResponse) ClientRequestID() string {
6347	return pbupr.rawResponse.Header.Get("x-ms-client-request-id")
6348}
6349
6350// ContentMD5 returns the value for header Content-MD5.
6351func (pbupr PageBlobUploadPagesResponse) ContentMD5() []byte {
6352	s := pbupr.rawResponse.Header.Get("Content-MD5")
6353	if s == "" {
6354		return nil
6355	}
6356	b, err := base64.StdEncoding.DecodeString(s)
6357	if err != nil {
6358		b = nil
6359	}
6360	return b
6361}
6362
6363// Date returns the value for header Date.
6364func (pbupr PageBlobUploadPagesResponse) Date() time.Time {
6365	s := pbupr.rawResponse.Header.Get("Date")
6366	if s == "" {
6367		return time.Time{}
6368	}
6369	t, err := time.Parse(time.RFC1123, s)
6370	if err != nil {
6371		t = time.Time{}
6372	}
6373	return t
6374}
6375
6376// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
6377func (pbupr PageBlobUploadPagesResponse) EncryptionKeySha256() string {
6378	return pbupr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
6379}
6380
6381// EncryptionScope returns the value for header x-ms-encryption-scope.
6382func (pbupr PageBlobUploadPagesResponse) EncryptionScope() string {
6383	return pbupr.rawResponse.Header.Get("x-ms-encryption-scope")
6384}
6385
6386// ErrorCode returns the value for header x-ms-error-code.
6387func (pbupr PageBlobUploadPagesResponse) ErrorCode() string {
6388	return pbupr.rawResponse.Header.Get("x-ms-error-code")
6389}
6390
6391// ETag returns the value for header ETag.
6392func (pbupr PageBlobUploadPagesResponse) ETag() ETag {
6393	return ETag(pbupr.rawResponse.Header.Get("ETag"))
6394}
6395
6396// IsServerEncrypted returns the value for header x-ms-request-server-encrypted.
6397func (pbupr PageBlobUploadPagesResponse) IsServerEncrypted() string {
6398	return pbupr.rawResponse.Header.Get("x-ms-request-server-encrypted")
6399}
6400
6401// LastModified returns the value for header Last-Modified.
6402func (pbupr PageBlobUploadPagesResponse) LastModified() time.Time {
6403	s := pbupr.rawResponse.Header.Get("Last-Modified")
6404	if s == "" {
6405		return time.Time{}
6406	}
6407	t, err := time.Parse(time.RFC1123, s)
6408	if err != nil {
6409		t = time.Time{}
6410	}
6411	return t
6412}
6413
6414// RequestID returns the value for header x-ms-request-id.
6415func (pbupr PageBlobUploadPagesResponse) RequestID() string {
6416	return pbupr.rawResponse.Header.Get("x-ms-request-id")
6417}
6418
6419// Version returns the value for header x-ms-version.
6420func (pbupr PageBlobUploadPagesResponse) Version() string {
6421	return pbupr.rawResponse.Header.Get("x-ms-version")
6422}
6423
6424// XMsContentCrc64 returns the value for header x-ms-content-crc64.
6425func (pbupr PageBlobUploadPagesResponse) XMsContentCrc64() []byte {
6426	s := pbupr.rawResponse.Header.Get("x-ms-content-crc64")
6427	if s == "" {
6428		return nil
6429	}
6430	b, err := base64.StdEncoding.DecodeString(s)
6431	if err != nil {
6432		b = nil
6433	}
6434	return b
6435}
6436
6437// PageList - the list of pages
6438type PageList struct {
6439	rawResponse *http.Response
6440	PageRange   []PageRange  `xml:"PageRange"`
6441	ClearRange  []ClearRange `xml:"ClearRange"`
6442}
6443
6444// Response returns the raw HTTP response object.
6445func (pl PageList) Response() *http.Response {
6446	return pl.rawResponse
6447}
6448
6449// StatusCode returns the HTTP status code of the response, e.g. 200.
6450func (pl PageList) StatusCode() int {
6451	return pl.rawResponse.StatusCode
6452}
6453
6454// Status returns the HTTP status message of the response, e.g. "200 OK".
6455func (pl PageList) Status() string {
6456	return pl.rawResponse.Status
6457}
6458
6459// BlobContentLength returns the value for header x-ms-blob-content-length.
6460func (pl PageList) BlobContentLength() int64 {
6461	s := pl.rawResponse.Header.Get("x-ms-blob-content-length")
6462	if s == "" {
6463		return -1
6464	}
6465	i, err := strconv.ParseInt(s, 10, 64)
6466	if err != nil {
6467		i = 0
6468	}
6469	return i
6470}
6471
6472// ClientRequestID returns the value for header x-ms-client-request-id.
6473func (pl PageList) ClientRequestID() string {
6474	return pl.rawResponse.Header.Get("x-ms-client-request-id")
6475}
6476
6477// Date returns the value for header Date.
6478func (pl PageList) Date() time.Time {
6479	s := pl.rawResponse.Header.Get("Date")
6480	if s == "" {
6481		return time.Time{}
6482	}
6483	t, err := time.Parse(time.RFC1123, s)
6484	if err != nil {
6485		t = time.Time{}
6486	}
6487	return t
6488}
6489
6490// ErrorCode returns the value for header x-ms-error-code.
6491func (pl PageList) ErrorCode() string {
6492	return pl.rawResponse.Header.Get("x-ms-error-code")
6493}
6494
6495// ETag returns the value for header ETag.
6496func (pl PageList) ETag() ETag {
6497	return ETag(pl.rawResponse.Header.Get("ETag"))
6498}
6499
6500// LastModified returns the value for header Last-Modified.
6501func (pl PageList) LastModified() time.Time {
6502	s := pl.rawResponse.Header.Get("Last-Modified")
6503	if s == "" {
6504		return time.Time{}
6505	}
6506	t, err := time.Parse(time.RFC1123, s)
6507	if err != nil {
6508		t = time.Time{}
6509	}
6510	return t
6511}
6512
6513// RequestID returns the value for header x-ms-request-id.
6514func (pl PageList) RequestID() string {
6515	return pl.rawResponse.Header.Get("x-ms-request-id")
6516}
6517
6518// Version returns the value for header x-ms-version.
6519func (pl PageList) Version() string {
6520	return pl.rawResponse.Header.Get("x-ms-version")
6521}
6522
6523// PageRange ...
6524type PageRange struct {
6525	Start int64 `xml:"Start"`
6526	End   int64 `xml:"End"`
6527}
6528
6529// QueryFormat ...
6530type QueryFormat struct {
6531	// Type - Possible values include: 'QueryFormatDelimited', 'QueryFormatJSON', 'QueryFormatNone'
6532	Type                       QueryFormatType             `xml:"Type"`
6533	DelimitedTextConfiguration *DelimitedTextConfiguration `xml:"DelimitedTextConfiguration"`
6534	JSONTextConfiguration      *JSONTextConfiguration      `xml:"JsonTextConfiguration"`
6535}
6536
6537// QueryRequest - the quick query body
6538type QueryRequest struct {
6539	// QueryType - the query type
6540	QueryType string `xml:"QueryType"`
6541	// Expression - a query statement
6542	Expression          string              `xml:"Expression"`
6543	InputSerialization  *QuerySerialization `xml:"InputSerialization"`
6544	OutputSerialization *QuerySerialization `xml:"OutputSerialization"`
6545}
6546
6547// QueryResponse - Wraps the response from the blobClient.Query method.
6548type QueryResponse struct {
6549	rawResponse *http.Response
6550}
6551
6552// NewMetadata returns user-defined key/value pairs.
6553func (qr QueryResponse) NewMetadata() Metadata {
6554	md := Metadata{}
6555	for k, v := range qr.rawResponse.Header {
6556		if len(k) > mdPrefixLen {
6557			if prefix := k[0:mdPrefixLen]; strings.EqualFold(prefix, mdPrefix) {
6558				md[strings.ToLower(k[mdPrefixLen:])] = v[0]
6559			}
6560		}
6561	}
6562	return md
6563}
6564
6565// Response returns the raw HTTP response object.
6566func (qr QueryResponse) Response() *http.Response {
6567	return qr.rawResponse
6568}
6569
6570// StatusCode returns the HTTP status code of the response, e.g. 200.
6571func (qr QueryResponse) StatusCode() int {
6572	return qr.rawResponse.StatusCode
6573}
6574
6575// Status returns the HTTP status message of the response, e.g. "200 OK".
6576func (qr QueryResponse) Status() string {
6577	return qr.rawResponse.Status
6578}
6579
6580// Body returns the raw HTTP response object's Body.
6581func (qr QueryResponse) Body() io.ReadCloser {
6582	return qr.rawResponse.Body
6583}
6584
6585// AcceptRanges returns the value for header Accept-Ranges.
6586func (qr QueryResponse) AcceptRanges() string {
6587	return qr.rawResponse.Header.Get("Accept-Ranges")
6588}
6589
6590// BlobCommittedBlockCount returns the value for header x-ms-blob-committed-block-count.
6591func (qr QueryResponse) BlobCommittedBlockCount() int32 {
6592	s := qr.rawResponse.Header.Get("x-ms-blob-committed-block-count")
6593	if s == "" {
6594		return -1
6595	}
6596	i, err := strconv.ParseInt(s, 10, 32)
6597	if err != nil {
6598		i = 0
6599	}
6600	return int32(i)
6601}
6602
6603// BlobContentMD5 returns the value for header x-ms-blob-content-md5.
6604func (qr QueryResponse) BlobContentMD5() []byte {
6605	s := qr.rawResponse.Header.Get("x-ms-blob-content-md5")
6606	if s == "" {
6607		return nil
6608	}
6609	b, err := base64.StdEncoding.DecodeString(s)
6610	if err != nil {
6611		b = nil
6612	}
6613	return b
6614}
6615
6616// BlobSequenceNumber returns the value for header x-ms-blob-sequence-number.
6617func (qr QueryResponse) BlobSequenceNumber() int64 {
6618	s := qr.rawResponse.Header.Get("x-ms-blob-sequence-number")
6619	if s == "" {
6620		return -1
6621	}
6622	i, err := strconv.ParseInt(s, 10, 64)
6623	if err != nil {
6624		i = 0
6625	}
6626	return i
6627}
6628
6629// BlobType returns the value for header x-ms-blob-type.
6630func (qr QueryResponse) BlobType() BlobType {
6631	return BlobType(qr.rawResponse.Header.Get("x-ms-blob-type"))
6632}
6633
6634// CacheControl returns the value for header Cache-Control.
6635func (qr QueryResponse) CacheControl() string {
6636	return qr.rawResponse.Header.Get("Cache-Control")
6637}
6638
6639// ClientRequestID returns the value for header x-ms-client-request-id.
6640func (qr QueryResponse) ClientRequestID() string {
6641	return qr.rawResponse.Header.Get("x-ms-client-request-id")
6642}
6643
6644// ContentCrc64 returns the value for header x-ms-content-crc64.
6645func (qr QueryResponse) ContentCrc64() []byte {
6646	s := qr.rawResponse.Header.Get("x-ms-content-crc64")
6647	if s == "" {
6648		return nil
6649	}
6650	b, err := base64.StdEncoding.DecodeString(s)
6651	if err != nil {
6652		b = nil
6653	}
6654	return b
6655}
6656
6657// ContentDisposition returns the value for header Content-Disposition.
6658func (qr QueryResponse) ContentDisposition() string {
6659	return qr.rawResponse.Header.Get("Content-Disposition")
6660}
6661
6662// ContentEncoding returns the value for header Content-Encoding.
6663func (qr QueryResponse) ContentEncoding() string {
6664	return qr.rawResponse.Header.Get("Content-Encoding")
6665}
6666
6667// ContentLanguage returns the value for header Content-Language.
6668func (qr QueryResponse) ContentLanguage() string {
6669	return qr.rawResponse.Header.Get("Content-Language")
6670}
6671
6672// ContentLength returns the value for header Content-Length.
6673func (qr QueryResponse) ContentLength() int64 {
6674	s := qr.rawResponse.Header.Get("Content-Length")
6675	if s == "" {
6676		return -1
6677	}
6678	i, err := strconv.ParseInt(s, 10, 64)
6679	if err != nil {
6680		i = 0
6681	}
6682	return i
6683}
6684
6685// ContentMD5 returns the value for header Content-MD5.
6686func (qr QueryResponse) ContentMD5() []byte {
6687	s := qr.rawResponse.Header.Get("Content-MD5")
6688	if s == "" {
6689		return nil
6690	}
6691	b, err := base64.StdEncoding.DecodeString(s)
6692	if err != nil {
6693		b = nil
6694	}
6695	return b
6696}
6697
6698// ContentRange returns the value for header Content-Range.
6699func (qr QueryResponse) ContentRange() string {
6700	return qr.rawResponse.Header.Get("Content-Range")
6701}
6702
6703// ContentType returns the value for header Content-Type.
6704func (qr QueryResponse) ContentType() string {
6705	return qr.rawResponse.Header.Get("Content-Type")
6706}
6707
6708// CopyCompletionTime returns the value for header x-ms-copy-completion-time.
6709func (qr QueryResponse) CopyCompletionTime() time.Time {
6710	s := qr.rawResponse.Header.Get("x-ms-copy-completion-time")
6711	if s == "" {
6712		return time.Time{}
6713	}
6714	t, err := time.Parse(time.RFC1123, s)
6715	if err != nil {
6716		t = time.Time{}
6717	}
6718	return t
6719}
6720
6721// CopyID returns the value for header x-ms-copy-id.
6722func (qr QueryResponse) CopyID() string {
6723	return qr.rawResponse.Header.Get("x-ms-copy-id")
6724}
6725
6726// CopyProgress returns the value for header x-ms-copy-progress.
6727func (qr QueryResponse) CopyProgress() string {
6728	return qr.rawResponse.Header.Get("x-ms-copy-progress")
6729}
6730
6731// CopySource returns the value for header x-ms-copy-source.
6732func (qr QueryResponse) CopySource() string {
6733	return qr.rawResponse.Header.Get("x-ms-copy-source")
6734}
6735
6736// CopyStatus returns the value for header x-ms-copy-status.
6737func (qr QueryResponse) CopyStatus() CopyStatusType {
6738	return CopyStatusType(qr.rawResponse.Header.Get("x-ms-copy-status"))
6739}
6740
6741// CopyStatusDescription returns the value for header x-ms-copy-status-description.
6742func (qr QueryResponse) CopyStatusDescription() string {
6743	return qr.rawResponse.Header.Get("x-ms-copy-status-description")
6744}
6745
6746// Date returns the value for header Date.
6747func (qr QueryResponse) Date() time.Time {
6748	s := qr.rawResponse.Header.Get("Date")
6749	if s == "" {
6750		return time.Time{}
6751	}
6752	t, err := time.Parse(time.RFC1123, s)
6753	if err != nil {
6754		t = time.Time{}
6755	}
6756	return t
6757}
6758
6759// EncryptionKeySha256 returns the value for header x-ms-encryption-key-sha256.
6760func (qr QueryResponse) EncryptionKeySha256() string {
6761	return qr.rawResponse.Header.Get("x-ms-encryption-key-sha256")
6762}
6763
6764// EncryptionScope returns the value for header x-ms-encryption-scope.
6765func (qr QueryResponse) EncryptionScope() string {
6766	return qr.rawResponse.Header.Get("x-ms-encryption-scope")
6767}
6768
6769// ErrorCode returns the value for header x-ms-error-code.
6770func (qr QueryResponse) ErrorCode() string {
6771	return qr.rawResponse.Header.Get("x-ms-error-code")
6772}
6773
6774// ETag returns the value for header ETag.
6775func (qr QueryResponse) ETag() ETag {
6776	return ETag(qr.rawResponse.Header.Get("ETag"))
6777}
6778
6779// IsServerEncrypted returns the value for header x-ms-server-encrypted.
6780func (qr QueryResponse) IsServerEncrypted() string {
6781	return qr.rawResponse.Header.Get("x-ms-server-encrypted")
6782}
6783
6784// LastModified returns the value for header Last-Modified.
6785func (qr QueryResponse) LastModified() time.Time {
6786	s := qr.rawResponse.Header.Get("Last-Modified")
6787	if s == "" {
6788		return time.Time{}
6789	}
6790	t, err := time.Parse(time.RFC1123, s)
6791	if err != nil {
6792		t = time.Time{}
6793	}
6794	return t
6795}
6796
6797// LeaseDuration returns the value for header x-ms-lease-duration.
6798func (qr QueryResponse) LeaseDuration() LeaseDurationType {
6799	return LeaseDurationType(qr.rawResponse.Header.Get("x-ms-lease-duration"))
6800}
6801
6802// LeaseState returns the value for header x-ms-lease-state.
6803func (qr QueryResponse) LeaseState() LeaseStateType {
6804	return LeaseStateType(qr.rawResponse.Header.Get("x-ms-lease-state"))
6805}
6806
6807// LeaseStatus returns the value for header x-ms-lease-status.
6808func (qr QueryResponse) LeaseStatus() LeaseStatusType {
6809	return LeaseStatusType(qr.rawResponse.Header.Get("x-ms-lease-status"))
6810}
6811
6812// RequestID returns the value for header x-ms-request-id.
6813func (qr QueryResponse) RequestID() string {
6814	return qr.rawResponse.Header.Get("x-ms-request-id")
6815}
6816
6817// Version returns the value for header x-ms-version.
6818func (qr QueryResponse) Version() string {
6819	return qr.rawResponse.Header.Get("x-ms-version")
6820}
6821
6822// QuerySerialization ...
6823type QuerySerialization struct {
6824	Format QueryFormat `xml:"Format"`
6825}
6826
6827// RetentionPolicy - the retention policy which determines how long the associated data should persist
6828type RetentionPolicy struct {
6829	// Enabled - Indicates whether a retention policy is enabled for the storage service
6830	Enabled bool `xml:"Enabled"`
6831	// Days - Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted
6832	Days *int32 `xml:"Days"`
6833}
6834
6835// ServiceGetAccountInfoResponse ...
6836type ServiceGetAccountInfoResponse struct {
6837	rawResponse *http.Response
6838}
6839
6840// Response returns the raw HTTP response object.
6841func (sgair ServiceGetAccountInfoResponse) Response() *http.Response {
6842	return sgair.rawResponse
6843}
6844
6845// StatusCode returns the HTTP status code of the response, e.g. 200.
6846func (sgair ServiceGetAccountInfoResponse) StatusCode() int {
6847	return sgair.rawResponse.StatusCode
6848}
6849
6850// Status returns the HTTP status message of the response, e.g. "200 OK".
6851func (sgair ServiceGetAccountInfoResponse) Status() string {
6852	return sgair.rawResponse.Status
6853}
6854
6855// AccountKind returns the value for header x-ms-account-kind.
6856func (sgair ServiceGetAccountInfoResponse) AccountKind() AccountKindType {
6857	return AccountKindType(sgair.rawResponse.Header.Get("x-ms-account-kind"))
6858}
6859
6860// ClientRequestID returns the value for header x-ms-client-request-id.
6861func (sgair ServiceGetAccountInfoResponse) ClientRequestID() string {
6862	return sgair.rawResponse.Header.Get("x-ms-client-request-id")
6863}
6864
6865// Date returns the value for header Date.
6866func (sgair ServiceGetAccountInfoResponse) Date() time.Time {
6867	s := sgair.rawResponse.Header.Get("Date")
6868	if s == "" {
6869		return time.Time{}
6870	}
6871	t, err := time.Parse(time.RFC1123, s)
6872	if err != nil {
6873		t = time.Time{}
6874	}
6875	return t
6876}
6877
6878// ErrorCode returns the value for header x-ms-error-code.
6879func (sgair ServiceGetAccountInfoResponse) ErrorCode() string {
6880	return sgair.rawResponse.Header.Get("x-ms-error-code")
6881}
6882
6883// RequestID returns the value for header x-ms-request-id.
6884func (sgair ServiceGetAccountInfoResponse) RequestID() string {
6885	return sgair.rawResponse.Header.Get("x-ms-request-id")
6886}
6887
6888// SkuName returns the value for header x-ms-sku-name.
6889func (sgair ServiceGetAccountInfoResponse) SkuName() SkuNameType {
6890	return SkuNameType(sgair.rawResponse.Header.Get("x-ms-sku-name"))
6891}
6892
6893// Version returns the value for header x-ms-version.
6894func (sgair ServiceGetAccountInfoResponse) Version() string {
6895	return sgair.rawResponse.Header.Get("x-ms-version")
6896}
6897
6898// ServiceSetPropertiesResponse ...
6899type ServiceSetPropertiesResponse struct {
6900	rawResponse *http.Response
6901}
6902
6903// Response returns the raw HTTP response object.
6904func (sspr ServiceSetPropertiesResponse) Response() *http.Response {
6905	return sspr.rawResponse
6906}
6907
6908// StatusCode returns the HTTP status code of the response, e.g. 200.
6909func (sspr ServiceSetPropertiesResponse) StatusCode() int {
6910	return sspr.rawResponse.StatusCode
6911}
6912
6913// Status returns the HTTP status message of the response, e.g. "200 OK".
6914func (sspr ServiceSetPropertiesResponse) Status() string {
6915	return sspr.rawResponse.Status
6916}
6917
6918// ClientRequestID returns the value for header x-ms-client-request-id.
6919func (sspr ServiceSetPropertiesResponse) ClientRequestID() string {
6920	return sspr.rawResponse.Header.Get("x-ms-client-request-id")
6921}
6922
6923// ErrorCode returns the value for header x-ms-error-code.
6924func (sspr ServiceSetPropertiesResponse) ErrorCode() string {
6925	return sspr.rawResponse.Header.Get("x-ms-error-code")
6926}
6927
6928// RequestID returns the value for header x-ms-request-id.
6929func (sspr ServiceSetPropertiesResponse) RequestID() string {
6930	return sspr.rawResponse.Header.Get("x-ms-request-id")
6931}
6932
6933// Version returns the value for header x-ms-version.
6934func (sspr ServiceSetPropertiesResponse) Version() string {
6935	return sspr.rawResponse.Header.Get("x-ms-version")
6936}
6937
6938// SignedIdentifier - signed identifier
6939type SignedIdentifier struct {
6940	// ID - a unique id
6941	ID           string       `xml:"Id"`
6942	AccessPolicy AccessPolicy `xml:"AccessPolicy"`
6943}
6944
6945// SignedIdentifiers - Wraps the response from the containerClient.GetAccessPolicy method.
6946type SignedIdentifiers struct {
6947	rawResponse *http.Response
6948	Items       []SignedIdentifier `xml:"SignedIdentifier"`
6949}
6950
6951// Response returns the raw HTTP response object.
6952func (si SignedIdentifiers) Response() *http.Response {
6953	return si.rawResponse
6954}
6955
6956// StatusCode returns the HTTP status code of the response, e.g. 200.
6957func (si SignedIdentifiers) StatusCode() int {
6958	return si.rawResponse.StatusCode
6959}
6960
6961// Status returns the HTTP status message of the response, e.g. "200 OK".
6962func (si SignedIdentifiers) Status() string {
6963	return si.rawResponse.Status
6964}
6965
6966// BlobPublicAccess returns the value for header x-ms-blob-public-access.
6967func (si SignedIdentifiers) BlobPublicAccess() PublicAccessType {
6968	return PublicAccessType(si.rawResponse.Header.Get("x-ms-blob-public-access"))
6969}
6970
6971// ClientRequestID returns the value for header x-ms-client-request-id.
6972func (si SignedIdentifiers) ClientRequestID() string {
6973	return si.rawResponse.Header.Get("x-ms-client-request-id")
6974}
6975
6976// Date returns the value for header Date.
6977func (si SignedIdentifiers) Date() time.Time {
6978	s := si.rawResponse.Header.Get("Date")
6979	if s == "" {
6980		return time.Time{}
6981	}
6982	t, err := time.Parse(time.RFC1123, s)
6983	if err != nil {
6984		t = time.Time{}
6985	}
6986	return t
6987}
6988
6989// ErrorCode returns the value for header x-ms-error-code.
6990func (si SignedIdentifiers) ErrorCode() string {
6991	return si.rawResponse.Header.Get("x-ms-error-code")
6992}
6993
6994// ETag returns the value for header ETag.
6995func (si SignedIdentifiers) ETag() ETag {
6996	return ETag(si.rawResponse.Header.Get("ETag"))
6997}
6998
6999// LastModified returns the value for header Last-Modified.
7000func (si SignedIdentifiers) LastModified() time.Time {
7001	s := si.rawResponse.Header.Get("Last-Modified")
7002	if s == "" {
7003		return time.Time{}
7004	}
7005	t, err := time.Parse(time.RFC1123, s)
7006	if err != nil {
7007		t = time.Time{}
7008	}
7009	return t
7010}
7011
7012// RequestID returns the value for header x-ms-request-id.
7013func (si SignedIdentifiers) RequestID() string {
7014	return si.rawResponse.Header.Get("x-ms-request-id")
7015}
7016
7017// Version returns the value for header x-ms-version.
7018func (si SignedIdentifiers) Version() string {
7019	return si.rawResponse.Header.Get("x-ms-version")
7020}
7021
7022// StaticWebsite - The properties that enable an account to host a static website
7023type StaticWebsite struct {
7024	// Enabled - Indicates whether this account is hosting a static website
7025	Enabled bool `xml:"Enabled"`
7026	// IndexDocument - The default name of the index page under each directory
7027	IndexDocument *string `xml:"IndexDocument"`
7028	// ErrorDocument404Path - The absolute path of the custom 404 page
7029	ErrorDocument404Path *string `xml:"ErrorDocument404Path"`
7030	// DefaultIndexDocumentPath - Absolute path of the default index page
7031	DefaultIndexDocumentPath *string `xml:"DefaultIndexDocumentPath"`
7032}
7033
7034// StorageServiceProperties - Storage Service Properties.
7035type StorageServiceProperties struct {
7036	rawResponse   *http.Response
7037	Logging       *Logging `xml:"Logging"`
7038	HourMetrics   *Metrics `xml:"HourMetrics"`
7039	MinuteMetrics *Metrics `xml:"MinuteMetrics"`
7040	// Cors - The set of CORS rules.
7041	Cors []CorsRule `xml:"Cors>CorsRule"`
7042	// DefaultServiceVersion - The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions
7043	DefaultServiceVersion *string          `xml:"DefaultServiceVersion"`
7044	DeleteRetentionPolicy *RetentionPolicy `xml:"DeleteRetentionPolicy"`
7045	StaticWebsite         *StaticWebsite   `xml:"StaticWebsite"`
7046}
7047
7048// Response returns the raw HTTP response object.
7049func (ssp StorageServiceProperties) Response() *http.Response {
7050	return ssp.rawResponse
7051}
7052
7053// StatusCode returns the HTTP status code of the response, e.g. 200.
7054func (ssp StorageServiceProperties) StatusCode() int {
7055	return ssp.rawResponse.StatusCode
7056}
7057
7058// Status returns the HTTP status message of the response, e.g. "200 OK".
7059func (ssp StorageServiceProperties) Status() string {
7060	return ssp.rawResponse.Status
7061}
7062
7063// ClientRequestID returns the value for header x-ms-client-request-id.
7064func (ssp StorageServiceProperties) ClientRequestID() string {
7065	return ssp.rawResponse.Header.Get("x-ms-client-request-id")
7066}
7067
7068// ErrorCode returns the value for header x-ms-error-code.
7069func (ssp StorageServiceProperties) ErrorCode() string {
7070	return ssp.rawResponse.Header.Get("x-ms-error-code")
7071}
7072
7073// RequestID returns the value for header x-ms-request-id.
7074func (ssp StorageServiceProperties) RequestID() string {
7075	return ssp.rawResponse.Header.Get("x-ms-request-id")
7076}
7077
7078// Version returns the value for header x-ms-version.
7079func (ssp StorageServiceProperties) Version() string {
7080	return ssp.rawResponse.Header.Get("x-ms-version")
7081}
7082
7083// StorageServiceStats - Stats for the storage service.
7084type StorageServiceStats struct {
7085	rawResponse    *http.Response
7086	GeoReplication *GeoReplication `xml:"GeoReplication"`
7087}
7088
7089// Response returns the raw HTTP response object.
7090func (sss StorageServiceStats) Response() *http.Response {
7091	return sss.rawResponse
7092}
7093
7094// StatusCode returns the HTTP status code of the response, e.g. 200.
7095func (sss StorageServiceStats) StatusCode() int {
7096	return sss.rawResponse.StatusCode
7097}
7098
7099// Status returns the HTTP status message of the response, e.g. "200 OK".
7100func (sss StorageServiceStats) Status() string {
7101	return sss.rawResponse.Status
7102}
7103
7104// ClientRequestID returns the value for header x-ms-client-request-id.
7105func (sss StorageServiceStats) ClientRequestID() string {
7106	return sss.rawResponse.Header.Get("x-ms-client-request-id")
7107}
7108
7109// Date returns the value for header Date.
7110func (sss StorageServiceStats) Date() time.Time {
7111	s := sss.rawResponse.Header.Get("Date")
7112	if s == "" {
7113		return time.Time{}
7114	}
7115	t, err := time.Parse(time.RFC1123, s)
7116	if err != nil {
7117		t = time.Time{}
7118	}
7119	return t
7120}
7121
7122// ErrorCode returns the value for header x-ms-error-code.
7123func (sss StorageServiceStats) ErrorCode() string {
7124	return sss.rawResponse.Header.Get("x-ms-error-code")
7125}
7126
7127// RequestID returns the value for header x-ms-request-id.
7128func (sss StorageServiceStats) RequestID() string {
7129	return sss.rawResponse.Header.Get("x-ms-request-id")
7130}
7131
7132// Version returns the value for header x-ms-version.
7133func (sss StorageServiceStats) Version() string {
7134	return sss.rawResponse.Header.Get("x-ms-version")
7135}
7136
7137// SubmitBatchResponse - Wraps the response from the serviceClient.SubmitBatch method.
7138type SubmitBatchResponse struct {
7139	rawResponse *http.Response
7140}
7141
7142// Response returns the raw HTTP response object.
7143func (sbr SubmitBatchResponse) Response() *http.Response {
7144	return sbr.rawResponse
7145}
7146
7147// StatusCode returns the HTTP status code of the response, e.g. 200.
7148func (sbr SubmitBatchResponse) StatusCode() int {
7149	return sbr.rawResponse.StatusCode
7150}
7151
7152// Status returns the HTTP status message of the response, e.g. "200 OK".
7153func (sbr SubmitBatchResponse) Status() string {
7154	return sbr.rawResponse.Status
7155}
7156
7157// Body returns the raw HTTP response object's Body.
7158func (sbr SubmitBatchResponse) Body() io.ReadCloser {
7159	return sbr.rawResponse.Body
7160}
7161
7162// ContentType returns the value for header Content-Type.
7163func (sbr SubmitBatchResponse) ContentType() string {
7164	return sbr.rawResponse.Header.Get("Content-Type")
7165}
7166
7167// ErrorCode returns the value for header x-ms-error-code.
7168func (sbr SubmitBatchResponse) ErrorCode() string {
7169	return sbr.rawResponse.Header.Get("x-ms-error-code")
7170}
7171
7172// RequestID returns the value for header x-ms-request-id.
7173func (sbr SubmitBatchResponse) RequestID() string {
7174	return sbr.rawResponse.Header.Get("x-ms-request-id")
7175}
7176
7177// Version returns the value for header x-ms-version.
7178func (sbr SubmitBatchResponse) Version() string {
7179	return sbr.rawResponse.Header.Get("x-ms-version")
7180}
7181
7182// UserDelegationKey - A user delegation key
7183type UserDelegationKey struct {
7184	rawResponse *http.Response
7185	// SignedOid - The Azure Active Directory object ID in GUID format.
7186	SignedOid string `xml:"SignedOid"`
7187	// SignedTid - The Azure Active Directory tenant ID in GUID format
7188	SignedTid string `xml:"SignedTid"`
7189	// SignedStart - The date-time the key is active
7190	SignedStart time.Time `xml:"SignedStart"`
7191	// SignedExpiry - The date-time the key expires
7192	SignedExpiry time.Time `xml:"SignedExpiry"`
7193	// SignedService - Abbreviation of the Azure Storage service that accepts the key
7194	SignedService string `xml:"SignedService"`
7195	// SignedVersion - The service version that created the key
7196	SignedVersion string `xml:"SignedVersion"`
7197	// Value - The key as a base64 string
7198	Value string `xml:"Value"`
7199}
7200
7201// MarshalXML implements the xml.Marshaler interface for UserDelegationKey.
7202func (udk UserDelegationKey) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
7203	udk2 := (*userDelegationKey)(unsafe.Pointer(&udk))
7204	return e.EncodeElement(*udk2, start)
7205}
7206
7207// UnmarshalXML implements the xml.Unmarshaler interface for UserDelegationKey.
7208func (udk *UserDelegationKey) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
7209	udk2 := (*userDelegationKey)(unsafe.Pointer(udk))
7210	return d.DecodeElement(udk2, &start)
7211}
7212
7213// Response returns the raw HTTP response object.
7214func (udk UserDelegationKey) Response() *http.Response {
7215	return udk.rawResponse
7216}
7217
7218// StatusCode returns the HTTP status code of the response, e.g. 200.
7219func (udk UserDelegationKey) StatusCode() int {
7220	return udk.rawResponse.StatusCode
7221}
7222
7223// Status returns the HTTP status message of the response, e.g. "200 OK".
7224func (udk UserDelegationKey) Status() string {
7225	return udk.rawResponse.Status
7226}
7227
7228// ClientRequestID returns the value for header x-ms-client-request-id.
7229func (udk UserDelegationKey) ClientRequestID() string {
7230	return udk.rawResponse.Header.Get("x-ms-client-request-id")
7231}
7232
7233// Date returns the value for header Date.
7234func (udk UserDelegationKey) Date() time.Time {
7235	s := udk.rawResponse.Header.Get("Date")
7236	if s == "" {
7237		return time.Time{}
7238	}
7239	t, err := time.Parse(time.RFC1123, s)
7240	if err != nil {
7241		t = time.Time{}
7242	}
7243	return t
7244}
7245
7246// ErrorCode returns the value for header x-ms-error-code.
7247func (udk UserDelegationKey) ErrorCode() string {
7248	return udk.rawResponse.Header.Get("x-ms-error-code")
7249}
7250
7251// RequestID returns the value for header x-ms-request-id.
7252func (udk UserDelegationKey) RequestID() string {
7253	return udk.rawResponse.Header.Get("x-ms-request-id")
7254}
7255
7256// Version returns the value for header x-ms-version.
7257func (udk UserDelegationKey) Version() string {
7258	return udk.rawResponse.Header.Get("x-ms-version")
7259}
7260
7261func init() {
7262	if reflect.TypeOf((*UserDelegationKey)(nil)).Elem().Size() != reflect.TypeOf((*userDelegationKey)(nil)).Elem().Size() {
7263		validateError(errors.New("size mismatch between UserDelegationKey and userDelegationKey"))
7264	}
7265	if reflect.TypeOf((*AccessPolicy)(nil)).Elem().Size() != reflect.TypeOf((*accessPolicy)(nil)).Elem().Size() {
7266		validateError(errors.New("size mismatch between AccessPolicy and accessPolicy"))
7267	}
7268	if reflect.TypeOf((*BlobProperties)(nil)).Elem().Size() != reflect.TypeOf((*blobProperties)(nil)).Elem().Size() {
7269		validateError(errors.New("size mismatch between BlobProperties and blobProperties"))
7270	}
7271	if reflect.TypeOf((*ContainerProperties)(nil)).Elem().Size() != reflect.TypeOf((*containerProperties)(nil)).Elem().Size() {
7272		validateError(errors.New("size mismatch between ContainerProperties and containerProperties"))
7273	}
7274	if reflect.TypeOf((*GeoReplication)(nil)).Elem().Size() != reflect.TypeOf((*geoReplication)(nil)).Elem().Size() {
7275		validateError(errors.New("size mismatch between GeoReplication and geoReplication"))
7276	}
7277}
7278
7279const (
7280	rfc3339Format = "2006-01-02T15:04:05Z" //This was wrong in the generated code, FYI
7281)
7282
7283// used to convert times from UTC to GMT before sending across the wire
7284var gmt = time.FixedZone("GMT", 0)
7285
7286// internal type used for marshalling time in RFC1123 format
7287type timeRFC1123 struct {
7288	time.Time
7289}
7290
7291// MarshalText implements the encoding.TextMarshaler interface for timeRFC1123.
7292func (t timeRFC1123) MarshalText() ([]byte, error) {
7293	return []byte(t.Format(time.RFC1123)), nil
7294}
7295
7296// UnmarshalText implements the encoding.TextUnmarshaler interface for timeRFC1123.
7297func (t *timeRFC1123) UnmarshalText(data []byte) (err error) {
7298	t.Time, err = time.Parse(time.RFC1123, string(data))
7299	return
7300}
7301
7302// internal type used for marshalling time in RFC3339 format
7303type timeRFC3339 struct {
7304	time.Time
7305}
7306
7307// MarshalText implements the encoding.TextMarshaler interface for timeRFC3339.
7308func (t timeRFC3339) MarshalText() ([]byte, error) {
7309	return []byte(t.Format(rfc3339Format)), nil
7310}
7311
7312// UnmarshalText implements the encoding.TextUnmarshaler interface for timeRFC3339.
7313func (t *timeRFC3339) UnmarshalText(data []byte) (err error) {
7314	t.Time, err = time.Parse(rfc3339Format, string(data))
7315	return
7316}
7317
7318// internal type used for marshalling base64 encoded strings
7319type base64Encoded struct {
7320	b []byte
7321}
7322
7323// MarshalText implements the encoding.TextMarshaler interface for base64Encoded.
7324func (c base64Encoded) MarshalText() ([]byte, error) {
7325	return []byte(base64.StdEncoding.EncodeToString(c.b)), nil
7326}
7327
7328// UnmarshalText implements the encoding.TextUnmarshaler interface for base64Encoded.
7329func (c *base64Encoded) UnmarshalText(data []byte) error {
7330	b, err := base64.StdEncoding.DecodeString(string(data))
7331	if err != nil {
7332		return err
7333	}
7334	c.b = b
7335	return nil
7336}
7337
7338// internal type used for marshalling
7339type userDelegationKey struct {
7340	rawResponse   *http.Response
7341	SignedOid     string      `xml:"SignedOid"`
7342	SignedTid     string      `xml:"SignedTid"`
7343	SignedStart   timeRFC3339 `xml:"SignedStart"`
7344	SignedExpiry  timeRFC3339 `xml:"SignedExpiry"`
7345	SignedService string      `xml:"SignedService"`
7346	SignedVersion string      `xml:"SignedVersion"`
7347	Value         string      `xml:"Value"`
7348}
7349
7350// internal type used for marshalling
7351type accessPolicy struct {
7352	Start      *timeRFC3339 `xml:"Start"`
7353	Expiry     *timeRFC3339 `xml:"Expiry"`
7354	Permission *string      `xml:"Permission"`
7355}
7356
7357// internal type used for marshalling
7358type blobProperties struct {
7359	// XMLName is used for marshalling and is subject to removal in a future release.
7360	XMLName                   xml.Name              `xml:"Properties"`
7361	CreationTime              *timeRFC1123          `xml:"Creation-Time"`
7362	LastModified              timeRFC1123           `xml:"Last-Modified"`
7363	Etag                      ETag                  `xml:"Etag"`
7364	ContentLength             *int64                `xml:"Content-Length"`
7365	ContentType               *string               `xml:"Content-Type"`
7366	ContentEncoding           *string               `xml:"Content-Encoding"`
7367	ContentLanguage           *string               `xml:"Content-Language"`
7368	ContentMD5                base64Encoded         `xml:"Content-MD5"`
7369	ContentDisposition        *string               `xml:"Content-Disposition"`
7370	CacheControl              *string               `xml:"Cache-Control"`
7371	BlobSequenceNumber        *int64                `xml:"x-ms-blob-sequence-number"`
7372	BlobType                  BlobType              `xml:"BlobType"`
7373	LeaseStatus               LeaseStatusType       `xml:"LeaseStatus"`
7374	LeaseState                LeaseStateType        `xml:"LeaseState"`
7375	LeaseDuration             LeaseDurationType     `xml:"LeaseDuration"`
7376	CopyID                    *string               `xml:"CopyId"`
7377	CopyStatus                CopyStatusType        `xml:"CopyStatus"`
7378	CopySource                *string               `xml:"CopySource"`
7379	CopyProgress              *string               `xml:"CopyProgress"`
7380	CopyCompletionTime        *timeRFC1123          `xml:"CopyCompletionTime"`
7381	CopyStatusDescription     *string               `xml:"CopyStatusDescription"`
7382	ServerEncrypted           *bool                 `xml:"ServerEncrypted"`
7383	IncrementalCopy           *bool                 `xml:"IncrementalCopy"`
7384	DestinationSnapshot       *string               `xml:"DestinationSnapshot"`
7385	DeletedTime               *timeRFC1123          `xml:"DeletedTime"`
7386	RemainingRetentionDays    *int32                `xml:"RemainingRetentionDays"`
7387	AccessTier                AccessTierType        `xml:"AccessTier"`
7388	AccessTierInferred        *bool                 `xml:"AccessTierInferred"`
7389	ArchiveStatus             ArchiveStatusType     `xml:"ArchiveStatus"`
7390	CustomerProvidedKeySha256 *string               `xml:"CustomerProvidedKeySha256"`
7391	EncryptionScope           *string               `xml:"EncryptionScope"`
7392	AccessTierChangeTime      *timeRFC1123          `xml:"AccessTierChangeTime"`
7393	TagCount                  *int32                `xml:"TagCount"`
7394	ExpiresOn                 *timeRFC1123          `xml:"Expiry-Time"`
7395	IsSealed                  *bool                 `xml:"IsSealed"`
7396	RehydratePriority         RehydratePriorityType `xml:"RehydratePriority"`
7397}
7398
7399// internal type used for marshalling
7400type containerProperties struct {
7401	LastModified                   timeRFC1123       `xml:"Last-Modified"`
7402	Etag                           ETag              `xml:"Etag"`
7403	LeaseStatus                    LeaseStatusType   `xml:"LeaseStatus"`
7404	LeaseState                     LeaseStateType    `xml:"LeaseState"`
7405	LeaseDuration                  LeaseDurationType `xml:"LeaseDuration"`
7406	PublicAccess                   PublicAccessType  `xml:"PublicAccess"`
7407	HasImmutabilityPolicy          *bool             `xml:"HasImmutabilityPolicy"`
7408	HasLegalHold                   *bool             `xml:"HasLegalHold"`
7409	DefaultEncryptionScope         *string           `xml:"DefaultEncryptionScope"`
7410	PreventEncryptionScopeOverride *bool             `xml:"DenyEncryptionScopeOverride"`
7411	DeletedTime                    *timeRFC1123      `xml:"DeletedTime"`
7412	RemainingRetentionDays         *int32            `xml:"RemainingRetentionDays"`
7413}
7414
7415// internal type used for marshalling
7416type geoReplication struct {
7417	Status       GeoReplicationStatusType `xml:"Status"`
7418	LastSyncTime timeRFC1123              `xml:"LastSyncTime"`
7419}
7420