Skip to content

Commit

Permalink
Adding new API version that includes Anycast option (RouteType) (#16040)
Browse files Browse the repository at this point in the history
* Making user identity not required and adding Routype

* Make the request and routeType not to be required

* Update readme with new tags for API version

* Prettier fix for json

* Only making the AnyCast change. The non-identity will be a separate change

* Update removing identity requirement

* Update enum to correct version
  • Loading branch information
AriZavala2 authored Oct 7, 2021
1 parent b28a542 commit 2ebe584
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
{
"swagger": "2.0",
"info": {
"title": "CommunicationNetworkingClient",
"description": "Azure Communication Networking Service",
"version": "2021-10-08-preview"
},
"paths": {
"/networktraversal/:issueRelayConfiguration": {
"post": {
"tags": [
"Turn"
],
"summary": "Issue a configuration for an STUN/TURN server for an existing identity.",
"operationId": "CommunicationNetworkTraversal_IssueRelayConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/CommunicationRelayConfigurationRequest"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunicationRelayConfiguration"
}
},
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
}
},
"x-ms-examples": {
"Issue Relay Configuration": {
"$ref": "./examples/IssueRelayConfiguration.json"
}
}
}
}
},
"definitions": {
"CommunicationRelayConfigurationRequest": {
"description": "Request for a CommunicationRelayConfiguration.",
"type": "object",
"properties": {
"id": {
"description": "An existing ACS identity.",
"type": "string"
},
"routeType": {
"description": "The routing methodology to where the ICE server will be located from the client.",
"type": "string",
"default": "any",
"enum": [
"any",
"nearest"
]
}
}
},
"CommunicationIceServer": {
"description": "An instance of a STUN/TURN server with credentials to be used for ICE negotiation.",
"required": [
"credential",
"urls",
"username",
"routeType"
],
"type": "object",
"properties": {
"urls": {
"description": "List of STUN/TURN server URLs.",
"type": "array",
"items": {
"type": "string"
}
},
"username": {
"description": "User account name which uniquely identifies the credentials.",
"type": "string"
},
"credential": {
"description": "Credential for the server.",
"type": "string"
},
"routeType": {
"description": "The routing methodology to where the ICE server will be located from the client.",
"type": "string",
"enum": [
"any",
"nearest"
]
}
}
},
"CommunicationRelayConfiguration": {
"description": "A relay configuration containing the STUN/TURN URLs and credentials.",
"required": [
"expiresOn",
"iceServers"
],
"type": "object",
"properties": {
"expiresOn": {
"format": "date-time",
"description": "The date for which the username and credentials are not longer valid.",
"type": "string"
},
"iceServers": {
"description": "An array representing the credentials and the STUN/TURN server URLs for use in ICE negotiations.",
"type": "array",
"items": {
"$ref": "#/definitions/CommunicationIceServer"
}
}
}
}
},
"parameters": {
"ApiVersionParameter": {
"in": "query",
"name": "api-version",
"description": "Version of API to invoke.",
"required": true,
"enum": [
"2021-10-08-preview"
],
"type": "string"
}
},
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"flow": "implicit",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"x-ms-parameterized-host": {
"hostTemplate": "{endpoint}",
"useSchemePrefix": false,
"parameters": [
{
"name": "endpoint",
"description": "The communication resource, for example https://my-resource.communication.azure.com",
"required": true,
"type": "string",
"in": "path",
"x-ms-skip-url-encoding": true,
"x-ms-parameter-location": "client"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"parameters": {
"api-version": "2021-10-08-preview",
"content-type": "application/json",
"body": {
"id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
},
"endpoint": "https://my-resource.communication.azure.com"
},
"responses": {
"200": {
"body": {
"expiresOn": "2021-11-10T21:39:39.3244584+00:00",
"iceServers": [
{
"urls": [
"turn:131.107.255.255:3478",
"stun:131.107.255.255:3478"
],
"username": "AgAAJNOeygwB1uVGvuwAVMHV4PLhYDgY66Fg1dUZvQ4AAAAEhXrhc8uJFjOK8lxEsZk3KIpWxc0=",
"credential": "9rl8ablFWj6/aqSuPLgLykLZKqw=",
"routeType": "any"
}
]
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ input-file:
- preview/2021-06-21-preview/CommunicationNetworkTraversal.json
```

### Tag: package-2021-10-08-preview

These settings apply only when `--tag=package-2021-10-08-preview` is specified on the command line.

```yaml $(tag) == 'package-2021-10-08-preview'
input-file:
- preview/2021-10-08-preview/CommunicationNetworkTraversal.json
```

---

# Code Generation
Expand Down

0 comments on commit 2ebe584

Please sign in to comment.