Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
83b718b
converted
welovej Jun 12, 2025
2a81dd8
update
welovej Jun 20, 2025
4e73469
update
welovej Jun 20, 2025
b923d8e
run prettier
welovej Jun 23, 2025
2980314
update
welovej Jun 24, 2025
3239241
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Jun 24, 2025
325f093
remove old example files
welovej Jun 24, 2025
9ec95a5
include new example files in TSP directory
welovej Jun 24, 2025
cf387fa
update
welovej Jun 24, 2025
42578ba
update
welovej Jun 24, 2025
72449b3
update
welovej Jun 24, 2025
8e9aca1
Update models.tsp
welovej Jun 25, 2025
3ee84f0
recover readme.md
welovej Jun 25, 2025
1b9c595
array element length constraint
welovej Jun 26, 2025
ff1b74e
recovery of previous spec files
welovej Jun 27, 2025
3615493
Update tspconfig.yaml
welovej Jul 8, 2025
b281c73
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Jul 8, 2025
fc7d52c
update
welovej Jul 8, 2025
68ec631
update
welovej Jul 8, 2025
5e9079e
update for {subscription-id} to 00000000-0000-0000-0000-000000000000
welovej Jul 8, 2025
4c4b6f5
update
welovej Jul 8, 2025
3314ce6
update
welovej Jul 8, 2025
1af72b1
etag mv fix
welovej Jul 9, 2025
227f1eb
Update BlobContainersList.json
welovej Jul 11, 2025
c931ac2
Update BlobContainersList.json
welovej Jul 11, 2025
af69d22
format uri fix
welovej Jul 11, 2025
58e1112
update
welovej Jul 11, 2025
ff20b07
update
welovej Jul 11, 2025
283bcc8
fix etag not eTag
welovej Jul 11, 2025
78f3a4e
fix optional body
welovej Jul 11, 2025
77d944e
update
welovej Jul 11, 2025
53fa1a4
update
welovej Jul 11, 2025
fd42a47
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Jul 22, 2025
46be581
fix for ProvisioningState
welovej Jul 22, 2025
6ac1ec6
update
welovej Jul 22, 2025
5ab4dbd
update
welovej Jul 22, 2025
48766dc
adopt the ErrorResponse with the local defined one.
welovej Jul 23, 2025
d6585ef
update
Jul 23, 2025
7cbf7a1
fix AAO and location header for StorageTaskAssignments_Delete / Stor…
welovej Jul 24, 2025
1e9dd49
fix for OverrideErrorType
welovej Jul 24, 2025
665d78b
fix optional body
welovej Jul 24, 2025
733f679
Update ImmutabilityPolicy.tsp
welovej Jul 24, 2025
01321cb
Update tspconfig.yaml
weidongxu-microsoft Jul 29, 2025
b43b6aa
Merge branch 'main' into TspMig-storage
welovej Jul 29, 2025
09992b9
Update ImmutabilityPolicy.tsp
welovej Jul 29, 2025
5ca9464
update
welovej Jul 29, 2025
48a5ae8
update
welovej Jul 29, 2025
f59f761
remove @operationId decorate
welovej Jul 29, 2025
a843019
update
welovej Jul 30, 2025
f42aa8f
fix warning for clientLocation
welovej Jul 30, 2025
7c74dd3
update
Jul 30, 2025
d023fbd
Update client.tsp
welovej Aug 1, 2025
e41752f
Update main.tsp
welovej Aug 1, 2025
28f48ca
fix
welovej Aug 1, 2025
a293e1d
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Aug 6, 2025
c6546c2
deleted in the fix #36084
welovej Aug 6, 2025
1cc6fcc
fix
welovej Aug 6, 2025
3e928dc
addted example files
welovej Aug 6, 2025
4f08275
update
welovej Aug 6, 2025
ebb0d4d
formatted
welovej Aug 6, 2025
be77fc7
update
welovej Aug 6, 2025
262bc5a
update
welovej Aug 6, 2025
2ff69af
update
welovej Aug 6, 2025
c9a74f5
update
welovej Aug 6, 2025
5451951
Update Java service-dir after package split
XiaofeiCao Aug 19, 2025
70715f3
fix as new pagination way
welovej Aug 22, 2025
0e60be2
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Aug 22, 2025
ebab090
Fix: "x-ms-external": true
welovej Aug 22, 2025
b0d15e2
update
welovej Aug 26, 2025
af8700b
update
welovej Aug 26, 2025
de5beed
Revert "update"
welovej Aug 27, 2025
438b4eb
Revert "update"
welovej Aug 27, 2025
acc5149
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Sep 8, 2025
42585ad
Merge branch 'main' into TspMig-storage
welovej Sep 8, 2025
49669f3
Fix Request model
welovej Sep 8, 2025
cbc28e7
update for PR #36668
welovej Sep 8, 2025
eff0ee4
update
welovej Sep 8, 2025
457fff2
resolve breaking
v-jiaodi Sep 9, 2025
5ab9601
Merge branch 'TspMig-storage' of https://github.com/welovej/azure-res…
v-jiaodi Sep 9, 2025
90b16fa
fix go
Sep 10, 2025
08e173c
fix go
Sep 10, 2025
014cc49
update
welovej Sep 10, 2025
6b23c47
update
welovej Sep 11, 2025
2006c87
Merge branch 'main' into TspMig-storage
tadelesh Sep 18, 2025
ac1a21e
Update back-compatible.tsp
welovej Sep 18, 2025
f4e3e5b
Merge branch 'TspMig-storage' of https://github.com/welovej/azure-res…
welovej Sep 18, 2025
16a9b32
Update tspconfig.yaml
welovej Sep 18, 2025
fa94674
Update models.tsp
welovej Sep 18, 2025
55643f5
java configurations
XiaofeiCao Sep 18, 2025
a865956
update
welovej Sep 19, 2025
fdb823f
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Sep 19, 2025
3d5119b
update
welovej Sep 19, 2025
4925117
Update client.tsp
welovej Sep 19, 2025
99e8e15
Update tspconfig.yaml
welovej Sep 19, 2025
5d5bf11
update
welovej Sep 22, 2025
0be552c
etag for java
XiaofeiCao Sep 22, 2025
e518019
update client name for python
msyyc Sep 22, 2025
062408e
override for java
XiaofeiCao Sep 23, 2025
bd46040
format
XiaofeiCao Sep 23, 2025
5b812a2
update
welovej Oct 11, 2025
cdf4f20
Update client.tsp
tadelesh Oct 11, 2025
2bbcc9a
Update tspconfig.yaml
welovej Oct 11, 2025
8846c24
Update tspconfig.yaml
welovej Oct 11, 2025
8ced32f
Merge remote-tracking branch 'upstream/main' into TspMig-storage
welovej Oct 14, 2025
cf461c7
recovery of version 2025-01-01
welovej Oct 14, 2025
6c06934
update
welovej Oct 14, 2025
5c8fd97
delete examples of xx.Management of 2025-01-01
welovej Oct 14, 2025
905582c
add examples to Tsp of 2025-06-01
welovej Oct 14, 2025
2a581e8
examples of swagger after run tsp compile .
welovej Oct 14, 2025
84f7a1c
Update models.tsp
welovej Oct 14, 2025
af9a540
Update openapi.json
welovej Oct 14, 2025
db26fcc
resolve warnings
welovej Dec 2, 2025
fe53093
fix customAzureResource
welovej Dec 2, 2025
c2f5ce7
update
welovej Dec 2, 2025
e5231fa
rename common type Resource
v-jiaodi Dec 8, 2025
3bcf47e
update
v-jiaodi Dec 9, 2025
2f9afb9
update
v-jiaodi Dec 9, 2025
1e81a27
update
v-jiaodi Dec 9, 2025
632da2f
update IntervalUnit
v-jiaodi Dec 9, 2025
e6dc138
Revert "update IntervalUnit"
v-jiaodi Dec 9, 2025
1daaef0
Merge branch 'main' into TspMig-storage
msyyc Dec 9, 2025
8fc0807
Add Python to clientName for DeletedAccounts
msyyc Dec 9, 2025
f9c5bb9
fix: IntervalUnit
welovej Dec 9, 2025
4a7b6b0
Merge branch 'TspMig-storage' of https://github.com/welovej/azure-res…
welovej Dec 9, 2025
7d7b758
Update client.tsp
welovej Dec 9, 2025
798219e
Update StorageTaskAssignment.tsp
welovej Dec 9, 2025
fee759f
add config for python
msyyc Dec 10, 2025
bcd2c8f
add config for python
msyyc Dec 10, 2025
bee96eb
add config for python
msyyc Dec 10, 2025
32f8ca6
Merge branch 'main' into TspMig-storage
pshao25 Dec 12, 2025
294bc28
Update back-compatible.tsp
welovej Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
129 changes: 129 additions & 0 deletions specification/storage/Storage.Management/BlobContainer.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./BlobServiceProperties.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;

namespace Microsoft.Storage;
/**
* Properties of the blob container, including Id, resource name, resource type, Etag.
*/
@parentResource(BlobServiceProperties)
model BlobContainer
is Azure.ResourceManager.ProxyResource<ContainerProperties> {
...ResourceNameParameter<
Resource = BlobContainer,
KeyName = "containerName",
SegmentName = "containers",
NamePattern = ""
>;

/**
* Resource Etag.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@visibility(Lifecycle.Read)
etag?: string;
}

@armResourceOperations
interface BlobContainers {
/**
* Gets properties of a specified container.
*/
get is ArmResourceRead<BlobContainer, Error = ErrorResponse>;

/**
* Creates a new container under the specified account as described by request body. The container resource includes metadata and properties for that container. It does not include a list of the blobs contained by the container.
*/
create is ArmResourceCreateOrReplaceSync<
BlobContainer,
Error = ErrorResponse
>;

/**
* Updates container properties as specified in request body. Properties not mentioned in the request will be unchanged. Update fails if the specified container doesn't already exist.
*/
@patch(#{ implicitOptionality: false })
update is ArmCustomPatchSync<
BlobContainer,
PatchModel = BlobContainer,
Error = ErrorResponse
>;

/**
* Deletes specified container under its account.
*/
delete is ArmResourceDeleteSync<BlobContainer, Error = ErrorResponse>;

/**
* Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold follows an append pattern and does not clear out the existing tags that are not specified in the request.
*/
setLegalHold is ArmResourceActionSync<
BlobContainer,
LegalHold,
ArmResponse<LegalHold>,
Error = ErrorResponse
>;

/**
* Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent operation. ClearLegalHold clears out only the specified tags in the request.
*/
clearLegalHold is ArmResourceActionSync<
BlobContainer,
LegalHold,
ArmResponse<LegalHold>,
Error = ErrorResponse
>;

/**
* The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
*/
lease is ArmResourceActionSync<
BlobContainer,
LeaseContainerRequest,
ArmResponse<LeaseContainerResponse>,
Error = ErrorResponse,
OptionalRequestBody = true
>;

/**
* This operation migrates a blob container from container level WORM to object level immutability enabled container. Prerequisites require a container level immutability policy either in locked or unlocked state, Account level versioning must be enabled and there should be no Legal hold on the container.
*/
@action("migrate")
objectLevelWorm is ArmResourceActionAsync<
BlobContainer,
void,
{
@body body: void;
},
Error = CloudError,
LroHeaders = Azure.Core.Foundations.RetryAfterHeader &
ArmLroLocationHeader<FinalResult = void>
>;
}

@@maxLength(BlobContainer.name, 63);
@@minLength(BlobContainer.name, 3);
@@doc(BlobContainer.name,
"The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number."
);
@@doc(BlobContainer.properties, "Properties of the blob container.");
@@doc(BlobContainers.create::parameters.resource,
"Properties of the blob container to create."
);
@@doc(BlobContainers.update::parameters.properties,
"Properties to update for the blob container."
);
@@doc(BlobContainers.setLegalHold::parameters.body,
"The LegalHold property that will be set to a blob container."
);
@@doc(BlobContainers.clearLegalHold::parameters.body,
"The LegalHold property that will be clear from a blob container."
);
69 changes: 69 additions & 0 deletions specification/storage/Storage.Management/BlobInventoryPolicy.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./StorageAccount.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;

namespace Microsoft.Storage;
/**
* The storage account blob inventory policy.
*/
@parentResource(StorageAccount)
model BlobInventoryPolicy
is Azure.ResourceManager.ProxyResource<BlobInventoryPolicyProperties> {
...ResourceNameParameter<
Resource = BlobInventoryPolicy,
KeyName = "blobInventoryPolicyName",
SegmentName = "inventoryPolicies",
NamePattern = "",
Type = BlobInventoryPolicyName
>;
}

@armResourceOperations
interface BlobInventoryPolicies {
/**
* Gets the blob inventory policy associated with the specified storage account.
*/
get is ArmResourceRead<BlobInventoryPolicy, Error = CloudError>;

/**
* Sets the blob inventory policy to the specified storage account.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
createOrUpdate is ArmResourceCreateOrReplaceSync<
BlobInventoryPolicy,
Response = ArmResourceUpdatedResponse<BlobInventoryPolicy>,
Error = CloudError
>;

/**
* Deletes the blob inventory policy associated with the specified storage account.
*/
delete is ArmResourceDeleteSync<BlobInventoryPolicy, Error = CloudError>;

/**
* Gets the blob inventory policy associated with the specified storage account.
*/
list is ArmResourceListByParent<
BlobInventoryPolicy,
Response = ArmResponse<ListBlobInventoryPolicy>,
Error = ErrorResponse
>;
}

@@doc(BlobInventoryPolicy.name,
"The name of the storage account blob inventory policy. It should always be 'default'"
);
@@doc(BlobInventoryPolicy.properties,
"Returns the storage account blob inventory policy rules."
);
@@doc(BlobInventoryPolicies.createOrUpdate::parameters.resource,
"The blob inventory policy set to a storage account."
);
105 changes: 105 additions & 0 deletions specification/storage/Storage.Management/BlobServiceProperties.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./StorageAccount.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;

namespace Microsoft.Storage;
/**
* The properties of a storage account’s Blob service.
*/
@singleton("default")
@parentResource(StorageAccount)
model BlobServiceProperties
is Azure.ResourceManager.ProxyResource<BlobServicePropertiesProperties> {
...ResourceNameParameter<
Resource = BlobServiceProperties,
KeyName = "blobService",
SegmentName = "blobServices",
NamePattern = ""
>;

/**
* Sku name and tier.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@visibility(Lifecycle.Read)
sku?: Sku;
}

#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@armResourceOperations
interface BlobServices {
/**
* Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
*/
getServiceProperties is ArmResourceRead<
BlobServiceProperties,
Error = ErrorResponse
>;

/**
* Sets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
setServiceProperties is ArmResourceCreateOrReplaceSync<
BlobServiceProperties,
Response = ArmResourceUpdatedResponse<BlobServiceProperties>,
Error = ErrorResponse
>;

/**
* List blob services of storage account. It returns a collection of one object named default.
*/
list is ArmResourceListByParent<
BlobServiceProperties,
Response = ArmResponse<BlobServiceItems>,
Error = ErrorResponse
>;

/**
* Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token.
*/
@get
@list
@action("containers")
blobContainersList is ArmResourceActionSync<
BlobServiceProperties,
void,
ArmResponse<ListContainerItems>,
Parameters = {
/**
* Optional. Specified maximum number of containers that can be included in the list.
*/
@query("$maxpagesize")
$maxpagesize?: string;

/**
* Optional. When specified, only container names starting with the filter will be listed.
*/
@query("$filter")
$filter?: string;

/**
* Optional, used to include the properties for soft deleted blob containers.
*/
@query("$include")
$include?: ListContainersInclude;
},
Error = ErrorResponse
>;
}

@@doc(BlobServiceProperties.name, "");
@@doc(BlobServiceProperties.properties,
"The properties of a storage account’s Blob service."
);
@@doc(BlobServices.setServiceProperties::parameters.resource,
"The properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules."
);
43 changes: 43 additions & 0 deletions specification/storage/Storage.Management/DeletedAccount.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;

namespace Microsoft.Storage;
/**
* Deleted storage account
*/
@subscriptionResource
@parentResource(SubscriptionLocationResource)
model DeletedAccount
is Azure.ResourceManager.ProxyResource<DeletedAccountProperties> {
...ResourceNameParameter<
Resource = DeletedAccount,
KeyName = "deletedAccountName",
SegmentName = "deletedAccounts",
NamePattern = ""
>;
}

@armResourceOperations
interface DeletedAccounts {
/**
* Get properties of specified deleted account resource.
*/
get is ArmResourceRead<
DeletedAccount,
BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters,
Error = ErrorResponse
>;
}

@@maxLength(DeletedAccount.name, 24);
@@minLength(DeletedAccount.name, 3);
@@doc(DeletedAccount.name, "Name of the deleted storage account.");
@@doc(DeletedAccount.properties, "Properties of the deleted account.");
Loading
Loading