Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
0fe2904
initial conversion of devcenter
Jul 22, 2025
8feceb7
update
mcgallan Jul 29, 2025
c38f95b
Merge remote-tracking branch 'upstream/main' into migration/devcenter
mcgallan Jul 29, 2025
489ce2f
update
mcgallan Jul 30, 2025
775893d
update
mcgallan Jul 30, 2025
b727d4e
update
mcgallan Jul 30, 2025
59514b1
update
mcgallan Jul 31, 2025
8d1efbf
update
mcgallan Jul 31, 2025
ab0e403
update
mcgallan Jul 31, 2025
7e20c63
update
mcgallan Jul 31, 2025
0ebdf3d
update
mcgallan Jul 31, 2025
7f3f9c5
update
mcgallan Jul 31, 2025
15da33f
update
mcgallan Jul 31, 2025
75a24b7
update
mcgallan Aug 1, 2025
e1465d4
update readme.md
mcgallan Aug 1, 2025
8e57667
example update
mcgallan Aug 1, 2025
0dc21a3
update example
mcgallan Aug 1, 2025
d1d905c
example update
mcgallan Aug 1, 2025
b4f826b
fix go failure
Aug 1, 2025
dd59e49
fix for python ci
msyyc Aug 1, 2025
ffef0b7
add python config for compat
msyyc Aug 4, 2025
afbe57c
update
Aug 5, 2025
4940ad5
config for python
msyyc Aug 5, 2025
684785f
fix breaking
Aug 5, 2025
07b7281
Merge branch 'main' into migration/devcenter
ArberH Aug 5, 2025
39f68de
java config
XiaofeiCao Aug 6, 2025
707fe5a
Change output swagger from openapi.json -> DevCenterRP.json
Aug 11, 2025
cf32009
Merge branch 'main' into migration/devcenter
mcgallan Aug 13, 2025
d210457
update
mcgallan Aug 13, 2025
ef8d1bd
Resolving suppressions due to missing documentation. Standardize docu…
Aug 12, 2025
8de3a54
Use correct suppression for closed literal union
Aug 14, 2025
e86bdd9
Fix LRO response headers to match our original spec
Aug 15, 2025
d0f8cd9
Remove models that are not referenced by our spec
Aug 15, 2025
0029790
Fixed: Use composition instead of inheritence for models extending Tr…
Aug 18, 2025
304dc32
Remove unneeded deprecated suppressions for property flattening
Aug 18, 2025
3847de8
Remove remainder of unneeded deprecated suppressions for property fla…
Aug 18, 2025
1ebd000
Add justifications for @azure-tools/typespec-azure-resource-manager/a…
Aug 18, 2025
016ed97
Add justification for using type Record<string> for resource tags pro…
Aug 18, 2025
228598d
Add justification for azure-tools/typespec-azure-resource-manager/arm…
Aug 18, 2025
038a206
Validate all utcDateTime type propreties match what is expected in spec.
Aug 19, 2025
534ba72
Add legacy API justification for @azure-tools/typespec-azure-core/no-…
Aug 19, 2025
1606b87
Add justification for casing style linter error
Aug 19, 2025
6777202
Add justification for @azure-tools/typespec-azure-resource-manager/ar…
Aug 22, 2025
a38de47
Add justification for @azure-tools/typespec-azure-resource-manager/no…
Aug 22, 2025
c5708e8
Add justification for @azure-tools/typespec-azure-core/composition-ov…
Aug 22, 2025
803d0dc
Add justification for @azure-tools/typespec-azure-resource-manager/ar…
Aug 22, 2025
7911b73
Add justification for @azure-tools/typespec-azure-core/no-unknown
Aug 22, 2025
c72fcb7
Add missing x-ms-identifiers decorators where missing
Aug 22, 2025
81ecf5d
Fix readme.md to point to correct swagger spec after rename
Aug 22, 2025
e7a0c25
Run linter
Aug 22, 2025
3b2d16b
Merge branch 'main' into migration/devcenter
Aug 22, 2025
e13e7b8
Temporarily rename to devcenter.json for ease of breaking change linter
Aug 25, 2025
451ffc7
Add back azure async opreation header to match to existing swagger
Aug 27, 2025
e46c1b6
Add back azure async opreation header to match existing swagger for l…
Aug 27, 2025
95475a9
Fix incorrect required properties and correctly set to readonly
Aug 27, 2025
b8ab9c6
Merge branch 'main' into migration/devcenter
Aug 27, 2025
7f28079
Make definitions.OperationStatus.properties.properties the same type …
Aug 27, 2025
e548de3
Switch to ARM common types V5
Aug 28, 2025
e6f29c6
Switch back to ARM common types V4 due to missing definition in new one
Aug 28, 2025
ef093c9
Run formater after all the changes
Aug 29, 2025
ea3c15a
Use recommended workaround for bug in open api validator
Sep 3, 2025
677dfaf
Apply workaround to correct tspconfig.yaml.
Sep 3, 2025
e47e116
Fix or suppress all linter issues
Sep 10, 2025
5e2e3b7
Undo change from npm install
Sep 10, 2025
d2bd3ca
Merge branch 'main' into migration/devcenter
Sep 10, 2025
d7a6789
Fight the tooling
Sep 10, 2025
5c5f1ea
Fight the linter
Sep 10, 2025
1ef5783
fight linter
Sep 10, 2025
22d9626
Linter
Sep 10, 2025
d92fc59
Typo
Sep 10, 2025
6da7c83
Remove spaces??
Sep 10, 2025
a5606d8
missing space
Sep 10, 2025
7bf2f4e
Linter
Sep 10, 2025
cc3b50e
Remove file suppressions to get back list of linter errors..
Sep 10, 2025
deeeb29
Try again with where clause.
Sep 10, 2025
36f195a
Try and fix AvoidAdditionalProperties linter error
Sep 10, 2025
820dc0d
fix spacing
Sep 10, 2025
f855985
Fix AvoidAdditionalProperties???
Sep 10, 2025
6baaed4
nope, try again
Sep 10, 2025
57b31c5
Wrong spot
Sep 10, 2025
ec50e34
Try node name
Sep 10, 2025
1d0fd05
Try suppression
Sep 10, 2025
f851cce
...
Sep 10, 2025
3f66ace
.... ..
Sep 10, 2025
82edee2
Finally suppressed node name description
Sep 10, 2025
170ebd5
Merge branch 'main' into migration/devcenter
mikeharder Sep 11, 2025
2dad5b3
Re-try the PatchBodyParametersSchema suppression
Sep 11, 2025
9e4e0ba
Merge branch 'migration/devcenter' of https://github.com/Azure/azure-…
Sep 11, 2025
7957326
resolve model duplicate
v-jiaodi Sep 12, 2025
6478404
Merge branch 'main' into migration/devcenter
Sep 12, 2025
416ffea
Switch back to global suppression for PatchBodyParametersSchema
Sep 12, 2025
00fc92f
Try and fix the new TypeSpec linter failures that propped up suddenly
Sep 12, 2025
704f3c0
Fix typespec-go emitter-output-dir value
Sep 12, 2025
eb52422
Try something new based on existing examples
Sep 12, 2025
54bf079
New regex issue?
Sep 12, 2025
31fae56
Remove a slash
Sep 12, 2025
bfd1a82
Try different scope
Sep 12, 2025
f359b2d
and for pool update?
Sep 12, 2025
329e18e
Fix scope
Sep 12, 2025
74a4a3a
try and fix GO sdk issue
Sep 15, 2025
f1b64fc
Fix emitter output dir
Sep 15, 2025
cd0e2b6
Im a mediator between two linters who are angry at one another
Sep 15, 2025
c0ba172
Merge branch 'main' into migration/devcenter
ArberH Sep 16, 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
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./Project.tsp";

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

namespace Microsoft.DevCenter;

@doc("Represents an allowed environment type.")
@parentResource(Project)
model AllowedEnvironmentType
is Azure.ResourceManager.ProxyResource<AllowedEnvironmentTypeProperties> {
...ResourceNameParameter<
Resource = AllowedEnvironmentType,
KeyName = "environmentTypeName",
SegmentName = "allowedEnvironmentTypes",
NamePattern = "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$"
>;
}

@armResourceOperations
interface AllowedEnvironmentTypes {
@doc("Gets an allowed environment type.")
get is ArmResourceRead<AllowedEnvironmentType>;

@doc("Lists allowed environment types for a project.")
list is ArmResourceListByParent<
AllowedEnvironmentType,
Parameters = {
@doc("The maximum number of resources to return from the operation. Example: '$top=10'.")
@query("$top")
$top?: int32;
},
Response = AllowedEnvironmentTypeListResult
>;
}

@@maxLength(AllowedEnvironmentType.name, 63);
@@minLength(AllowedEnvironmentType.name, 3);
@@doc(AllowedEnvironmentType.name, "The name of the environment type.");
@@doc(AllowedEnvironmentType.properties,
"Properties of an allowed environment type."
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./Project.tsp";

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

namespace Microsoft.DevCenter;

@doc("Represents an attached NetworkConnection.")
@parentResource(Project)
model AttachedNetworkConnection
is Azure.ResourceManager.ProxyResource<AttachedNetworkConnectionProperties> {
...ResourceNameParameter<
Resource = AttachedNetworkConnection,
KeyName = "attachedNetworkConnectionName",
SegmentName = "attachednetworks",
NamePattern = "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$"
>;
}

@armResourceOperations
interface AttachedNetworkConnectionOps
extends Azure.ResourceManager.Legacy.LegacyOperations<
{
...ApiVersionParameter,
...SubscriptionIdParameter,
...ResourceGroupParameter,
...Azure.ResourceManager.Legacy.Provider,

@doc("The name of the project.")
@path
@segment("projects")
@key
@pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$")
@minLength(3)
@maxLength(63)
projectName: string,
},
{
@doc("The name of the attached NetworkConnection.")
@path
@segment("attachednetworks")
@key
@pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$")
@minLength(3)
@maxLength(63)
attachedNetworkConnectionName: string,
}
> {}

@armResourceOperations
interface AttachedNetworkConnections {
@doc("Gets an attached NetworkConnection.")
getByProject is AttachedNetworkConnectionOps.Read<AttachedNetworkConnection>;

@doc("Lists the attached NetworkConnections for a Project.")
listByProject is AttachedNetworkConnectionOps.List<
AttachedNetworkConnection,
Parameters = {
@doc("The maximum number of resources to return from the operation. Example: '$top=10'.")
@query("$top")
$top?: int32;
},
Response = AttachedNetworkListResult
>;
}
@armResourceOperations
interface AttachedNetworkOps
extends Azure.ResourceManager.Legacy.LegacyOperations<
{
...ApiVersionParameter,
...SubscriptionIdParameter,
...ResourceGroupParameter,
...Azure.ResourceManager.Legacy.Provider,

@doc("The name of the devcenter.")
@path
@segment("devcenters")
@key
@pattern("^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$")
@minLength(3)
@maxLength(26)
devCenterName: string,
},
{
@doc("The name of the attached NetworkConnection.")
@path
@segment("attachednetworks")
@key
@pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$")
@minLength(3)
@maxLength(63)
attachedNetworkConnectionName: string,
}
> {}

@armResourceOperations
interface AttachedNetworks {
@doc("Gets an attached NetworkConnection.")
getByDevCenter is AttachedNetworkOps.Read<AttachedNetworkConnection>;

@doc("Creates or updates an attached NetworkConnection.")
createOrUpdate is AttachedNetworkOps.CreateOrUpdateAsync<AttachedNetworkConnection>;

@doc("Un-attach a NetworkConnection.")
delete is AttachedNetworkOps.DeleteWithoutOkAsync<
AttachedNetworkConnection,
LroHeaders = ArmLroLocationHeader
>;

@doc("Lists the attached NetworkConnections for a DevCenter.")
listByDevCenter is AttachedNetworkOps.List<
AttachedNetworkConnection,
Parameters = {
@doc("The maximum number of resources to return from the operation. Example: '$top=10'.")
@query("$top")
$top?: int32;
},
Response = AttachedNetworkListResult
>;
}

@@maxLength(AttachedNetworkConnection.name, 63);
@@minLength(AttachedNetworkConnection.name, 3);
@@doc(AttachedNetworkConnection.name,
"The name of the attached NetworkConnection."
);
@@doc(AttachedNetworkConnection.properties,
"Attached NetworkConnection properties."
);
@@doc(AttachedNetworks.createOrUpdate::parameters.resource,
"Represents an attached NetworkConnection."
);
Loading
Loading