Skip to content

Commit

Permalink
[Communication] Adding 2022-02-01 NetworkTraversal API version for Ge…
Browse files Browse the repository at this point in the history
…neral Availability (#16946)

* Adding base-line 2022-02-01 swagger

* Making updates based on REST API feedback

* Comments
  • Loading branch information
ajpeacock0 authored Dec 8, 2021
1 parent 682ebc3 commit 1824478
Show file tree
Hide file tree
Showing 3 changed files with 211 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ input-file:
- preview/2021-10-08-preview/CommunicationNetworkTraversal.json
```

### Tag: package-2022-02-01

These settings apply only when `--tag=package-2022-02-01` is specified on the command line.

```yaml $(tag) == 'package-2022-02-01'
input-file:
- stable/2022-02-01/CommunicationNetworkTraversal.json
```

---

# Code Generation
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
{
"swagger": "2.0",
"info": {
"title": "CommunicationNetworkTraversalClient",
"description": "Azure Communication Network Traversal Service",
"version": "2022-02-01"
},
"paths": {
"/networkTraversal/:issueRelayConfiguration": {
"post": {
"tags": [
"Turn"
],
"summary": "Issue a configuration for an STUN/TURN server.",
"operationId": "CommunicationNetworkTraversal_IssueRelayConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"description": "Optional request for providing the id and/or route type for the returned relay configuration.",
"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 identity to be associated with telemetry for data relayed using the returned credentials. Must be an existing ACS user identity. If not provided, the telemetry will not contain an associated identity value.",
"type": "string"
},
"routeType": {
"description": "Filter the routing methodology returned. If not provided, will return all route types in separate ICE servers.",
"$ref": "#/definitions/RouteType"
}
}
},
"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": {
"$ref": "#/definitions/RouteType"
}
}
},
"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. Will be 48 hours from request time.",
"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"
}
}
}
},
"RouteType": {
"description": "The routing methodology to where the ICE server will be located from the client. \"any\" will have higher reliability while \"nearest\" will have lower latency. It is recommended to default to use the \"any\" routing method unless there are specific scenarios which minimizing latency is critical.",
"enum": [
"any",
"nearest"
],
"type": "string",
"x-ms-enum": {
"name": "RouteType",
"modelAsString": true
}
}
},
"parameters": {
"ApiVersionParameter": {
"in": "query",
"name": "api-version",
"description": "Version of API to invoke.",
"required": true,
"enum": [
"2022-02-01"
],
"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": "2022-02-01",
"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": "2022-01-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"
}
]
}
}
}
}

0 comments on commit 1824478

Please sign in to comment.