This repository has been archived by the owner on Mar 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
blobServiceProperties.go
243 lines (219 loc) · 12.3 KB
/
blobServiceProperties.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
// *** WARNING: this file was generated by the Pulumi SDK Generator. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package v20190601
import (
"context"
"reflect"
"github.com/pkg/errors"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
// The properties of a storage account’s Blob service.
type BlobServiceProperties struct {
pulumi.CustomResourceState
// Deprecated in favor of isVersioningEnabled property.
AutomaticSnapshotPolicyEnabled pulumi.BoolPtrOutput `pulumi:"automaticSnapshotPolicyEnabled"`
// The blob service properties for change feed events.
ChangeFeed ChangeFeedResponsePtrOutput `pulumi:"changeFeed"`
// The blob service properties for container soft delete.
ContainerDeleteRetentionPolicy DeleteRetentionPolicyResponsePtrOutput `pulumi:"containerDeleteRetentionPolicy"`
// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
Cors CorsRulesResponsePtrOutput `pulumi:"cors"`
// DefaultServiceVersion indicates 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.
DefaultServiceVersion pulumi.StringPtrOutput `pulumi:"defaultServiceVersion"`
// The blob service properties for blob soft delete.
DeleteRetentionPolicy DeleteRetentionPolicyResponsePtrOutput `pulumi:"deleteRetentionPolicy"`
// Versioning is enabled if set to true.
IsVersioningEnabled pulumi.BoolPtrOutput `pulumi:"isVersioningEnabled"`
// The name of the resource
Name pulumi.StringOutput `pulumi:"name"`
// The blob service properties for blob restore policy.
RestorePolicy RestorePolicyPropertiesResponsePtrOutput `pulumi:"restorePolicy"`
// Sku name and tier.
Sku SkuResponseOutput `pulumi:"sku"`
// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type pulumi.StringOutput `pulumi:"type"`
}
// NewBlobServiceProperties registers a new resource with the given unique name, arguments, and options.
func NewBlobServiceProperties(ctx *pulumi.Context,
name string, args *BlobServicePropertiesArgs, opts ...pulumi.ResourceOption) (*BlobServiceProperties, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.AccountName == nil {
return nil, errors.New("invalid value for required argument 'AccountName'")
}
if args.BlobServicesName == nil {
return nil, errors.New("invalid value for required argument 'BlobServicesName'")
}
if args.ResourceGroupName == nil {
return nil, errors.New("invalid value for required argument 'ResourceGroupName'")
}
aliases := pulumi.Aliases([]pulumi.Alias{
{
Type: pulumi.String("azure-nextgen:storage/latest:BlobServiceProperties"),
},
{
Type: pulumi.String("azure-nextgen:storage/v20180701:BlobServiceProperties"),
},
{
Type: pulumi.String("azure-nextgen:storage/v20181101:BlobServiceProperties"),
},
{
Type: pulumi.String("azure-nextgen:storage/v20190401:BlobServiceProperties"),
},
{
Type: pulumi.String("azure-nextgen:storage/v20200801preview:BlobServiceProperties"),
},
})
opts = append(opts, aliases)
var resource BlobServiceProperties
err := ctx.RegisterResource("azure-nextgen:storage/v20190601:BlobServiceProperties", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetBlobServiceProperties gets an existing BlobServiceProperties resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetBlobServiceProperties(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *BlobServicePropertiesState, opts ...pulumi.ResourceOption) (*BlobServiceProperties, error) {
var resource BlobServiceProperties
err := ctx.ReadResource("azure-nextgen:storage/v20190601:BlobServiceProperties", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering BlobServiceProperties resources.
type blobServicePropertiesState struct {
// Deprecated in favor of isVersioningEnabled property.
AutomaticSnapshotPolicyEnabled *bool `pulumi:"automaticSnapshotPolicyEnabled"`
// The blob service properties for change feed events.
ChangeFeed *ChangeFeedResponse `pulumi:"changeFeed"`
// The blob service properties for container soft delete.
ContainerDeleteRetentionPolicy *DeleteRetentionPolicyResponse `pulumi:"containerDeleteRetentionPolicy"`
// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
Cors *CorsRulesResponse `pulumi:"cors"`
// DefaultServiceVersion indicates 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.
DefaultServiceVersion *string `pulumi:"defaultServiceVersion"`
// The blob service properties for blob soft delete.
DeleteRetentionPolicy *DeleteRetentionPolicyResponse `pulumi:"deleteRetentionPolicy"`
// Versioning is enabled if set to true.
IsVersioningEnabled *bool `pulumi:"isVersioningEnabled"`
// The name of the resource
Name *string `pulumi:"name"`
// The blob service properties for blob restore policy.
RestorePolicy *RestorePolicyPropertiesResponse `pulumi:"restorePolicy"`
// Sku name and tier.
Sku *SkuResponse `pulumi:"sku"`
// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string `pulumi:"type"`
}
type BlobServicePropertiesState struct {
// Deprecated in favor of isVersioningEnabled property.
AutomaticSnapshotPolicyEnabled pulumi.BoolPtrInput
// The blob service properties for change feed events.
ChangeFeed ChangeFeedResponsePtrInput
// The blob service properties for container soft delete.
ContainerDeleteRetentionPolicy DeleteRetentionPolicyResponsePtrInput
// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
Cors CorsRulesResponsePtrInput
// DefaultServiceVersion indicates 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.
DefaultServiceVersion pulumi.StringPtrInput
// The blob service properties for blob soft delete.
DeleteRetentionPolicy DeleteRetentionPolicyResponsePtrInput
// Versioning is enabled if set to true.
IsVersioningEnabled pulumi.BoolPtrInput
// The name of the resource
Name pulumi.StringPtrInput
// The blob service properties for blob restore policy.
RestorePolicy RestorePolicyPropertiesResponsePtrInput
// Sku name and tier.
Sku SkuResponsePtrInput
// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type pulumi.StringPtrInput
}
func (BlobServicePropertiesState) ElementType() reflect.Type {
return reflect.TypeOf((*blobServicePropertiesState)(nil)).Elem()
}
type blobServicePropertiesArgs struct {
// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
AccountName string `pulumi:"accountName"`
// Deprecated in favor of isVersioningEnabled property.
AutomaticSnapshotPolicyEnabled *bool `pulumi:"automaticSnapshotPolicyEnabled"`
// The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
BlobServicesName string `pulumi:"blobServicesName"`
// The blob service properties for change feed events.
ChangeFeed *ChangeFeed `pulumi:"changeFeed"`
// The blob service properties for container soft delete.
ContainerDeleteRetentionPolicy *DeleteRetentionPolicy `pulumi:"containerDeleteRetentionPolicy"`
// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
Cors *CorsRules `pulumi:"cors"`
// DefaultServiceVersion indicates 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.
DefaultServiceVersion *string `pulumi:"defaultServiceVersion"`
// The blob service properties for blob soft delete.
DeleteRetentionPolicy *DeleteRetentionPolicy `pulumi:"deleteRetentionPolicy"`
// Versioning is enabled if set to true.
IsVersioningEnabled *bool `pulumi:"isVersioningEnabled"`
// The name of the resource group within the user's subscription. The name is case insensitive.
ResourceGroupName string `pulumi:"resourceGroupName"`
// The blob service properties for blob restore policy.
RestorePolicy *RestorePolicyProperties `pulumi:"restorePolicy"`
}
// The set of arguments for constructing a BlobServiceProperties resource.
type BlobServicePropertiesArgs struct {
// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
AccountName pulumi.StringInput
// Deprecated in favor of isVersioningEnabled property.
AutomaticSnapshotPolicyEnabled pulumi.BoolPtrInput
// The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
BlobServicesName pulumi.StringInput
// The blob service properties for change feed events.
ChangeFeed ChangeFeedPtrInput
// The blob service properties for container soft delete.
ContainerDeleteRetentionPolicy DeleteRetentionPolicyPtrInput
// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
Cors CorsRulesPtrInput
// DefaultServiceVersion indicates 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.
DefaultServiceVersion pulumi.StringPtrInput
// The blob service properties for blob soft delete.
DeleteRetentionPolicy DeleteRetentionPolicyPtrInput
// Versioning is enabled if set to true.
IsVersioningEnabled pulumi.BoolPtrInput
// The name of the resource group within the user's subscription. The name is case insensitive.
ResourceGroupName pulumi.StringInput
// The blob service properties for blob restore policy.
RestorePolicy RestorePolicyPropertiesPtrInput
}
func (BlobServicePropertiesArgs) ElementType() reflect.Type {
return reflect.TypeOf((*blobServicePropertiesArgs)(nil)).Elem()
}
type BlobServicePropertiesInput interface {
pulumi.Input
ToBlobServicePropertiesOutput() BlobServicePropertiesOutput
ToBlobServicePropertiesOutputWithContext(ctx context.Context) BlobServicePropertiesOutput
}
func (*BlobServiceProperties) ElementType() reflect.Type {
return reflect.TypeOf((*BlobServiceProperties)(nil))
}
func (i *BlobServiceProperties) ToBlobServicePropertiesOutput() BlobServicePropertiesOutput {
return i.ToBlobServicePropertiesOutputWithContext(context.Background())
}
func (i *BlobServiceProperties) ToBlobServicePropertiesOutputWithContext(ctx context.Context) BlobServicePropertiesOutput {
return pulumi.ToOutputWithContext(ctx, i).(BlobServicePropertiesOutput)
}
type BlobServicePropertiesOutput struct {
*pulumi.OutputState
}
func (BlobServicePropertiesOutput) ElementType() reflect.Type {
return reflect.TypeOf((*BlobServiceProperties)(nil))
}
func (o BlobServicePropertiesOutput) ToBlobServicePropertiesOutput() BlobServicePropertiesOutput {
return o
}
func (o BlobServicePropertiesOutput) ToBlobServicePropertiesOutputWithContext(ctx context.Context) BlobServicePropertiesOutput {
return o
}
func init() {
pulumi.RegisterOutputType(BlobServicePropertiesOutput{})
}