Skip to content

Commit ac6e871

Browse files
authored
Export constants required by other exported types (Azure#18878)
Removed stuttering of some constant type names. Pinned codegen to a specific commit for reproducible builds. Added directives to export some generated, internal, methods. Moved hand-edits of generated code elsewhere.
1 parent 67a6d65 commit ac6e871

File tree

16 files changed

+301
-165
lines changed

16 files changed

+301
-165
lines changed

sdk/storage/azblob/appendblob/models.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
package appendblob
88

99
import (
10+
"time"
11+
1012
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"
1113
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported"
1214
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
1315
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared"
14-
"time"
1516
)
1617

1718
// AppendPositionAccessConditions contains a group of parameters for the Client.AppendBlock method.
@@ -25,7 +26,7 @@ type CreateOptions struct {
2526
ImmutabilityPolicyExpiry *time.Time
2627

2728
// Specifies the immutability policy mode to set on the blob.
28-
ImmutabilityPolicyMode *blob.ImmutabilityPolicyMode
29+
ImmutabilityPolicyMode *blob.ImmutabilityPolicySetting
2930

3031
// Specified if a legal hold should be set on the blob.
3132
LegalHold *bool

sdk/storage/azblob/autorest.md

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Code Generation - Azure Blob SDK for Golang
22

3-
<!-- autorest --use=@autorest/[email protected] https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json --file-prefix="zz_generated_" --modelerfour.lenient-model-deduplication --license-header=MICROSOFT_MIT_NO_VERSION --output-folder=generated/ --module=azblob --openapi-type="data-plane" --credential-scope=none -->
4-
53
```bash
64
autorest autorest.md
75
gofmt -w internal/generated/*
@@ -14,7 +12,7 @@ go: true
1412
clear-output-folder: false
1513
version: "^3.0.0"
1614
license-header: MICROSOFT_MIT_NO_VERSION
17-
input-file: "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json"
15+
input-file: "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/e515b6251fdc21015282d2e84b85beec7c091763/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json"
1816
credential-scope: "https://storage.azure.com/.default"
1917
output-folder: internal/generated
2018
file-prefix: "zz_"
@@ -192,3 +190,57 @@ directive:
192190
$.BlobItemInternal.properties["OrMetadata"] = $.BlobItemInternal.properties["ObjectReplicationMetadata"];
193191
delete $.BlobItemInternal.properties["ObjectReplicationMetadata"];
194192
```
193+
194+
# Export various createRequest/HandleResponse methods
195+
196+
``` yaml
197+
directive:
198+
- from: zz_container_client.go
199+
where: $
200+
transform: >-
201+
return $.
202+
replace(/listBlobHierarchySegmentCreateRequest/g, function(_, s) { return `ListBlobHierarchySegmentCreateRequest` }).
203+
replace(/listBlobHierarchySegmentHandleResponse/g, function(_, s) { return `ListBlobHierarchySegmentHandleResponse` });
204+
205+
- from: zz_pageblob_client.go
206+
where: $
207+
transform: >-
208+
return $.
209+
replace(/getPageRanges(Diff)?CreateRequest/g, function(_, s) { if (s === undefined) { s = '' }; return `GetPageRanges${s}CreateRequest` }).
210+
replace(/getPageRanges(Diff)?HandleResponse/g, function(_, s) { if (s === undefined) { s = '' }; return `GetPageRanges${s}HandleResponse` });
211+
```
212+
213+
### Clean up some const type names so they don't stutter
214+
215+
``` yaml
216+
directive:
217+
- from: swagger-document
218+
where: $.parameters['BlobDeleteType']
219+
transform: >
220+
$["x-ms-enum"].name = "DeleteType";
221+
$["x-ms-client-name"] = "DeleteType";
222+
223+
- from: swagger-document
224+
where: $.parameters['BlobExpiryOptions']
225+
transform: >
226+
$["x-ms-enum"].name = "ExpiryOptions";
227+
$["x-ms-client-name"].name = "ExpiryOptions";
228+
229+
- from: swagger-document
230+
where: $["x-ms-paths"][*].*.responses[*].headers["x-ms-immutability-policy-mode"]
231+
transform: >
232+
$["x-ms-client-name"].name = "ImmutabilityPolicyMode";
233+
$.enum = [ "Mutable", "Unlocked", "Locked"];
234+
$["x-ms-enum"] = { "name": "ImmutabilityPolicyMode", "modelAsString": false };
235+
236+
- from: swagger-document
237+
where: $.parameters['ImmutabilityPolicyMode']
238+
transform: >
239+
$["x-ms-enum"].name = "ImmutabilityPolicySetting";
240+
$["x-ms-client-name"].name = "ImmutabilityPolicySetting";
241+
242+
- from: swagger-document
243+
where: $.definitions['BlobPropertiesInternal']
244+
transform: >
245+
$.properties.ImmutabilityPolicyMode["x-ms-enum"].name = "ImmutabilityPolicyMode";
246+
```

sdk/storage/azblob/blob/constants.go

Lines changed: 51 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,20 @@ const (
1717
DefaultDownloadBlockSize = int64(4 * 1024 * 1024) // 4MB
1818
)
1919

20+
// BlobType defines values for BlobType
21+
type BlobType = generated.BlobType
22+
23+
const (
24+
BlobTypeBlockBlob BlobType = generated.BlobTypeBlockBlob
25+
BlobTypePageBlob BlobType = generated.BlobTypePageBlob
26+
BlobTypeAppendBlob BlobType = generated.BlobTypeAppendBlob
27+
)
28+
29+
// PossibleBlobTypeValues returns the possible values for the BlobType const type.
30+
func PossibleBlobTypeValues() []BlobType {
31+
return generated.PossibleBlobTypeValues()
32+
}
33+
2034
// DeleteSnapshotsOptionType defines values for DeleteSnapshotsOptionType
2135
type DeleteSnapshotsOptionType = generated.DeleteSnapshotsOptionType
2236

@@ -70,18 +84,31 @@ func PossibleRehydratePriorityValues() []RehydratePriority {
7084
return generated.PossibleRehydratePriorityValues()
7185
}
7286

73-
// ImmutabilityPolicyMode defines values for BlobImmutabilityPolicyMode
74-
type ImmutabilityPolicyMode = generated.BlobImmutabilityPolicyMode
87+
// ImmutabilityPolicyMode defines values for ImmutabilityPolicyMode
88+
type ImmutabilityPolicyMode = generated.ImmutabilityPolicyMode
89+
90+
const (
91+
ImmutabilityPolicyModeMutable ImmutabilityPolicyMode = generated.ImmutabilityPolicyModeMutable
92+
ImmutabilityPolicyModeUnlocked ImmutabilityPolicyMode = generated.ImmutabilityPolicyModeUnlocked
93+
ImmutabilityPolicyModeLocked ImmutabilityPolicyMode = generated.ImmutabilityPolicyModeLocked
94+
)
95+
96+
// PossibleImmutabilityPolicyModeValues returns the possible values for the ImmutabilityPolicyMode const type.
97+
func PossibleImmutabilityPolicyModeValues() []ImmutabilityPolicyMode {
98+
return generated.PossibleImmutabilityPolicyModeValues()
99+
}
100+
101+
// ImmutabilityPolicySetting returns the possible values for the ImmutabilityPolicySetting const type.
102+
type ImmutabilityPolicySetting = generated.ImmutabilityPolicySetting
75103

76104
const (
77-
ImmutabilityPolicyModeMutable ImmutabilityPolicyMode = generated.BlobImmutabilityPolicyModeMutable
78-
ImmutabilityPolicyModeUnlocked ImmutabilityPolicyMode = generated.BlobImmutabilityPolicyModeUnlocked
79-
ImmutabilityPolicyModeLocked ImmutabilityPolicyMode = generated.BlobImmutabilityPolicyModeLocked
105+
ImmutabilityPolicySettingUnlocked ImmutabilityPolicySetting = generated.ImmutabilityPolicySettingUnlocked
106+
ImmutabilityPolicySettingLocked ImmutabilityPolicySetting = generated.ImmutabilityPolicySettingLocked
80107
)
81108

82-
// PossibleBlobImmutabilityPolicyModeValues returns the possible values for the BlobImmutabilityPolicyMode const type.
83-
func PossibleBlobImmutabilityPolicyModeValues() []ImmutabilityPolicyMode {
84-
return generated.PossibleBlobImmutabilityPolicyModeValues()
109+
// PossibleImmutabilityPolicySettingValues returns the possible values for the ImmutabilityPolicySetting const type.
110+
func PossibleImmutabilityPolicySettingValues() []ImmutabilityPolicySetting {
111+
return generated.PossibleImmutabilityPolicySettingValues()
85112
}
86113

87114
// CopyStatusType defines values for CopyStatusType
@@ -125,32 +152,32 @@ func PossibleArchiveStatusValues() []ArchiveStatus {
125152
return generated.PossibleArchiveStatusValues()
126153
}
127154

128-
// DeleteType defines values for BlobDeleteType
129-
type DeleteType = generated.BlobDeleteType
155+
// DeleteType defines values for DeleteType
156+
type DeleteType = generated.DeleteType
130157

131158
const (
132-
DeleteTypeNone DeleteType = generated.BlobDeleteTypeNone
133-
DeleteTypePermanent DeleteType = generated.BlobDeleteTypePermanent
159+
DeleteTypeNone DeleteType = generated.DeleteTypeNone
160+
DeleteTypePermanent DeleteType = generated.DeleteTypePermanent
134161
)
135162

136-
// PossibleBlobDeleteTypeValues returns the possible values for the BlobDeleteType const type.
137-
func PossibleBlobDeleteTypeValues() []DeleteType {
138-
return generated.PossibleBlobDeleteTypeValues()
163+
// PossibleDeleteTypeValues returns the possible values for the DeleteType const type.
164+
func PossibleDeleteTypeValues() []DeleteType {
165+
return generated.PossibleDeleteTypeValues()
139166
}
140167

141-
// ExpiryOptions defines values for BlobExpiryOptions
142-
type ExpiryOptions = generated.BlobExpiryOptions
168+
// ExpiryOptions defines values for ExpiryOptions
169+
type ExpiryOptions = generated.ExpiryOptions
143170

144171
const (
145-
ExpiryOptionsAbsolute ExpiryOptions = generated.BlobExpiryOptionsAbsolute
146-
ExpiryOptionsNeverExpire ExpiryOptions = generated.BlobExpiryOptionsNeverExpire
147-
ExpiryOptionsRelativeToCreation ExpiryOptions = generated.BlobExpiryOptionsRelativeToCreation
148-
ExpiryOptionsRelativeToNow ExpiryOptions = generated.BlobExpiryOptionsRelativeToNow
172+
ExpiryOptionsAbsolute ExpiryOptions = generated.ExpiryOptionsAbsolute
173+
ExpiryOptionsNeverExpire ExpiryOptions = generated.ExpiryOptionsNeverExpire
174+
ExpiryOptionsRelativeToCreation ExpiryOptions = generated.ExpiryOptionsRelativeToCreation
175+
ExpiryOptionsRelativeToNow ExpiryOptions = generated.ExpiryOptionsRelativeToNow
149176
)
150177

151-
// PossibleBlobExpiryOptionsValues returns the possible values for the BlobExpiryOptions const type.
152-
func PossibleBlobExpiryOptionsValues() []ExpiryOptions {
153-
return generated.PossibleBlobExpiryOptionsValues()
178+
// PossibleExpiryOptionsValues returns the possible values for the ExpiryOptions const type.
179+
func PossibleExpiryOptionsValues() []ExpiryOptions {
180+
return generated.PossibleExpiryOptionsValues()
154181
}
155182

156183
// QueryFormatType - The quick query format type.

sdk/storage/azblob/blob/models.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ type StartCopyFromURLOptions struct {
291291
// Specifies the date time when the blobs immutability policy is set to expire.
292292
ImmutabilityPolicyExpiry *time.Time
293293
// Specifies the immutability policy mode to set on the blob.
294-
ImmutabilityPolicyMode *ImmutabilityPolicyMode
294+
ImmutabilityPolicyMode *ImmutabilityPolicySetting
295295
// Specified if a legal hold should be set on the blob.
296296
LegalHold *bool
297297
// Optional. Used to set blob tags in various blob operations.
@@ -417,7 +417,7 @@ type CopyFromURLOptions struct {
417417
// Specifies the date time when the blobs immutability policy is set to expire.
418418
ImmutabilityPolicyExpiry *time.Time
419419
// Specifies the immutability policy mode to set on the blob.
420-
ImmutabilityPolicyMode *ImmutabilityPolicyMode
420+
ImmutabilityPolicyMode *ImmutabilityPolicySetting
421421
// Specified if a legal hold should be set on the blob.
422422
LegalHold *bool
423423
// Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the

sdk/storage/azblob/blob/utils.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"time"
1212

1313
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported"
14-
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
1514
)
1615

1716
// ObjectReplicationRules struct
@@ -60,7 +59,14 @@ func deserializeORSPolicies(policies map[string]string) (objectReplicationPolici
6059

6160
// ParseHTTPHeaders parses GetPropertiesResponse and returns HTTPHeaders
6261
func ParseHTTPHeaders(resp GetPropertiesResponse) HTTPHeaders {
63-
return generated.ParseHTTPHeaders(resp)
62+
return HTTPHeaders{
63+
BlobContentType: resp.ContentType,
64+
BlobContentEncoding: resp.ContentEncoding,
65+
BlobContentLanguage: resp.ContentLanguage,
66+
BlobContentDisposition: resp.ContentDisposition,
67+
BlobCacheControl: resp.CacheControl,
68+
BlobContentMD5: resp.ContentMD5,
69+
}
6470
}
6571

6672
// ParseSASTimeString try to parse sas time string.

sdk/storage/azblob/constants.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//go:build go1.18
2+
// +build go1.18
3+
4+
// Copyright (c) Microsoft Corporation. All rights reserved.
5+
// Licensed under the MIT License. See License.txt in the project root for license information.
6+
7+
package azblob
8+
9+
import "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
10+
11+
// PublicAccessType defines values for AccessType - private (default) or blob or container
12+
type PublicAccessType = generated.PublicAccessType
13+
14+
const (
15+
PublicAccessTypeBlob PublicAccessType = generated.PublicAccessTypeBlob
16+
PublicAccessTypeContainer PublicAccessType = generated.PublicAccessTypeContainer
17+
)
18+
19+
// PossiblePublicAccessTypeValues returns the possible values for the PublicAccessType const type.
20+
func PossiblePublicAccessTypeValues() []PublicAccessType {
21+
return generated.PossiblePublicAccessTypeValues()
22+
}
23+
24+
// DeleteSnapshotsOptionType defines values for DeleteSnapshotsOptionType
25+
type DeleteSnapshotsOptionType = generated.DeleteSnapshotsOptionType
26+
27+
const (
28+
DeleteSnapshotsOptionTypeInclude DeleteSnapshotsOptionType = generated.DeleteSnapshotsOptionTypeInclude
29+
DeleteSnapshotsOptionTypeOnly DeleteSnapshotsOptionType = generated.DeleteSnapshotsOptionTypeOnly
30+
)
31+
32+
// PossibleDeleteSnapshotsOptionTypeValues returns the possible values for the DeleteSnapshotsOptionType const type.
33+
func PossibleDeleteSnapshotsOptionTypeValues() []DeleteSnapshotsOptionType {
34+
return generated.PossibleDeleteSnapshotsOptionTypeValues()
35+
}

sdk/storage/azblob/internal/generated/zz_blob_client.go

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)