Skip to content

Commit

Permalink
[Hub Generated] Publish private branch 'ssivathas/Microsoft.MobileNet…
Browse files Browse the repository at this point in the history
…work-2022-11-01' (#21752)

* add or modify files

* Use "5Qi" as the schema to define Default QoS Flow 5G QoS Indicator value. (#9817)

On SIM policy we use the 'Default QoS Flow 5G QoS Indicator value', we were incorrectly using the '5QiPriorityLevel' schema (which is an interger between 1 and 127 as per https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/stable/2022-11-01/ts29571.json#L117. We should have used 5Qi - an integer between 0 and 255. We made a mistake when we first p ut this in and have no spotted it.

Even though changing the allowed values for a property is a breaking change, we think this is acceptable because:
1) This is our first stable API, there is no pre-existing stable API we need to be back-compatible with
2) 2022-04-01-preview to 2022-11-01 already contains breaking changes that we have discussed in https://eng.ms/docs/strategic-missions-and-technologies/strategic-missions-and-technologies-organization/azure-for-operators/packet-core/private-mobile-network/azure-private-5g-core/cross-team/releases/2022-11-01-arm-api/back-compatibility
3) We have one customer who may need to use values 128-255 -> if that customer does PUTs with the 2022-11-01 API then a GET with the 2022-04-01, it will fail, while this is sad, we think this is an acceptable risk.

* Update ICCID definition to support shorter ICCID (#9910)

GSM 11.1 Version 8 has been replaced by 3GPP TS 11.11, which itself has been replaced by 3GPP TS 102.211 Rel 16, and all of them share the same information for the definition of ICCID.

ISO/IEC 7812-1 2017, ITU-T E.118 - 05/2006 and 3GPP TS 102.211 all alllow ICCID/Primary Account Numbers which are shorter than 19 digits.

While ISO/IEC 7812-1 2017 and ITU-T E.118 - 05/2006 both require a maximum number of digits of 19, and GSM 11.11 is clear than 20 digits ICCID are allowed to be grandfathered in.

ITU-T E.118 - 05/2006 mandates that all new SIM cards use a prefix of 89, but allows 66 as a transitional mechanism for older SIM cards.

ISO/IEC 7812-1 2017 mandates a minimum length of 10 digits. No other specification comments on a minimum size, so we go with this.

The original validation was based on an incorrect reading of the specs, where 19 and 20 were assumed to be the only valid lengths, and the comment on the transitional mechanism was missed.

Even though changing the allowed values for a property is a breaking change, we think this is acceptable because:

1) This is our first stable API, there is no pre-existing stable API we need to be back-compatible with

2) 2022-04-01-preview to 2022-11-01 already contains breaking changes that we have discussed in https://eng.ms/docs/strategic-missions-and-technologies/strategic-missions-and-technologies-organization/azure-for-operators/packet-core/private-mobile-network/azure-private-5g-core/cross-team/releases/2022-11-01-arm-api/back-compatibility

3) We have customers who are currently blocked and having to work around this restriction, and it's acceptable for them to be unable to resubmit the data on the old API.

4) This is relaxing the restriction on a optional field, so the impact of this change is restricted anyway.

5) Not making this change leaves the product ill defined for ever.

* Remove reference to 2021-04-01-preview API in readme

* Fix python output-folder

* Update readme.python.md

Co-authored-by: Richard Whitehouse <github@richardwhiuk.com>
Co-authored-by: Andrew Lee <andrewlee@microsoft.com>
Co-authored-by: Yuchao Yan <yuchaoyan@microsoft.com>
  • Loading branch information
4 people authored Dec 8, 2022
1 parent e99a45d commit 63adf8a
Show file tree
Hide file tree
Showing 81 changed files with 10,350 additions and 2 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,343 @@
{
"swagger": "2.0",
"info": {
"title": "MobileNetworkManagementClient",
"description": "The resources in this API specification will be used to manage data network resources in mobile network to a particular packet core instance",
"version": "2022-11-01"
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
"description": "Azure Active Directory OAuth2 Flow.",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"paths": {
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}": {
"delete": {
"tags": [
"DataNetwork"
],
"operationId": "DataNetworks_Delete",
"description": "Deletes the specified data network.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./common.json#/parameters/MobileNetworkNameParameter"
},
{
"$ref": "./common.json#/parameters/DataNetworkNameParameter"
}
],
"responses": {
"200": {
"description": "Delete successful."
},
"202": {
"description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
},
"204": {
"description": "Request successful. Resource does not exist."
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Delete data network": {
"$ref": "./examples/DataNetworkDelete.json"
}
},
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
}
},
"get": {
"tags": [
"DataNetwork"
],
"operationId": "DataNetworks_Get",
"description": "Gets information about the specified data network.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./common.json#/parameters/MobileNetworkNameParameter"
},
{
"$ref": "./common.json#/parameters/DataNetworkNameParameter"
}
],
"responses": {
"200": {
"description": "Request successful. The operation returns the resulting data network resource.",
"schema": {
"$ref": "#/definitions/DataNetwork"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Get data network": {
"$ref": "./examples/DataNetworkGet.json"
}
}
},
"put": {
"tags": [
"DataNetwork"
],
"operationId": "DataNetworks_CreateOrUpdate",
"description": "Creates or updates a data network. Must be created in the same location as its parent mobile network.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./common.json#/parameters/MobileNetworkNameParameter"
},
{
"$ref": "./common.json#/parameters/DataNetworkNameParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DataNetwork"
},
"description": "Parameters supplied to the create or update data network operation."
}
],
"responses": {
"200": {
"description": "Update successful. The operation returns the resulting data network resource.",
"schema": {
"$ref": "#/definitions/DataNetwork"
}
},
"201": {
"description": "Create successful. The operation returns the resulting data network resource.",
"schema": {
"$ref": "#/definitions/DataNetwork"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Create data network": {
"$ref": "./examples/DataNetworkCreate.json"
}
},
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "azure-async-operation"
}
},
"patch": {
"tags": [
"DataNetwork"
],
"operationId": "DataNetworks_UpdateTags",
"description": "Updates data network tags.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./common.json#/parameters/MobileNetworkNameParameter"
},
{
"$ref": "./common.json#/parameters/DataNetworkNameParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
"$ref": "./common.json#/definitions/TagsObject"
},
"description": "Parameters supplied to update data network tags."
}
],
"responses": {
"200": {
"description": "Update successful. The operation returns the resulting data network resource.",
"schema": {
"$ref": "#/definitions/DataNetwork"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Update data network tags": {
"$ref": "./examples/DataNetworkUpdateTags.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/dataNetworks": {
"get": {
"tags": [
"DataNetworks"
],
"operationId": "DataNetworks_ListByMobileNetwork",
"description": "Lists all data networks in the mobile network.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./common.json#/parameters/MobileNetworkNameParameter"
}
],
"responses": {
"200": {
"description": "Request successful. The operation returns a list of data network resources.",
"schema": {
"$ref": "#/definitions/DataNetworkListResult"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"List data networks in a mobile network": {
"$ref": "./examples/DataNetworkListByMobileNetwork.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
}
},
"definitions": {
"DataNetwork": {
"type": "object",
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/DataNetworkPropertiesFormat",
"description": "Data network properties."
}
},
"allOf": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
}
],
"description": "Data network resource. Must be created in the same location as its parent mobile network."
},
"DataNetworkPropertiesFormat": {
"description": "Data network properties.",
"type": "object",
"properties": {
"provisioningState": {
"readOnly": true,
"$ref": "./common.json#/definitions/ProvisioningState",
"description": "The provisioning state of the data network resource."
},
"description": {
"type": "string",
"description": "An optional description for this data network."
}
}
},
"DataNetworkListResult": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/DataNetwork"
},
"description": "A list of data networks."
},
"nextLink": {
"type": "string",
"readOnly": true,
"description": "The URL to get the next set of results."
}
},
"description": "Response for data network API service call."
}
}
}
Loading

0 comments on commit 63adf8a

Please sign in to comment.