Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
61f38a8
Convert Swagger to TSP
melina5656 Oct 29, 2025
fb9e0ad
Merge branch 'main' into migration/search
melina5656 Oct 30, 2025
cbe0ee0
Fix diff and errors
melina5656 Nov 3, 2025
a87373a
Delete unnecessary decorators
melina5656 Nov 3, 2025
373890c
Fix Swagger Model Validation Errors
melina5656 Nov 3, 2025
6b50135
Test whether TSMV will report errors
melina5656 Nov 3, 2025
6d62c74
Revert "Test whether TSMV will report errors"
melina5656 Nov 3, 2025
c23b1fe
Add SecuredByPerimeter back
melina5656 Nov 3, 2025
eebd452
Update NetworkSecurityPerimeterConfiguration.tsp
melina5656 Nov 3, 2025
3cf172b
Revert "Update NetworkSecurityPerimeterConfiguration.tsp"
melina5656 Nov 3, 2025
5dc3180
Add missing x-ms-parameter-grouping
melina5656 Nov 10, 2025
c2558eb
Resolve conflicts and refactor folder
v-xuto Dec 8, 2025
269463e
run tsp compile command
melina5656 Dec 23, 2025
0228b3e
Merge branch 'main' into migration/search
melina5656 Dec 23, 2025
1f6682f
Replace custom NSPC resource model with CommonTypes.NspConfigurationR…
melina5656 Dec 24, 2025
7ca95b7
update
melina5656 Jan 4, 2026
e1773c2
Merge branch 'main' into migration/search
v-jiaodi Jan 8, 2026
1d766fa
Update client.tsp
ChenxiJiang333 Jan 9, 2026
96780e2
Remove unnecessary model
melina5656 Jan 13, 2026
c0138a2
run tsp compile command
melina5656 Jan 13, 2026
48e3d86
Merge branch 'main' into migration/search
jliusan Jan 13, 2026
0020c91
Update client.tsp
melina5656 Jan 13, 2026
0b95ef3
Test whether the name parameter can be removed.
melina5656 Jan 14, 2026
64af814
Merge branch 'main' into migration/search
melina5656 Jan 15, 2026
6001078
Replace the Operation template of NetworkSecurityPerimeterConfigurati…
melina5656 Jan 15, 2026
a1d43b2
Merge branch 'main' into migration/search
jliusan Jan 16, 2026
dfc680f
add go code
jliusan Jan 16, 2026
0e72f9d
update
melina5656 Jan 16, 2026
62e3e05
Merge branch 'migration/search' of https://github.com/Azure/azure-res…
melina5656 Jan 16, 2026
60f0287
add go config
jliusan Jan 16, 2026
be47091
Merge branch 'main' into migration/search
jliusan Jan 16, 2026
9229a67
add go config
jliusan Jan 16, 2026
110e2a7
Merge branch 'migration/search' of https://github.com/Azure/azure-res…
jliusan Jan 16, 2026
f62fe42
Merge branch 'main' into migration/search
v-jiaodi Jan 19, 2026
775d63e
Java config
XiaofeiCao Jan 19, 2026
34b4a3c
add go clientName
jliusan Jan 19, 2026
59b6c50
Merge branch 'migration/search' of https://github.com/Azure/azure-res…
jliusan Jan 19, 2026
5a52be9
update client name
v-jiaodi Jan 20, 2026
c8f7b13
Update client.tsp
ChenxiJiang333 Jan 20, 2026
8779e2e
re-enable generating test/sample for java
XiaofeiCao Jan 20, 2026
dc141fb
Exclude Python from customization for it does not support to wrap hea…
ChenxiJiang333 Jan 20, 2026
c84d1ce
Exclude JS for customization
v-jiaodi Jan 20, 2026
36f0197
Merge branch 'main' into migration/search
msyyc Jan 21, 2026
c30b91b
Enable compatibility-lro in tspconfig.yaml
v-jiaodi Jan 22, 2026
6ce0e32
Merge branch 'main' into migration/search
melina5656 Jan 23, 2026
5fccd9c
update
melina5656 Jan 23, 2026
2ad8e3c
add missing x-ms-parameter-grouping and x-ms-client-request-id
melina5656 Jan 26, 2026
4299548
Merge branch 'main' into migration/search
kazrael2119 Jan 28, 2026
a696f10
Remove compatibility-lro option from tspconfig.yaml
v-jiaodi Feb 2, 2026
fc25ab0
Add missing tags and visibility
melina5656 Feb 4, 2026
5661a63
Remove visibility
melina5656 Feb 4, 2026
451ead8
tsp compile
melina5656 Feb 4, 2026
5fc1b96
Merge branch 'main' into migration/search
pshao25 Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./SearchService.tsp";

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

namespace Microsoft.Search;
/**
* Network security perimeter (NSP) configuration resource
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
model NetworkSecurityPerimeterConfiguration
is CommonTypes.NspConfigurationResource<KeyName = "nspConfigName">;
alias NetworkSecurityPerimeterConfigurationOperations = NspConfigurations<
NetworkSecurityPerimeterConfiguration,
NspConfigurationKeyName = "nspConfigName"
>;

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

/**
* The name of the Azure AI Search service associated with the specified resource group.
*/
@path
@segment("searchServices")
@pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$")
searchServiceName: string,
},
{
/**
* The network security perimeter configuration name.
*/
@path
@segment("networkSecurityPerimeterConfigurations")
@minLength(38)
@maxLength(100)
@pattern("^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$")
nspConfigName: string,
}
> {}

@armResourceOperations
interface NetworkSecurityPerimeterConfigurations {
/**
* Gets a network security perimeter configuration.
*/
get is NetworkSecurityPerimeterConfigurationOperations.Read<
SearchService,
Error = CloudError
>;

/**
* Gets a list of network security perimeter configurations for a search service.
*/
listByService is NetworkSecurityPerimeterConfigurationOperations.ListByParent<
SearchService,
Error = CloudError
>;

/**
* Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration.
*/
reconcile is NetworkSecurityPerimeterConfigurationOperations.Action<
SearchService,
void,
Response = ArmAcceptedLroResponse<LroHeaders = ArmLroLocationHeader>,
Error = CloudError
>;
}

@@doc(NetworkSecurityPerimeterConfiguration.properties,
"Network security configuration properties."
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./SearchService.tsp";

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

namespace Microsoft.Search;
/**
* Describes an existing private endpoint connection to the Azure AI Search service.
*/
@parentResource(SearchService)
model PrivateEndpointConnection
is Azure.ResourceManager.ProxyResource<PrivateEndpointConnectionProperties> {
...ResourceNameParameter<
Resource = PrivateEndpointConnection,
KeyName = "privateEndpointConnectionName",
SegmentName = "privateEndpointConnections",
NamePattern = ""
>;
}

@armResourceOperations
interface PrivateEndpointConnections {
/**
* Gets the details of the private endpoint connection to the search service in the given resource group.
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@externalDocs("https://aka.ms/search-manage")
get is ArmResourceRead<
PrivateEndpointConnection,
Parameters = {
/**
* A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.
*/
#suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@format("uuid")
@header("x-ms-client-request-id")
@OpenAPI.extension(
"x-ms-parameter-grouping",
#{ name: "search-management-request-options" }
)
@OpenAPI.extension("x-ms-client-request-id", true)
clientRequestId?: string;
},
Error = CloudError
>;

/**
* Updates a private endpoint connection to the search service in the given resource group.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@externalDocs("https://aka.ms/search-manage")
update is ArmResourceCreateOrReplaceSync<
PrivateEndpointConnection,
Parameters = {
/**
* A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.
*/
#suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@format("uuid")
@header("x-ms-client-request-id")
@OpenAPI.extension(
"x-ms-parameter-grouping",
#{ name: "search-management-request-options" }
)
@OpenAPI.extension("x-ms-client-request-id", true)
clientRequestId?: string;
},
Response = ArmResourceUpdatedResponse<PrivateEndpointConnection>,
Error = CloudError
>;

/**
* Disconnects the private endpoint connection and deletes it from the search service.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@externalDocs("https://aka.ms/search-manage")
delete is ArmResourceDeleteSync<
PrivateEndpointConnection,
Parameters = {
/**
* A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.
*/
#suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@format("uuid")
@header("x-ms-client-request-id")
@OpenAPI.extension(
"x-ms-parameter-grouping",
#{ name: "search-management-request-options" }
)
@OpenAPI.extension("x-ms-client-request-id", true)
clientRequestId?: string;
},
Response = ArmResponse<PrivateEndpointConnection> | NotFoundResponse,
Error = CloudError
>;

/**
* Gets a list of all private endpoint connections in the given service.
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@externalDocs("https://aka.ms/search-manage")
listByService is ArmResourceListByParent<
PrivateEndpointConnection,
Parameters = {
/**
* A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.
*/
#suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@format("uuid")
@header("x-ms-client-request-id")
@OpenAPI.extension(
"x-ms-parameter-grouping",
#{ name: "search-management-request-options" }
)
@OpenAPI.extension("x-ms-client-request-id", true)
clientRequestId?: string;
},
Response = PrivateEndpointConnectionListResult,
Error = CloudError
>;
}

@@doc(PrivateEndpointConnection.name,
"The name of the private endpoint connection to the Azure AI Search service with the specified resource group."
);
@@doc(PrivateEndpointConnection.properties,
"Describes the properties of an existing private endpoint connection to the Azure AI Search service."
);
@@doc(PrivateEndpointConnections.update::parameters.resource,
"The definition of the private endpoint connection to update."
);
Loading
Loading