-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Add Microsoft.AppLink API specs for 2025-08-01-preview (public preview) #40886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6c3cd47
3d8d9d9
6e51bc6
f8eb2fc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| import "@typespec/rest"; | ||
| import "@typespec/http"; | ||
| import "@azure-tools/typespec-azure-core"; | ||
| import "@azure-tools/typespec-azure-resource-manager"; | ||
| import "./commontypes.tsp"; | ||
|
|
||
| using Azure.ResourceManager; | ||
|
|
||
| namespace Microsoft.AppLink; | ||
|
|
||
| @doc("AppLink resource") | ||
| model AppLink is TrackedResource<AppLinkProperties> { | ||
| ...ResourceNameParameter<AppLink>; | ||
| ...ManagedServiceIdentityProperty; | ||
| } | ||
|
|
||
| @doc("AppLink properties") | ||
| model AppLinkProperties { | ||
| @doc("Provisioning state") | ||
| @visibility(Lifecycle.Read) | ||
| provisioningState?: ProvisioningState; | ||
| } | ||
|
|
||
| @armResourceOperations | ||
| interface AppLinks { | ||
| @doc("Get an AppLink.") | ||
| get is ArmResourceRead<AppLink>; | ||
| @doc("Create an AppLink.") | ||
| createOrUpdate is ArmResourceCreateOrReplaceAsync<AppLink>; | ||
| @doc("Update an AppLink.") | ||
| @Azure.Core.useFinalStateVia("azure-async-operation") | ||
| update is ArmResourcePatchAsync< | ||
| AppLink, | ||
| AppLinkProperties, | ||
| LroHeaders = ArmAsyncOperationHeader<FinalResult = AppLink> & | ||
| ArmLroLocationHeader<FinalResult = AppLink> & | ||
| Azure.Core.Foundations.RetryAfterHeader | ||
| >; | ||
| @doc("Delete an AppLink.") | ||
| delete is ArmResourceDeleteWithoutOkAsync<AppLink>; | ||
| @doc("List AppLink resources by resource group.") | ||
| listByResourceGroup is ArmResourceListByParent<AppLink>; | ||
| @doc("List AppLink resources by subscription.") | ||
| listBySubscription is ArmListBySubscription<AppLink>; | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,78 @@ | ||
| import "@typespec/rest"; | ||
| import "@typespec/http"; | ||
| import "@azure-tools/typespec-azure-core"; | ||
| import "@azure-tools/typespec-azure-resource-manager"; | ||
| import "@typespec/openapi"; | ||
|
|
||
| using TypeSpec.Rest; | ||
| using TypeSpec.Http; | ||
| using Azure.ResourceManager; | ||
|
|
||
| namespace Microsoft.AppLink; | ||
|
|
||
| @doc("AppLink available version resource") | ||
| @parentResource(ArmLocationResource<"Subscription">) | ||
| model AvailableVersion is ProxyResource<AvailableVersionProperties> { | ||
| ...ResourceNameParameter<AvailableVersion>; | ||
| } | ||
|
|
||
| @doc("AppLink available version properties") | ||
| model AvailableVersionProperties { | ||
| @doc("Kubernetes version") | ||
| kubernetesVersion: string; | ||
|
|
||
| @doc("Fully managed versions") | ||
| fullyManagedVersions: FullyManagedVersions; | ||
|
|
||
| @doc("Self managed versions") | ||
| selfManagedVersions: SelfManagedVersions; | ||
|
|
||
| @doc("Provisioning state") | ||
| @visibility(Lifecycle.Read) | ||
| provisioningState?: ProvisioningState; | ||
| } | ||
|
|
||
| @doc("Fully managed versions") | ||
| model FullyManagedVersions { | ||
| @doc("Release channels") | ||
| @identifiers(#["releaseChannel", "version"]) | ||
| releaseChannels: ReleaseChannelInfo[]; | ||
| } | ||
|
|
||
| @doc("Self managed versions") | ||
| model SelfManagedVersions { | ||
| @doc("Istio versions") | ||
| @identifiers(#["version", "upgrades"]) | ||
| versions: VersionInfo[]; | ||
| } | ||
|
|
||
| @doc("Release channel information") | ||
| model ReleaseChannelInfo { | ||
| @doc("Release channel") | ||
| releaseChannel: string; | ||
|
|
||
| @doc("Istio version behind release channel") | ||
| version: string; | ||
| } | ||
|
|
||
| @doc("Version information") | ||
| model VersionInfo { | ||
| @doc("Istio version") | ||
| version: string; | ||
|
|
||
| @doc("Available upgrades") | ||
| upgrades: string[]; | ||
| } | ||
|
|
||
| @armResourceOperations | ||
| interface AvailableVersions { | ||
| @doc("List AvailableVersion resources by location.") | ||
| listByLocation is ArmResourceListByParent< | ||
| Resource = AvailableVersion, | ||
| Parameters = { | ||
| @doc("Kubernetes version to filter profiles") | ||
| @query("kubernetesVersion") | ||
| kubernetesVersion?: string; | ||
| } | ||
| >; | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,169 @@ | ||
| import "@typespec/rest"; | ||
| import "@typespec/http"; | ||
| import "@typespec/openapi"; | ||
| import "@azure-tools/typespec-azure-core"; | ||
| import "@azure-tools/typespec-azure-resource-manager"; | ||
| import "./applink.tsp"; | ||
|
|
||
| using TypeSpec.Rest; | ||
| using Azure.Core; | ||
| using Azure.ResourceManager; | ||
|
|
||
| namespace Microsoft.AppLink; | ||
|
|
||
| @doc("AppLink Member resource") | ||
| @parentResource(AppLink) | ||
| model AppLinkMember is TrackedResource<AppLinkMemberProperties> { | ||
| ...ResourceNameParameter<AppLinkMember>; | ||
| } | ||
|
|
||
| @doc("AppLink Member properties") | ||
| model AppLinkMemberProperties { | ||
| @doc("Cluster type") | ||
| @visibility(Lifecycle.Create, Lifecycle.Read) | ||
| clusterType?: ClusterType; | ||
|
|
||
| @doc("AppLink Member Metadata") | ||
| metadata: Metadata; | ||
|
|
||
| @doc("Upgrade profile.") | ||
| upgradeProfile?: UpgradeProfile; | ||
|
|
||
| @doc("Observability profile") | ||
| observabilityProfile?: ObservabilityProfile; | ||
|
|
||
| @doc("Connectivity profile.") | ||
| connectivityProfile?: ConnectivityProfile; | ||
|
|
||
| @doc("Provisioning state") | ||
| @visibility(Lifecycle.Read) | ||
| provisioningState?: ProvisioningState; | ||
| } | ||
|
|
||
| @doc("AppLinkMember cluster type") | ||
| union ClusterType { | ||
| string, | ||
|
|
||
| @doc("Azure Kubernetes Service") | ||
| AKS: "AKS", | ||
| } | ||
|
|
||
| @doc("AppLinkMember metadata") | ||
| model Metadata { | ||
| @doc("Resource ID") | ||
| @visibility(Lifecycle.Create, Lifecycle.Read) | ||
| resourceId: Azure.Core.armResourceIdentifier; | ||
| } | ||
|
|
||
| @doc("AppLinkMember upgrade profile.") | ||
| model UpgradeProfile { | ||
| @doc("Upgrade mode.") | ||
| mode: UpgradeMode; | ||
|
|
||
| @doc("Fully managed upgrade profile.") | ||
| fullyManagedUpgradeProfile?: FullyManagedUpgradeProfile; | ||
|
|
||
| @doc("Self managed upgrade profile.") | ||
| selfManagedUpgradeProfile?: SelfManagedUpgradeProfile; | ||
| } | ||
|
|
||
| @doc("AppLinkMember upgrade release channel") | ||
| union UpgradeReleaseChannel { | ||
| string, | ||
|
|
||
| @doc("Rapid release channel") | ||
| Rapid: "Rapid", | ||
|
|
||
| @doc("Stable release channel") | ||
| Stable: "Stable", | ||
| } | ||
|
|
||
| @doc("AppLinkMember upgrade mode") | ||
| union UpgradeMode { | ||
| string, | ||
|
|
||
| @doc("Fully managed upgrade mode") | ||
| FullyManaged: "FullyManaged", | ||
|
|
||
| @doc("Self managed upgrade mode") | ||
| SelfManaged: "SelfManaged", | ||
| } | ||
|
|
||
| @doc("AppLinkMember fully managed upgrade profile") | ||
| model FullyManagedUpgradeProfile { | ||
| @doc("Release channel") | ||
| releaseChannel: UpgradeReleaseChannel; | ||
| } | ||
|
|
||
| @doc("AppLinkMember self managed upgrade profile") | ||
| model SelfManagedUpgradeProfile { | ||
| @doc("Istio version") | ||
| version: string; | ||
| } | ||
|
|
||
| @doc("AppLinkMember observability profile") | ||
| model ObservabilityProfile { | ||
| @doc("Metrics configuration") | ||
| metrics?: MetricsProfile; | ||
| } | ||
|
|
||
| @doc("AppLinkMember connectivity profile.") | ||
| model ConnectivityProfile { | ||
| @doc("East-West gateway profile.") | ||
| eastWestGateway?: EastWestGatewayProfile; | ||
|
|
||
| @doc("Private connect profile.") | ||
| privateConnect?: PrivateConnectProfile; | ||
| } | ||
|
|
||
| @doc("AppLinkMember private connect profile.") | ||
| model PrivateConnectProfile { | ||
| @doc("Delegated Subnet to AppLink.") | ||
| @visibility(Lifecycle.Read, Lifecycle.Create) | ||
| subnetResourceId: armResourceIdentifier; | ||
| } | ||
|
|
||
| @doc("AppLinkMember metrics profile") | ||
| model MetricsProfile { | ||
| @doc("Metrics endpoint URL") | ||
| @visibility(Lifecycle.Read) | ||
| metricsEndpoint?: string; | ||
| } | ||
|
|
||
| @doc("AppLinkMember east-west gateway profile.") | ||
| model EastWestGatewayProfile { | ||
| @doc("East-West gateway visibility.") | ||
| visibility: EastWestGatewayVisibility; | ||
| } | ||
|
|
||
| @doc("East-West gateway visibility.") | ||
| union EastWestGatewayVisibility { | ||
| string, | ||
|
|
||
| @doc("Use an internal load balancer for the east-west gateway.") | ||
| Internal: "Internal", | ||
|
|
||
| @doc("Use an external load balancer for the east-west gateway.") | ||
| External: "External", | ||
| } | ||
|
|
||
| @armResourceOperations | ||
| interface AppLinkMembers { | ||
| @doc("Get an AppLinkMember.") | ||
| get is ArmResourceRead<AppLinkMember>; | ||
| @doc("Create an AppLinkMember.") | ||
| createOrUpdate is ArmResourceCreateOrReplaceAsync<AppLinkMember>; | ||
| @doc("Update an AppLinkMember.") | ||
| @Azure.Core.useFinalStateVia("azure-async-operation") | ||
| update is ArmResourcePatchAsync< | ||
| AppLinkMember, | ||
| AppLinkMemberProperties, | ||
| LroHeaders = ArmAsyncOperationHeader<FinalResult = AppLinkMember> & | ||
| ArmLroLocationHeader<FinalResult = AppLinkMember> & | ||
| Azure.Core.Foundations.RetryAfterHeader | ||
| >; | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. According to swagger, properties parameter is |
||
| @doc("Delete an AppLinkMember.") | ||
| delete is ArmResourceDeleteWithoutOkAsync<AppLinkMember>; | ||
| @doc("List AppLinkMember resources by AppLink.") | ||
| listByAppLink is ArmResourceListByParent<AppLinkMember>; | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| import "@typespec/rest"; | ||
| import "@typespec/http"; | ||
| import "@azure-tools/typespec-azure-core"; | ||
| import "@azure-tools/typespec-azure-resource-manager"; | ||
| import "./applinkmember.tsp"; | ||
|
|
||
| using TypeSpec.Rest; | ||
| using Azure.ResourceManager; | ||
|
|
||
| namespace Microsoft.AppLink; | ||
|
|
||
| @doc("AppLinkMember upgrade history") | ||
| @parentResource(AppLinkMember) | ||
| model UpgradeHistory is ProxyResource<UpgradeHistoryProperties> { | ||
| ...ResourceNameParameter<UpgradeHistory>; | ||
| } | ||
|
|
||
| @doc("AppLinkMember upgrade history properties") | ||
| model UpgradeHistoryProperties { | ||
| @doc("Start timestamp") | ||
| startTimestamp: utcDateTime; | ||
|
|
||
| @doc("End timestamp") | ||
| endTimestamp?: utcDateTime; | ||
|
|
||
| @doc("Upgrade initiator") | ||
| initiatedBy: string; | ||
|
|
||
| @doc("Version upgraded from") | ||
| fromVersion: string; | ||
|
|
||
| @doc("Version upgraded to") | ||
| toVersion: string; | ||
|
|
||
| @doc("Provisioning state") | ||
| @visibility(Lifecycle.Read) | ||
| provisioningState?: ProvisioningState; | ||
| } | ||
|
|
||
| @armResourceOperations | ||
| interface UpgradeHistories { | ||
| @doc("List UpgradeHistory resources by AppLinkMember.") | ||
| listByAppLinkMember is ArmResourceListByParent<UpgradeHistory>; | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| import "@azure-tools/typespec-azure-resource-manager"; | ||
|
|
||
| using Azure.ResourceManager; | ||
|
|
||
| namespace Microsoft.AppLink; | ||
|
|
||
| @doc("Provisioning state of the resource") | ||
| union ProvisioningState { | ||
| ResourceProvisioningState, | ||
|
|
||
| @doc("Resource is getting provisioned.") | ||
| Provisioning: "Provisioning", | ||
|
|
||
| @doc("Resource is Updating.") | ||
| Updating: "Updating", | ||
|
|
||
| @doc("Resource is Deleting.") | ||
| Deleting: "Deleting", | ||
|
|
||
| @doc("Resource has been Accepted.") | ||
| Accepted: "Accepted", | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.