diff --git a/cSpell.json b/cSpell.json index 70eac5b8d3b0..bc6d4c65b5ea 100644 --- a/cSpell.json +++ b/cSpell.json @@ -1389,6 +1389,16 @@ "words": [ "systemversionname" ] + }, + { + "filename": "**/specification/iotoperations/resource-manager/Microsoft.IoTOperations/**/*.json", + "words": [ + "akri", + "opcua", + "websockets", + "opentelemetry", + "parquet" + ] } ], "enableFiletypes": [ @@ -1397,4 +1407,5 @@ "ignoreWords": [ "trafficcontrollerspec" ] + } diff --git a/specification/iotoperations/IoTOperations.Management/eng/README.md b/specification/iotoperations/IoTOperations.Management/eng/README.md new file mode 100644 index 000000000000..2abe447a6603 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/eng/README.md @@ -0,0 +1,26 @@ +# Developer Documentation + +## Pre-requisite + +run this in the root of the azure-rest-api-specs/-pr directory +```bash +npm i +``` +oav-generate +```bash +npm i -g oav +``` +typespec compiler +```bash +npm install -g @typespec/compiler +``` +## When contributing +When making changes to these specs please run this script before pushing changes to your remote branch. + ```bash + ./openapi-script.sh +``` + +The script will: +1. re-compile the typespec files +2. generate examples +3. prettify the directory \ No newline at end of file diff --git a/specification/iotoperations/IoTOperations.Management/eng/openapi-script.sh b/specification/iotoperations/IoTOperations.Management/eng/openapi-script.sh new file mode 100755 index 000000000000..c63bb5e967fe --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/eng/openapi-script.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +############################################################################################################ +# # +# Run this script in the /specifications/iotoperations directory to generate the specs and the examples. # +# # +############################################################################################################ +cd ../.. +if [ ! -d "resource-manager" ] || [ ! -d "IoTOperations.Management" ]; then + echo "Please run this script in the /specifications/iotoperations/IoTOperations.Management/eng directory." + exit 1 +fi + +echo "Deleting the examples in the resource-manager directory and the management directory..." +rm -r resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples +rm -r IoTOperations.Management/examples/2024-07-01-preview + +echo "Generating the specs and the examples!" + +# Compile all the typespecs the iotoperations directory +echo "Compiling the typespecs in the iotoperations directory..." +npx tsp compile IoTOperations.Management/. + +# Generate examples for all the openapi specs +echo "Generating examples for all the openapi specs..." +oav generate-examples resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/iotoperations.json --max -p + +# Search each example file and replace the default string with resource-name123 +for file in resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/*.json; do + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp ^[a-z0-9][a-z0-9-]*[a-z0-9]$" then "resource-name123" else . end)' $file > temp.json && mv temp.json $file + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp ^[0-9]+[KMGTPE]$" then "500M" else . end)' $file > temp.json && mv temp.json $file + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp ^https://.*$" then "https://www.example.com" else . end)' $file > temp.json && mv temp.json $file + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp .+\\..+\\.kusto\\.windows\\.net" then "..kusto.windows.net" else . end)' $file > temp.json && mv temp.json $file + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp .+\\.blob\\.core\\.windows\\.net" then ".blob.core.windows.net" else . end)' $file > temp.json && mv temp.json $file + jq 'walk(if type == "string" and . == "Replace this value with a string matching RegExp .+\\.fabric\\.microsoft\\.com" then "https://.fabric.microsoft.com" else . end)' $file > temp.json && mv temp.json $file +done + +for file in resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/*.json; do + + # The following Jq commands replace ids with properly formatted ARM Ids + operationId=$(jq -r '.operationId' $file) + if [[ $operationId == Instance* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("Instance") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == BrokerAuthentication* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("BrokerAuthentication") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == BrokerAuthorization* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("BrokerAuthorization") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == BrokerListener* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("BrokerListener") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == Broker* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("Broker") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == DataFlowProfile* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("DataFlowProfile") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == DataFlowEndpoint* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("DataFlowEndpoint") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + elif [[ $operationId == DataFlow* ]]; then + jq --arg operationId "$operationId" 'walk(if type == "object" and .id? then if $operationId | startswith("DataFlow") then .id = "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123" else . end else . end)' $file > temp.json && mv temp.json $file + fi + + # The following Jq command chops down numbers that are greater than 10000 to 10000, the OAV generate examples tool will not respect the min/max value required by typespec + jq 'walk(if type == "number" then . % 10000 else . end)' $file > temp.json && mv temp.json $file +done + +# Copy the examples to the management directory +echo "Copying the examples to the management directory..." +cp -r resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/. IoTOperations.Management/examples/2024-07-01-preview/ + +# Recompile the typespecs in the management directory +echo "Recompiling the typespecs in the management directory..." +npx tsp compile IoTOperations.Management/. +npx tsv IoTOperations.Management/. + +# Prettier +echo "Running prettier..." +npx prettier --write **/*.json + +echo "Completed generating the specs and the examples!" +echo "Done!" \ No newline at end of file diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..b76bc12772aa --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,99 @@ +{ + "title": "BrokerAuthentication_CreateOrUpdate", + "operationId": "BrokerAuthentication_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "authenticationName": "resource-name123", + "resource": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "gjfyvwhgwouiqfxml", + "type": "iebmxuxbwumiobejywgyh", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "gjfyvwhgwouiqfxml", + "type": "iebmxuxbwumiobejywgyh", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..49f7b362a747 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerAuthentication_Delete", + "operationId": "BrokerAuthentication_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authenticationName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..c779680e10ba --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_Get_MaximumSet_Gen.json @@ -0,0 +1,69 @@ +{ + "title": "BrokerAuthentication_Get", + "operationId": "BrokerAuthentication_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authenticationName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "Custom", + "custom": { + "auth": { + "x509": { + "secretRef": "hmuambcnwvar" + } + }, + "caCertConfigMap": "d", + "endpoint": "https://www.example.com", + "headers": { + "key3025": "tngcschtuoccvyvsg" + } + }, + "serviceAccountToken": { + "audiences": [ + "gznfb" + ] + }, + "x509Credentials": { + "authorizationAttributes": { + "key5349": { + "attributes": { + "key5251": "piumfpteiounuiqv" + }, + "subject": "p" + } + }, + "trustedClientCaCert": "sfmbypdtbszeyhoxvsopnecdjce" + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "hwolou", + "type": "rgmumpmxeeglhdkrrwcdxjdeujhp", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..05a1e07d1c51 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,73 @@ +{ + "title": "BrokerAuthentication_ListByResourceGroup", + "operationId": "BrokerAuthentication_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "authenticationMethods": [ + { + "method": "Custom", + "custom": { + "auth": { + "x509": { + "secretRef": "hmuambcnwvar" + } + }, + "caCertConfigMap": "d", + "endpoint": "https://www.example.com", + "headers": { + "key3025": "tngcschtuoccvyvsg" + } + }, + "serviceAccountToken": { + "audiences": [ + "gznfb" + ] + }, + "x509Credentials": { + "authorizationAttributes": { + "key5349": { + "attributes": { + "key5251": "piumfpteiounuiqv" + }, + "subject": "p" + } + }, + "trustedClientCaCert": "sfmbypdtbszeyhoxvsopnecdjce" + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "hwolou", + "type": "rgmumpmxeeglhdkrrwcdxjdeujhp", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/alyli" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..47ad1d20ccc9 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,180 @@ +{ + "title": "BrokerAuthorization_CreateOrUpdate", + "operationId": "BrokerAuthorization_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "authorizationName": "aio-authorization", + "resource": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "jsocsnglgrxciedpqzbm", + "type": "kqmazhisjkjwjyvumszgwr", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "jsocsnglgrxciedpqzbm", + "type": "kqmazhisjkjwjyvumszgwr", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..f3126dd5d02d --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerAuthorization_Delete", + "operationId": "BrokerAuthorization_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authorizationName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..08a11a23ba2a --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_Get_MaximumSet_Gen.json @@ -0,0 +1,73 @@ +{ + "title": "BrokerAuthorization_Get", + "operationId": "BrokerAuthorization_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authorizationName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "ufjfzlfkzxvietkdta" + ] + } + ], + "principals": { + "attributes": [ + { + "key6926": "lpwoezifckemegiuebzjwvovpxipf" + } + ], + "clientIds": [ + "qlcoamjpzpypbyvkuxbrjhqyqoev" + ], + "usernames": [ + "ongdzsvwnprbmlbnqfaep" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "avjoffuhzcloqjfihurd" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "tqywqrvxmsqlmcdkybpdohunegad", + "type": "k", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..3e2fc244ea50 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,77 @@ +{ + "title": "BrokerAuthorization_ListByResourceGroup", + "operationId": "BrokerAuthorization_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "ufjfzlfkzxvietkdta" + ] + } + ], + "principals": { + "attributes": [ + { + "key6926": "lpwoezifckemegiuebzjwvovpxipf" + } + ], + "clientIds": [ + "qlcoamjpzpypbyvkuxbrjhqyqoev" + ], + "usernames": [ + "ongdzsvwnprbmlbnqfaep" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "avjoffuhzcloqjfihurd" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "tqywqrvxmsqlmcdkybpdohunegad", + "type": "k", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/ah" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..8f28aef9778d --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,127 @@ +{ + "title": "BrokerListener_CreateOrUpdate", + "operationId": "BrokerListener_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "listenerName": "aio-listener", + "resource": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "jngsyyonj", + "type": "hkyuyjip", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "jngsyyonj", + "type": "hkyuyjip", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..1ba8efe43e53 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerListener_Delete", + "operationId": "BrokerListener_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "listenerName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..31deabecc9b0 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_Get_MaximumSet_Gen.json @@ -0,0 +1,76 @@ +{ + "title": "BrokerListener_Get", + "operationId": "BrokerListener_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "listenerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "brokerRef": "ofld", + "serviceName": "ammctfyuyvkqunypcelhayto", + "ports": [ + { + "authenticationRef": "upcrbms", + "authorizationRef": "otwijsqwttyrzijewibcpf", + "nodePort": 4182, + "port": 7270, + "protocol": "Mqtt", + "tls": { + "mode": "Automatic", + "automatic": { + "duration": "gcviebywhyldlnvny", + "secretRef": "nhuwochqqu", + "renewBefore": "uzkneoyhbdnfabfi", + "issuerRef": { + "apiGroup": "hg", + "kind": "Issuer", + "name": "aagzfwtghfxhloebzrf" + }, + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + }, + "san": { + "dns": [ + "ggjqlxyfxsigcidkcwthh" + ], + "ip": [ + "ebxvbeylyfwcwawy" + ] + } + }, + "manual": { + "secretRef": "hmuambcnwvar" + } + } + } + ], + "serviceType": "ClusterIp", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "lxekmxgbqxfkljhpdzdvyqtfkgne", + "type": "aardqfvncrqbkl", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..abb458912d73 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,80 @@ +{ + "title": "BrokerListener_ListByResourceGroup", + "operationId": "BrokerListener_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "brokerRef": "ofld", + "serviceName": "ammctfyuyvkqunypcelhayto", + "ports": [ + { + "authenticationRef": "upcrbms", + "authorizationRef": "otwijsqwttyrzijewibcpf", + "nodePort": 4182, + "port": 7270, + "protocol": "Mqtt", + "tls": { + "mode": "Automatic", + "automatic": { + "duration": "gcviebywhyldlnvny", + "secretRef": "nhuwochqqu", + "renewBefore": "uzkneoyhbdnfabfi", + "issuerRef": { + "apiGroup": "hg", + "kind": "Issuer", + "name": "aagzfwtghfxhloebzrf" + }, + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + }, + "san": { + "dns": [ + "ggjqlxyfxsigcidkcwthh" + ], + "ip": [ + "ebxvbeylyfwcwawy" + ] + } + }, + "manual": { + "secretRef": "hmuambcnwvar" + } + } + } + ], + "serviceType": "ClusterIp", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "lxekmxgbqxfkljhpdzdvyqtfkgne", + "type": "aardqfvncrqbkl", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..4352dbae0224 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,186 @@ +{ + "title": "Broker_CreateOrUpdate", + "operationId": "Broker_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "resource": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "dnpky", + "type": "tdsdsqy", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "dnpky", + "type": "tdsdsqy", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..509fc681f089 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "Broker_Delete", + "operationId": "Broker_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..61661b3277d9 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_Get_MaximumSet_Gen.json @@ -0,0 +1,192 @@ +{ + "title": "Broker_Get", + "operationId": "Broker_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "advanced": { + "clients": { + "maxSessionExpirySeconds": 718, + "maxMessageExpirySeconds": 9606, + "maxPacketSizeBytes": 8467, + "subscriberQueueLimit": { + "length": 10, + "strategy": "None" + }, + "maxReceiveMaximum": 8723, + "maxKeepAliveSeconds": 4156 + }, + "encryptInternalTraffic": "Enabled", + "internalCerts": { + "duration": "bfgfryciulvbliggoortlvr", + "renewBefore": "opimpidbutgqlbtxub", + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + } + } + }, + "cardinality": { + "backendChain": { + "partitions": 6, + "redundancyFactor": 3, + "workers": 4 + }, + "frontend": { + "replicas": 1, + "workers": 13 + } + }, + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + }, + "selfCheck": { + "mode": "Enabled", + "intervalSeconds": 65, + "timeoutSeconds": 115 + }, + "traces": { + "mode": "Enabled", + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "cacheSizeMegabytes": 74, + "selfTracing": { + "mode": "Enabled", + "intervalSeconds": 247 + }, + "spanChannelCapacity": 5351 + } + }, + "diskBackedMessageBuffer": { + "maxSize": "500M", + "ephemeralVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + }, + "persistentVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + } + }, + "generateResourceLimits": { + "cpu": "Enabled" + }, + "memoryProfile": "Tiny", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "gsjcgxduqgzipike", + "type": "dtesjpnsljjnsqyrbvenvupgrei", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..9906a30dbfa5 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Broker_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,196 @@ +{ + "title": "Broker_ListByResourceGroup", + "operationId": "Broker_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "advanced": { + "clients": { + "maxSessionExpirySeconds": 718, + "maxMessageExpirySeconds": 9606, + "maxPacketSizeBytes": 8467, + "subscriberQueueLimit": { + "length": 10, + "strategy": "None" + }, + "maxReceiveMaximum": 8723, + "maxKeepAliveSeconds": 4156 + }, + "encryptInternalTraffic": "Enabled", + "internalCerts": { + "duration": "bfgfryciulvbliggoortlvr", + "renewBefore": "opimpidbutgqlbtxub", + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + } + } + }, + "cardinality": { + "backendChain": { + "partitions": 6, + "redundancyFactor": 3, + "workers": 4 + }, + "frontend": { + "replicas": 1, + "workers": 13 + } + }, + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + }, + "selfCheck": { + "mode": "Enabled", + "intervalSeconds": 65, + "timeoutSeconds": 115 + }, + "traces": { + "mode": "Enabled", + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "cacheSizeMegabytes": 74, + "selfTracing": { + "mode": "Enabled", + "intervalSeconds": 247 + }, + "spanChannelCapacity": 5351 + } + }, + "diskBackedMessageBuffer": { + "maxSize": "500M", + "ephemeralVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + }, + "persistentVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + } + }, + "generateResourceLimits": { + "cpu": "Enabled" + }, + "memoryProfile": "Tiny", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "gsjcgxduqgzipike", + "type": "dtesjpnsljjnsqyrbvenvupgrei", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..aa74697f876e --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,323 @@ +{ + "title": "DataFlowEndpoint_CreateOrUpdate", + "operationId": "DataFlowEndpoint_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowEndpointName": "aio-dataflowendpoint", + "resource": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "kvyqxmrwwvxxvrlwyxfkxoebrapxbj", + "type": "dzbwcvsomwc", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "kvyqxmrwwvxxvrlwyxfkxoebrapxbj", + "type": "dzbwcvsomwc", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..07464f379231 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "DataFlowEndpoint_Delete", + "operationId": "DataFlowEndpoint_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowEndpointName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..2a3984382381 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_Get_MaximumSet_Gen.json @@ -0,0 +1,120 @@ +{ + "title": "DataFlowEndpoint_Get", + "operationId": "DataFlowEndpoint_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowEndpointName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "zipqedoloklkmcqpxuibdx" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "zslbhdourgqowweozamogd", + "audience": "ehayjzpsgdffrnot", + "tenantId": "dfydk" + }, + "accessTokenSecretRef": "jpqjkwysutfyvuwnyfhmz", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "fzhlzuooetcqdmadigfwriwphviww" + }, + "serviceAccountTokenSettings": { + "audience": "znsspspsxuwrief" + }, + "x509CredentialsSettings": { + "secretRef": "fklglrdbasansly" + } + }, + "dataExplorerSettings": { + "database": "qryxwqjzphziibqvaqxnjydr", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "cevagqe", + "workspaceName": "eyunjqhzymurngdrzkdrwgmrimtor" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "kafkaSettings": { + "consumerGroupId": "nperldnmednlhxvsghszhxn", + "host": "cmhf", + "batching": { + "mode": "Enabled", + "latencyMs": 5037, + "maxBytes": 9340, + "maxMessages": 1440 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "dfwyopnwceiovscydhmwbtx" + }, + "mqttSettings": { + "clientIdPrefix": "mvgwzqtpubttuubop", + "host": "scldnfs", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 2, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "ffqvwymhbrvgebqcwmqsehltvvg", + "type": "q", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..edd50aba5ac0 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,124 @@ +{ + "title": "DataFlowEndpoint_ListByResourceGroup", + "operationId": "DataFlowEndpoint_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "zipqedoloklkmcqpxuibdx" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "zslbhdourgqowweozamogd", + "audience": "ehayjzpsgdffrnot", + "tenantId": "dfydk" + }, + "accessTokenSecretRef": "jpqjkwysutfyvuwnyfhmz", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "fzhlzuooetcqdmadigfwriwphviww" + }, + "serviceAccountTokenSettings": { + "audience": "znsspspsxuwrief" + }, + "x509CredentialsSettings": { + "secretRef": "fklglrdbasansly" + } + }, + "dataExplorerSettings": { + "database": "qryxwqjzphziibqvaqxnjydr", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "cevagqe", + "workspaceName": "eyunjqhzymurngdrzkdrwgmrimtor" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "kafkaSettings": { + "consumerGroupId": "nperldnmednlhxvsghszhxn", + "host": "cmhf", + "batching": { + "mode": "Enabled", + "latencyMs": 5037, + "maxBytes": 9340, + "maxMessages": 1440 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "dfwyopnwceiovscydhmwbtx" + }, + "mqttSettings": { + "clientIdPrefix": "mvgwzqtpubttuubop", + "host": "scldnfs", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 2, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "ffqvwymhbrvgebqcwmqsehltvvg", + "type": "q", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..e46e0c0132f1 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,122 @@ +{ + "title": "DataFlowProfile_CreateOrUpdate", + "operationId": "DataFlowProfile_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowProfileName": "aio-dataflowprofile", + "resource": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18 + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "qoettseeorbtnsqzdzkmj", + "type": "rltomirbvapltbpcylgaaiggq", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "qoettseeorbtnsqzdzkmj", + "type": "rltomirbvapltbpcylgaaiggq", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..2689d125365c --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "DataFlowProfile_Delete", + "operationId": "DataFlowProfile_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..504186fa5cc6 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_Get_MaximumSet_Gen.json @@ -0,0 +1,53 @@ +{ + "title": "DataFlowProfile_Get", + "operationId": "DataFlowProfile_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + } + }, + "instanceCount": 11, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "wmizscdvqvcfg", + "type": "ivzeddzrgvws", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..db0e1bd9934b --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,57 @@ +{ + "title": "DataFlowProfile_ListByResourceGroup", + "operationId": "DataFlowProfile_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + } + }, + "instanceCount": 11, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "wmizscdvqvcfg", + "type": "ivzeddzrgvws", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..d0ad46827b82 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,297 @@ +{ + "title": "DataFlow_CreateOrUpdate", + "operationId": "DataFlow_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowProfileName": "aio-dataflowprofile", + "dataflowName": "aio-dataflow", + "resource": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "gyhhonqupjblolottsc", + "type": "xqjpfgdfqgmytza", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "gyhhonqupjblolottsc", + "type": "xqjpfgdfqgmytza", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..89f4815a77f4 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "DataFlow_Delete", + "operationId": "DataFlow_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123", + "dataflowName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..2d8484717f9f --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_Get_MaximumSet_Gen.json @@ -0,0 +1,93 @@ +{ + "title": "DataFlow_Get", + "operationId": "DataFlow_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123", + "dataflowName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "profileRef": "h", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "mzsyyckfxkuecqpgxourj", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "iquwslkcsddrpjqhkatjorpnwybalv", + "datasets": [ + { + "key": "fgslszriwchznvjydbconkrtzdxldrwlunpqoadczdmqnabxywdcyokj", + "description": "lehdddjyukzjqqciijnkczkmklqmzezgxxexobrmeexcwlndtqrovrvkvmzunkkebcuskgmkdupdgzenfvecudxfmjwthdkxuhgbbufhbywmuugjarcddfexdkscgmfhzpiiagxppouojfmqpmqilkgmyucinkvtizyrqbfkrnomlpkwszdpppljbutpelvgstdnoqdokidoxdpuuouhsjmwvcmlaqwxechzhxzjvbakhcrw", + "schemaRef": "vyhrhx", + "inputs": [ + "wyfp" + ], + "expression": "ydmktuqxarxdjmltlyiovfxsxuqdnq" + } + ], + "filter": [ + { + "type": "Filter", + "description": "jhksyeejywqhdweyihyywdsxyunhqtfjcggizhbrekdfrjivhmcrnysvgofldikjsqqgfjbjhcaoshiobddkniuopgrnwpjppkzjkabwdnubsewneazspszkdkthjhtfrnsesyuvvugzqdwyhwjpbgnegvednpakwsaffn", + "inputs": [ + "uin" + ], + "expression": "eper" + } + ], + "map": [ + { + "type": "NewProperties", + "description": "imkfxmpiezcoiyoiqwhsgpyolqmniooyvebadiliehwqaugzybkmwmdrjgyrriobdiiqzc", + "inputs": [ + "rrhvbnhoazabbusaefxpxclcegy" + ], + "expression": "jxsrdawm", + "output": "fywtzxu" + } + ] + }, + "destinationSettings": { + "endpointRef": "wsmsuyckxpwseqfubvlwk", + "dataDestination": "ikbycqkyxsbipxevcejielyyhrr" + }, + "sourceSettings": { + "endpointRef": "xljazggvhupxuvngerfylh", + "assetRef": "h", + "serializationFormat": "Json", + "schemaRef": "umjtstyjymuu", + "dataSources": [ + "odfjclitpgccnyhsvqvttxipcvowx" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "ohoyaghdanwsuqjtfqqpyuvbcdpin", + "type": "fcamndvgrybv", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_ListByProfileResource_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_ListByProfileResource_MaximumSet_Gen.json new file mode 100644 index 000000000000..3aad84f657b3 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/DataFlow_ListByProfileResource_MaximumSet_Gen.json @@ -0,0 +1,97 @@ +{ + "title": "DataFlow_ListByProfileResource", + "operationId": "DataFlow_ListByProfileResource", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "profileRef": "h", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "mzsyyckfxkuecqpgxourj", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "iquwslkcsddrpjqhkatjorpnwybalv", + "datasets": [ + { + "key": "fgslszriwchznvjydbconkrtzdxldrwlunpqoadczdmqnabxywdcyokj", + "description": "lehdddjyukzjqqciijnkczkmklqmzezgxxexobrmeexcwlndtqrovrvkvmzunkkebcuskgmkdupdgzenfvecudxfmjwthdkxuhgbbufhbywmuugjarcddfexdkscgmfhzpiiagxppouojfmqpmqilkgmyucinkvtizyrqbfkrnomlpkwszdpppljbutpelvgstdnoqdokidoxdpuuouhsjmwvcmlaqwxechzhxzjvbakhcrw", + "schemaRef": "vyhrhx", + "inputs": [ + "wyfp" + ], + "expression": "ydmktuqxarxdjmltlyiovfxsxuqdnq" + } + ], + "filter": [ + { + "type": "Filter", + "description": "jhksyeejywqhdweyihyywdsxyunhqtfjcggizhbrekdfrjivhmcrnysvgofldikjsqqgfjbjhcaoshiobddkniuopgrnwpjppkzjkabwdnubsewneazspszkdkthjhtfrnsesyuvvugzqdwyhwjpbgnegvednpakwsaffn", + "inputs": [ + "uin" + ], + "expression": "eper" + } + ], + "map": [ + { + "type": "NewProperties", + "description": "imkfxmpiezcoiyoiqwhsgpyolqmniooyvebadiliehwqaugzybkmwmdrjgyrriobdiiqzc", + "inputs": [ + "rrhvbnhoazabbusaefxpxclcegy" + ], + "expression": "jxsrdawm", + "output": "fywtzxu" + } + ] + }, + "destinationSettings": { + "endpointRef": "wsmsuyckxpwseqfubvlwk", + "dataDestination": "ikbycqkyxsbipxevcejielyyhrr" + }, + "sourceSettings": { + "endpointRef": "xljazggvhupxuvngerfylh", + "assetRef": "h", + "serializationFormat": "Json", + "schemaRef": "umjtstyjymuu", + "dataSources": [ + "odfjclitpgccnyhsvqvttxipcvowx" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "ohoyaghdanwsuqjtfqqpyuvbcdpin", + "type": "fcamndvgrybv", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..8711b9bf6bbb --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,84 @@ +{ + "title": "Instance_CreateOrUpdate", + "operationId": "Instance_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "resource": { + "properties": { + "description": "ferqjhhlqtx" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "AIO instance description.", + "provisioningState": "Succeeded", + "version": "0.6.0-preview-rc20240715.1" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "jvxyquuoyhdawdumes", + "type": "kme", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "description": "AIO instance description.", + "provisioningState": "Succeeded", + "version": "0.6.0-preview-rc20240715.1" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "jvxyquuoyhdawdumes", + "type": "kme", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Delete_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..614c6d59c50c --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Delete_MaximumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "title": "Instance_Delete", + "operationId": "Instance_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Get_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..1d4dd60ea9a7 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Get_MaximumSet_Gen.json @@ -0,0 +1,40 @@ +{ + "title": "Instance_Get", + "operationId": "Instance_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..396915bbd913 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,44 @@ +{ + "title": "Instance_ListByResourceGroup", + "operationId": "Instance_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListBySubscription_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListBySubscription_MaximumSet_Gen.json new file mode 100644 index 000000000000..4243464e887f --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_ListBySubscription_MaximumSet_Gen.json @@ -0,0 +1,43 @@ +{ + "title": "Instance_ListBySubscription", + "operationId": "Instance_ListBySubscription", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Update_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..43ed9e1be256 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Instance_Update_MaximumSet_Gen.json @@ -0,0 +1,45 @@ +{ + "title": "Instance_Update", + "operationId": "Instance_Update", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "properties": { + "tags": { + "key8200": "ijklhmbbeamptlxisakjmnhz" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Operations_List_MaximumSet_Gen.json b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Operations_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..a9cc7a2eea2b --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/examples/2024-07-01-preview/Operations_List_MaximumSet_Gen.json @@ -0,0 +1,28 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "kgvgowurhqfmnx", + "isDataAction": true, + "display": { + "provider": "f", + "resource": "ttxugtzapiztloyviobflcnhhbbgu", + "operation": "qra", + "description": "zugierph" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/IoTOperations.Management/main.tsp b/specification/iotoperations/IoTOperations.Management/main.tsp new file mode 100644 index 000000000000..d98ea9212209 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/main.tsp @@ -0,0 +1,117 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +import "./models/base.tsp"; +import "./models/auth.tsp"; +import "./models/instance.tsp"; +import "./models/broker/brokers.tsp"; +import "./models/broker/authentications.tsp"; +import "./models/broker/authorizations.tsp"; +import "./models/broker/listeners.tsp"; +import "./models/dataflows/dataflowEndpoints.tsp"; +import "./models/dataflows/dataflowProfiles.tsp"; +import "./models/dataflows/dataflows.tsp"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using TypeSpec.OpenAPI; +using Azure.Core; +using Azure.ResourceManager; + +#suppress "@azure-tools/typespec-azure-core/casing-style" +@armProviderNamespace +@service({ + title: "Microsoft.IoTOperations management service.", +}) +@doc("Microsoft.IoTOperations Resource Provider management API.") +@versioned(Versions) +namespace Microsoft.IoTOperations; + +/** Api versions */ +enum Versions { + /** 2024-07-01-preview version */ + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + `2024-07-01-preview`, +} + +interface Operations extends Azure.ResourceManager.Operations {} + +// /instances resource Operations +@armResourceOperations +interface Instance { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + update is ArmTagsPatchSync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; + listBySubscription is ArmListBySubscription; +} + +// /instances/brokers resource Operations +@armResourceOperations +interface Broker { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} + +// /instances/brokers/listeners resource Operations +@armResourceOperations +interface BrokerListener { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} + +// /instances/brokers/authentications resource Operations +@armResourceOperations +interface BrokerAuthentication { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} + +// /instances/brokers/authorizations resource Operations +@armResourceOperations +interface BrokerAuthorization { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} +// /instances/dataflowProfiles resource Operations +@armResourceOperations +interface DataFlowProfile { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} + +// /instance/dataflowProfiles/dataflows resource Operations +@armResourceOperations +interface DataFlow { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + #suppress "@azure-tools/typespec-azure-core/no-operation-id" "For backward compatibility" + @operationId("DataFlow_ListByProfileResource") + listByResourceGroup is ArmResourceListByParent; +} + +// /instance/dataflowEndpoints resource Operations +@armResourceOperations +interface DataFlowEndpoint { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrUpdateAsync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} diff --git a/specification/iotoperations/IoTOperations.Management/models/auth.tsp b/specification/iotoperations/IoTOperations.Management/models/auth.tsp new file mode 100644 index 000000000000..6c3216565962 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/auth.tsp @@ -0,0 +1,121 @@ +import "@azure-tools/typespec-azure-resource-manager"; + +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** + * + * Dataflow Authentication Models + */ +@doc("DataFlowEndpoint Authentication SystemAssignedManagedIdentity properties") +model DataFlowEndpointAuthenticationSystemAssignedManagedIdentity { + @doc("Audience of the service to authenticate against. Optional; defaults to the audience for Service host configuration.") + audience: string; +} + +@doc("DataFlowEndpoint Authentication UserAssignedManagedIdentity properties") +model DataFlowEndpointAuthenticationUserAssignedManagedIdentity { + @doc("Client ID for the user-assigned managed identity.") + clientId: string; + + @doc("Resource identifier (application ID URI) of the resource, affixed with the .default suffix.") + audience: string; + + @doc("Tenant ID.") + tenantId: string; +} + +@doc("DataFlowEndpoint Authentication Sasl properties") +model DataFlowEndpointAuthenticationSasl { + @doc("Type of SASL authentication. Can be PLAIN, SCRAM-SHA-256, or SCRAM-SHA-512.") + saslType: DataFlowEndpointAuthenticationSaslType; + + @doc("Token secret name.") + tokenSecretRef: string; +} + +@doc("DataFlowEndpoint Authentication Sasl Type properties") +union DataFlowEndpointAuthenticationSaslType { + string, + + @doc("PLAIN Type") + Plain: "Plain", + + @doc("SCRAM_SHA_256 Type") + ScramSha256: "ScramSha256", + + @doc("SCRAM_SHA_512 Type") + ScramSha512: "ScramSha512", +} + +@doc("Service Account Token for BrokerAuthentication") +model DataFlowEndpointAuthenticationServiceAccountToken { + @doc("Audience of the service account. Optional, defaults to the broker internal service account audience.") + audience: string; +} + +@doc("DataFlowEndpoint Authentication X509 properties") +model DataFlowEndpointAuthenticationX509 { + @doc("Secret reference of the X.509 certificate.") + secretRef: string; +} + +/** + * + * Broker Authentication Models + */ +@doc("Service Account Token for BrokerAuthentication") +model BrokerAuthenticatorMethodSat { + @doc("List of allowed audience.") + audiences: string[]; +} + +@doc("Custom method for BrokerAuthentication") +model BrokerAuthenticatorMethodCustom { + @doc("Optional authentication needed for authenticating with the custom authentication server.") + auth?: BrokerAuthenticatorCustomAuth; + + @doc("Optional CA certificate for validating the custom authentication server's certificate.") + caCertConfigMap?: string; + + @doc("Endpoint of the custom authentication server. Must be an HTTPS endpoint.") + @pattern("^https://.*$") + endpoint: url; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("Additional HTTP headers to pass to the custom authentication server.") + headers?: Record; +} + +@doc("Custom Authentication properties") +model BrokerAuthenticatorCustomAuth { + @doc("X509 Custom Auth type details.") + x509: X509ManualCertificate; +} + +@doc("X509 Certificate Authentication properties.") +model X509ManualCertificate { + @doc("Kubernetes secret containing an X.509 client certificate. This is a reference to the secret through an identifying name, not the secret itself.") + secretRef: string; +} + +@doc("X509 for BrokerAuthentication.") +model BrokerAuthenticatorMethodX509 { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("X509 authorization attributes properties.") + authorizationAttributes?: Record; + + @doc("Name of the trusted client ca cert resource.") + trustedClientCaCert?: string = "client-ca"; +} + +@doc("BrokerAuthenticatorMethodX509Attributes properties.") +model BrokerAuthenticatorMethodX509Attributes { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("Attributes object.") + attributes: Record; + + @doc("Subject of the X509 attribute.") + subject: string; +} diff --git a/specification/iotoperations/IoTOperations.Management/models/base.tsp b/specification/iotoperations/IoTOperations.Management/models/base.tsp new file mode 100644 index 000000000000..aaa4875031c1 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/base.tsp @@ -0,0 +1,186 @@ +import "@azure-tools/typespec-azure-resource-manager"; + +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +@doc("Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.") +model ExtendedLocation { + @doc("The name of the extended location.") + name: string; + + @doc("Type of ExtendedLocation.") + type: ExtendedLocationType; +} + +@doc("The enum defining type of ExtendedLocation accepted.") +union ExtendedLocationType { + string, + + @doc("CustomLocation type") + "CustomLocation", +} + +@doc("The enum defining status of resource.") +union ProvisioningState { + string, + 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", +} + +@doc("Mode properties") +union OperationalMode { + string, + + @doc("Enabled is equivalent to True") + Enabled: "Enabled", + + @doc("Disabled is equivalent to False.") + Disabled: "Disabled", +} + +@doc("Diagnostic Log properties") +model DiagnosticsLogs { + @doc("The open telemetry export configuration.") + opentelemetryExportConfig?: OpenTelemetryLogExportConfig; + + @doc("The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.") + level?: string = "info"; +} + +@doc("OpenTelemetry Log Export Configuration properties") +model OpenTelemetryLogExportConfig { + ...OpenTelemetryExportConfig; + + @doc("The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.") + level?: string = "error"; +} + +@doc("OpenTelemetry Export Configuration properties") +model OpenTelemetryExportConfig { + @doc("The open telemetry collector endpoint to export to.") + otlpGrpcEndpoint: string; + + @doc("How often to export the metrics to the open telemetry collector.") + @minValue(1) + @maxValue(300) + intervalSeconds?: int32 = 30; +} + +@doc("Diagnostic Metrics properties") +model Metrics { + @doc("The open telemetry export configuration.") + opentelemetryExportConfig?: OpenTelemetryExportConfig; + + @doc("The prometheus port to expose the metrics.") + @minValue(0) + @maxValue(65535) + prometheusPort?: int32 = 9600; +} + +@doc("Metric properties") +model MetricProperties { + @doc("Diagnostic log settings for the resource.") + logs?: DiagnosticsLogs; + + @doc("The metrics settings for the resource.") + metrics?: Metrics; +} + +@doc("Diagnostic Self tracing properties") +model SelfTracing { + @doc("The toggle to enable/disable self tracing.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("The self tracing interval.") + @minValue(1) + @maxValue(300) + intervalSeconds?: int32 = 30; +} + +@doc("Batching configuration") +model BatchingConfiguration { + @doc("Batching latency in seconds.") + @minValue(0) + @maxValue(65535) + latencySeconds?: int32 = 60; + + @doc("Maximum number of messages in a batch.") + @minValue(0) + @maxValue(4294967295) + maxMessages?: int32 = 100000; +} + +@doc("Tls properties") +model TlsProperties { + @doc("Mode for TLS.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("Trusted CA certificate config map.") + trustedCaCertificateConfigMapRef?: string; +} + +@doc("Broker Protocol types") +union BrokerProtocolType { + string, + + @doc("protocol broker") + Mqtt: "Mqtt", + + @doc("protocol websocket") + WebSockets: "WebSockets", +} + +@doc("Kubernetes reference") +model KubernetesReference { + ...LocalKubernetesReference; + + @doc("Namespace is the namespace of the resource being referenced. This field is required when the resource has a namespace.") + `namespace`?: string; +} + +@doc("Kubernetes reference") +model LocalKubernetesReference { + @doc("APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.") + apiGroup?: string; + + @doc("Kind is the type of resource being referenced") + kind: string; + + @doc("Name is the name of resource being referenced") + name: string; +} + +@doc("Cert-Manager issuerRef properties") +model CertManagerIssuerRef { + @doc("group of issuer.") + apiGroup: string = "cert-manager.io"; + + @doc("kind of issuer (Issuer or ClusterIssuer).") + kind: CertManagerIssuerKind; + + @doc("name of issuer.") + name: string; +} + +@doc("CertManagerIssuerKind properties") +union CertManagerIssuerKind { + string, + + @doc("Issuer kind.") + Issuer: "Issuer", + + @doc("ClusterIssuer kind.") + ClusterIssuer: "ClusterIssuer", +} diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp new file mode 100644 index 000000000000..df1e74023e2d --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp @@ -0,0 +1,73 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** + * broker authentication resource type model details. + */ +@doc("Instance broker authentication resource") +@parentResource(BrokerResource) +model BrokerAuthenticationResource + is ProxyResource { + @doc("Name of Instance broker authentication resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("authenticationName") + @path + @minLength(3) + @maxLength(63) + @segment("authentications") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("BrokerAuthentication Resource properties") +model BrokerAuthenticationProperties { + @doc("Defines a set of Broker authentication methods to be used on `BrokerListeners`. For each array element one authenticator type supported.") + @OpenAPI.extension("x-ms-identifiers", []) + authenticationMethods: BrokerAuthenticatorMethods[]; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Set of broker authentication policies. Only one method is supported for each entry.") +model BrokerAuthenticatorMethods { + @doc("Custom authentication configuration.") + method: BrokerAuthenticationMethod; + + @doc("Custom authentication configuration.") + custom?: BrokerAuthenticatorMethodCustom; + + @doc("ServiceAccountToken authentication configuration.") + serviceAccountToken?: BrokerAuthenticatorMethodSat; + + @doc("X.509 authentication configuration.") + x509Credentials?: BrokerAuthenticatorMethodX509; +} + +@doc("Broker Authentication Mode") +union BrokerAuthenticationMethod { + string, + + @doc("Custom authentication configuration.") + Custom: "Custom", + + @doc("ServiceAccountToken authentication configuration.") + ServiceAccountToken: "ServiceAccountToken", + + @doc("X.509 authentication configuration.") + X509Credentials: "X509Credentials", +} diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp new file mode 100644 index 000000000000..57b4d13f7afc --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp @@ -0,0 +1,144 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** + * broker authorization resource type model details. + */ +@doc("Instance broker authorizations resource") +@parentResource(BrokerResource) +model BrokerAuthorizationResource + is ProxyResource { + @doc("Name of Instance broker authorization resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("authorizationName") + @path + @minLength(3) + @maxLength(63) + @segment("authorizations") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("BrokerAuthorization Resource properties") +model BrokerAuthorizationProperties { + @doc("The list of authorization policies supported by the Authorization Resource.") + authorizationPolicies: AuthorizationConfig; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Broker AuthorizationConfig properties") +model AuthorizationConfig { + @doc("Enable caching of the authorization rules.") + cache?: OperationalMode = OperationalMode.Enabled; + + @doc("The authorization rules to follow. If no rule is set, but Authorization Resource is used that would mean DenyAll.") + @OpenAPI.extension("x-ms-identifiers", []) + rules?: AuthorizationRule[]; +} + +@doc("AuthorizationConfig Rule Properties") +model AuthorizationRule { + @doc("Give access to Broker methods and topics.") + @OpenAPI.extension("x-ms-identifiers", []) + brokerResources: BrokerResourceRule[]; + + @doc("Give access to clients based on the following properties.") + principals: PrincipalDefinition; + + @doc("Give access to state store resources.") + @OpenAPI.extension("x-ms-identifiers", []) + stateStoreResources?: StateStoreResourceRule[]; +} + +@doc("PrincipalDefinition properties of Rule") +model PrincipalDefinition { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.") + @OpenAPI.extension("x-ms-identifiers", []) + attributes?: Record[] = #[]; + + @doc("A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.") + clientIds?: string[] = #[]; + + @doc("A list of usernames that match the clients. The usernames are case-sensitive and must match the usernames provided by the clients during authentication.") + usernames?: string[] = #[]; +} + +@doc("Broker Resource Rule properties. This defines the objects that represent the actions or topics, such as - method.Connect, method.Publish, etc.") +model BrokerResourceRule { + @doc("Give access for a Broker method (i.e., Connect, Subscribe, or Publish).") + method: BrokerResourceDefinitionMethods; + + @doc("A list of topics or topic patterns that match the topics that the clients can publish or subscribe to. This subfield is required if the method is Publish or Subscribe.") + topics?: string[] = #[]; +} + +@doc("BrokerResourceDefinitionMethods methods allowed") +union BrokerResourceDefinitionMethods { + string, + + @doc("Allowed Connecting to Broker") + Connect: "Connect", + + @doc("Allowed Publishing to Broker") + Publish: "Publish", + + @doc("Allowed Subscribing to Broker") + Subscribe: "Subscribe", +} + +@doc("State Store Resource Rule properties.") +model StateStoreResourceRule { + @doc("Allowed keyTypes pattern, string, binary. The key type used for matching, for example pattern tries to match the key to a glob-style pattern and string checks key is equal to value provided in keys.") + keyType: StateStoreResourceKeyTypes; + + @doc("Give access to state store keys for the corresponding principals defined. When key type is pattern set glob-style pattern (e.g., '*', 'clients/*').") + keys: string[]; + + @doc("Give access for `Read`, `Write` and `ReadWrite` access level.") + method: StateStoreResourceDefinitionMethods; +} + +@doc("StateStoreResourceKeyTypes properties") +union StateStoreResourceKeyTypes { + string, + + @doc("Key type - pattern") + Pattern: "Pattern", + + @doc("Key type - string") + String: "String", + + @doc("Key type - binary") + Binary: "Binary", +} + +@doc("StateStoreResourceDefinitionMethods methods allowed") +union StateStoreResourceDefinitionMethods { + string, + + @doc("Get/KeyNotify from Store") + Read: "Read", + + @doc("Set/Delete in Store") + Write: "Write", + + @doc("Allowed all operations on Store - Get/KeyNotify/Set/Delete") + ReadWrite: "ReadWrite", +} diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp new file mode 100644 index 000000000000..a3cd53d8af7f --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp @@ -0,0 +1,389 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** + * broker resource type model details. + */ +@doc("Instance broker resource") +@parentResource(InstanceResource) +model BrokerResource is ProxyResource { + @doc("Name of broker.") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("brokerName") + @path + @minLength(3) + @maxLength(63) + @segment("brokers") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("Broker Resource properties") +model BrokerProperties { + @visibility("read", "create") + @doc("Advanced settings of Broker.") + advanced?: AdvancedSettings; + + @visibility("read", "create") + @doc("The cardinality details of the broker.") + cardinality?: Cardinality; + + @doc("Spec defines the desired identities of Broker diagnostics settings.") + diagnostics?: BrokerDiagnostics; + + @visibility("read", "create") + @doc("Settings of Disk Backed Message Buffer.") + diskBackedMessageBuffer?: DiskBackedMessageBuffer; + + @visibility("read", "create") + @doc("This setting controls whether Kubernetes CPU resource limits are requested. Increasing the number of replicas or workers proportionally increases the amount of CPU resources requested. If this setting is enabled and there are insufficient CPU resources, an error will be emitted.") + generateResourceLimits?: GenerateResourceLimits; + + @visibility("read", "create") + @doc("Memory profile of Broker.") + memoryProfile?: BrokerMemoryProfile = BrokerMemoryProfile.Medium; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Broker Advanced Settings") +model AdvancedSettings { + @doc("Configurations related to All Clients.") + clients?: ClientConfig; + + @doc("The setting to enable or disable encryption of internal Traffic.") + encryptInternalTraffic?: OperationalMode = OperationalMode.Enabled; + + @doc("Certificate rotation and private key configuration.") + internalCerts?: CertManagerCertOptions; +} + +@doc("Cardinality properties") +model Cardinality { + @doc("The backend broker desired properties") + backendChain: BackendChain; + + @doc("The frontend desired properties") + frontend: Frontend; +} + +@doc("Desired properties of the backend instances of the broker") +model BackendChain { + @doc("The desired number of physical backend partitions.") + @minValue(1) + @maxValue(16) + partitions: int32; + + @doc("The desired numbers of backend replicas (pods) in a physical partition.") + @minValue(1) + @maxValue(5) + redundancyFactor: int32; + + @doc("Number of logical backend workers per replica (pod).") + @minValue(1) + @maxValue(16) + workers?: int32 = 1; +} + +@doc("The desired properties of the frontend instances of the Broker") +model Frontend { + @doc("The desired number of frontend instances (pods).") + @minValue(1) + @maxValue(16) + replicas: int32; + + @doc("Number of logical frontend workers per instance (pod).") + @minValue(1) + @maxValue(16) + workers?: int32 = 2; +} + +@doc("Broker Diagnostic Setting properties") +model BrokerDiagnostics { + ...MetricProperties; + + @doc("The self check properties.") + selfCheck?: SelfCheck; + + @doc("The trace properties.") + traces?: Traces; +} + +@doc("Broker Diagnostic Self check properties") +model SelfCheck { + @doc("The toggle to enable/disable self check.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("The self check interval.") + @minValue(30) + @maxValue(300) + intervalSeconds?: int32 = 30; + + @doc("The timeout for self check.") + @minValue(5) + @maxValue(120) + timeoutSeconds?: int32 = 15; +} + +@doc("Broker Diagnostic Trace properties") +model Traces { + @doc("The toggle to enable/disable traces.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("The open telemetry export configuration.") + opentelemetryExportConfig?: OpenTelemetryExportConfig; + + @doc("The cache size in megabytes.") + @minValue(1) + @maxValue(128) + cacheSizeMegabytes?: int32 = 16; + + @doc("The self tracing properties.") + selfTracing?: SelfTracing; + + @doc("The span channel capacity.") + @minValue(1000) + @maxValue(100000) + spanChannelCapacity?: int32 = 1000; +} + +@doc("DiskBackedMessageBuffer properties") +model DiskBackedMessageBuffer { + @doc("The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See for details.") + @pattern("^[0-9]+[KMGTPE]$") + maxSize: string; + + @doc("Use the specified persistent volume claim template to mount a \"generic ephemeral volume\" for the message buffer. See for details.") + ephemeralVolumeClaimSpec?: VolumeClaimSpec; + + @doc("Use the specified persistent volume claim template to mount a persistent volume for the message buffer.") + persistentVolumeClaimSpec?: VolumeClaimSpec; +} + +@doc("VolumeClaimSpec properties") +model VolumeClaimSpec { + @doc("VolumeName is the binding reference to the PersistentVolume backing this claim.") + volumeName?: string; + + @doc("volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is a beta feature.") + volumeMode?: string; + + @doc("Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1") + storageClassName?: string; + + @doc("AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") + @OpenAPI.extension("x-ms-identifiers", []) + accessModes?: string[]; + + @doc("This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.") + dataSource?: LocalKubernetesReference; + + @doc("Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.") + dataSourceRef?: KubernetesReference; + + @doc("Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources") + resources?: VolumeClaimResourceRequirements; + + @doc("A label query over volumes to consider for binding.") + selector?: VolumeClaimSpecSelector; +} + +@doc("VolumeClaimResourceRequirements properties") +model VolumeClaimResourceRequirements { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + limits?: Record; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + requests?: Record; +} + +@doc("VolumeClaimSpecSelector properties") +model VolumeClaimSpecSelector { + @doc("MatchExpressions is a list of label selector requirements. The requirements are ANDed.") + @OpenAPI.extension("x-ms-identifiers", []) + matchExpressions?: VolumeClaimSpecSelectorMatchExpressions[]; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" + @doc("MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.") + matchLabels?: Record; +} + +@doc("VolumeClaimSpecSelectorMatchExpressions properties") +model VolumeClaimSpecSelectorMatchExpressions { + @doc("key is the label key that the selector applies to.") + key: string; + + @doc("operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.") + operator: OperatorValues; + + @doc("values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.") + values?: string[]; +} + +@doc("Valid operators are In, NotIn, Exists and DoesNotExist.") +union OperatorValues { + string, + + @doc("In operator.") + In: "In", + + @doc("NotIn operator.") + NotIn: "NotIn", + + @doc("Exists operator.") + Exists: "Exists", + + @doc("DoesNotExist operator.") + DoesNotExist: "DoesNotExist", +} + +@doc("GenerateResourceLimits properties") +model GenerateResourceLimits { + @doc("The toggle to enable/disable cpu resource limits.") + cpu?: OperationalMode = OperationalMode.Enabled; +} + +@doc("Cert Manager Cert properties") +model CertManagerCertOptions { + @doc("Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.") + duration: string; + + @doc("When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.") + renewBefore: string; + + @doc("Configuration of certificate private key.") + privateKey: CertManagerPrivateKey; +} + +@doc("Cert Manager private key properties") +model CertManagerPrivateKey { + @doc("algorithm for private key.") + algorithm: PrivateKeyAlgorithm; + + @doc("cert-manager private key rotationPolicy.") + rotationPolicy: PrivateKeyRotationPolicy; +} + +@doc("Private key algorithm types.") +union PrivateKeyAlgorithm { + string, + + @doc("Algorithm - ec256.") + Ec256: "Ec256", + + @doc("Algorithm - ec384.") + Ec384: "Ec384", + + @doc("Algorithm - ec521.") + Ec521: "Ec521", + + @doc("Algorithm - ed25519.") + Ed25519: "Ed25519", + + @doc("Algorithm - rsa2048.") + Rsa2048: "Rsa2048", + + @doc("Algorithm - rsa4096.") + Rsa4096: "Rsa4096", + + @doc("Algorithm - rsa8192.") + Rsa8192: "Rsa8192", +} + +@doc("Private key rotation policy.") +union PrivateKeyRotationPolicy { + string, + + @doc("Rotation Policy - Always.") + Always: "Always", + + @doc("Rotation Policy - Never.") + Never: "Never", +} + +@doc("The memory profile settings of the Broker") +union BrokerMemoryProfile { + string, + + @doc("Tiny memory profile.") + Tiny: "Tiny", + + @doc("Low memory profile.") + Low: "Low", + + @doc("Medium memory profile.") + Medium: "Medium", + + @doc("High memory profile.") + High: "High", +} + +@doc("The settings of Client Config.") +model ClientConfig { + @doc("Upper bound of Session Expiry Interval, in seconds.") + @minValue(1) + @maxValue(4294967295) + maxSessionExpirySeconds?: int32; + + @doc("Upper bound of Message Expiry Interval, in seconds.") + @minValue(1) + @maxValue(4294967295) + maxMessageExpirySeconds?: int32; + + @doc("Max message size for a packet in Bytes.") + @minValue(1) + @maxValue(268435456) + maxPacketSizeBytes?: int32; + + @doc("The limit on the number of queued messages for a subscriber.") + subscriberQueueLimit?: SubscriberQueueLimit; + + @doc("Upper bound of Receive Maximum that a client can request in the CONNECT packet.") + @minValue(1) + @maxValue(65535) + maxReceiveMaximum?: int32; + + @doc("Upper bound of a client's Keep Alive, in seconds.") + @minValue(0) + @maxValue(65535) + maxKeepAliveSeconds?: int32; +} + +@doc("The settings of Subscriber Queue Limit.") +model SubscriberQueueLimit { + @doc("The maximum length of the queue before messages start getting dropped.") + @minValue(1) + @maxValue(9223372036854775807) + length?: int64; + + @doc("The strategy to use for dropping messages from the queue.") + strategy?: SubscriberMessageDropStrategy = SubscriberMessageDropStrategy.None; +} + +@doc("The enum defining strategies for dropping messages from the subscriber queue.") +union SubscriberMessageDropStrategy { + string, + + @doc("Messages are never dropped.") + None: "None", + + @doc("The oldest message is dropped.") + DropOldest: "DropOldest", +} diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp new file mode 100644 index 000000000000..2d9928731464 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp @@ -0,0 +1,143 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; +/** + * broker listener resource type model details. + */ +@doc("Instance broker resource") +@parentResource(BrokerResource) +model BrokerListenerResource is ProxyResource { + @doc("Name of Instance broker listener resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("listenerName") + @path + @minLength(3) + @maxLength(63) + @segment("listeners") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("Defines a Broker listener. A listener is a collection of ports on which the broker accepts connections from clients.") +model BrokerListenerProperties { + @doc("Broker associated with this listener.") + brokerRef: string; + + @doc("Kubernetes Service name of this listener.") + serviceName?: string = "aio-mq-dmqtt-frontend"; + + @doc("Ports on which this listener accepts client connections.") + @OpenAPI.extension("x-ms-identifiers", ["port"]) + ports: ListenerPort[]; + + @doc("Kubernetes Service type of this listener.") + serviceType?: ServiceType = ServiceType.ClusterIp; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Kubernetes Service Types supported by Listener") +union ServiceType { + string, + + @doc("Cluster IP Service.") + ClusterIp: "ClusterIp", + + @doc("Load Balancer Service.") + LoadBalancer: "LoadBalancer", + + @doc("Node Port Service.") + NodePort: "NodePort", +} + +@doc("Defines a TCP port on which a `BrokerListener` listens.") +model ListenerPort { + @doc("Reference to client authentication settings. Omit to disable authentication.") + authenticationRef?: string; + + @doc("Reference to client authorization settings. Omit to disable authorization.") + authorizationRef?: string; + + @doc("Kubernetes node port. Only relevant when this port is associated with a `NodePort` listener.") + @minValue(0) + @maxValue(65535) + nodePort?: int32; + + @doc("TCP port for accepting client connections.") + @minValue(0) + @maxValue(65535) + port: int32; + + @doc("Protocol to use for client connections.") + protocol?: BrokerProtocolType = BrokerProtocolType.Mqtt; + + @doc("TLS server certificate settings for this port. Omit to disable TLS.") + tls?: TlsCertMethod; +} + +@doc("Collection of different TLS types, NOTE- Enum at a time only one of them needs to be supported") +model TlsCertMethod { + @doc("Mode of TLS server certificate management.") + mode: TlsCertMethodMode; + + @doc("Option 1 - Automatic TLS server certificate management with cert-manager.") + automatic?: AutomaticCertMethod; + + @doc("Option 2 - Manual TLS server certificate management through a defined secret.") + manual?: X509ManualCertificate; +} + +@doc("Broker Authentication Mode") +union TlsCertMethodMode { + string, + + @doc("Automatic TLS server certificate configuration.") + Automatic: "Automatic", + + @doc("Manual TLS server certificate configuration.") + Manual: "Manual", +} + +@doc("Automatic TLS server certificate management with cert-manager") +model AutomaticCertMethod { + @doc("Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.") + duration?: string; + + @doc("Secret for storing server certificate. Any existing data will be overwritten. This is a reference to the secret through an identifying name, not the secret itself.") + secretRef?: string; + + @doc("When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.") + renewBefore?: string; + + @doc("cert-manager issuerRef.") + issuerRef: CertManagerIssuerRef; + + @doc("Type of certificate private key.") + privateKey?: CertManagerPrivateKey; + + @doc("Additional Subject Alternative Names (SANs) to include in the certificate.") + san?: SanForCert; +} + +@doc("Subject Alternative Names (SANs) for certificate.") +model SanForCert { + @doc("DNS SANs.") + dns: string[] = #[]; + + @doc("IP address SANs.") + ip: string[] = #[]; +} diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp new file mode 100644 index 000000000000..c19ec4cc449f --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp @@ -0,0 +1,338 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** ******************* */ +/** + * dataflowEndpoint resource type model details. + */ +@doc("Instance dataflowEndpoint resource") +@parentResource(InstanceResource) +model DataFlowEndpointResource is ProxyResource { + @doc("Name of Instance dataflowEndpoint resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("dataflowEndpointName") + @path + @minLength(3) + @maxLength(63) + @segment("dataflowEndpoints") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("DataFlowEndpoint Resource properties. NOTE - Only one type of endpoint is supported for one Resource") +model DataFlowEndpointProperties { + @doc("Endpoint Type.") + endpointType: EndpointType; + + @doc("Authentication configuration.") + authentication: DataFlowEndpointAuthentication; + + @doc("Azure Data Explorer endpoint.") + dataExplorerSettings?: DataFlowEndpointDataExplorer; + + @doc("Azure Data Lake endpoint.") + dataLakeStorageSettings?: DataFlowEndpointDataLakeStorage; + + @doc("Microsoft Fabric endpoint.") + fabricOneLakeSettings?: DataFlowEndpointFabricOneLake; + + @doc("Kafka endpoint.") + kafkaSettings?: DataFlowEndpointKafka; + + @doc("Local persistent volume endpoint.") + localStorageSettings?: DataFlowEndpointLocalStorage; + + @doc("Broker endpoint.") + mqttSettings?: DataFlowEndpointMqtt; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("DataFlowEndpoint Type properties") +union EndpointType { + string, + + @doc("Azure Data Explorer Type") + DataExplorer: "DataExplorer", + + @doc("Azure Data Lake Type") + DataLakeStorage: "DataLakeStorage", + + @doc("Microsoft Fabric Type") + FabricOneLake: "FabricOneLake", + + @doc("Kafka Type") + Kafka: "Kafka", + + @doc("Local Storage Type") + LocalStorage: "LocalStorage", + + @doc("Broker Type") + Mqtt: "Mqtt", +} + +@doc("Azure Data Explorer endpoint properties") +model DataFlowEndpointDataExplorer { + @doc("Database name.") + database: string; + + @doc("Host of the Azure Data Explorer in the form of ..kusto.windows.net .") + @pattern(".+\\..+\\.kusto\\.windows\\.net") + host: string; + + @doc("Azure Data Explorer endpoint batching configuration.") + batching?: BatchingConfiguration; +} + +@doc("Azure Data Explorer Authentication properties. NOTE - only authentication property is allowed per entry.") +model DataFlowEndpointAuthentication { + @doc("Mode of Authentication.") + method: AuthenticationMethod; + + @doc("System-assigned managed identity authentication.") + systemAssignedManagedIdentitySettings?: DataFlowEndpointAuthenticationSystemAssignedManagedIdentity; + + @doc("User-assigned managed identity authentication.") + userAssignedManagedIdentitySettings?: DataFlowEndpointAuthenticationUserAssignedManagedIdentity; + + @doc("SAS token authentication.") + accessTokenSecretRef?: string; + + @doc("SASL authentication.") + saslSettings?: DataFlowEndpointAuthenticationSasl; + + @doc("Service Account Token authentication.") + serviceAccountTokenSettings?: DataFlowEndpointAuthenticationServiceAccountToken; + + @doc("X.509 certificate authentication.") + x509CredentialsSettings?: DataFlowEndpointAuthenticationX509; +} + +@doc("Authentication Mode properties") +union AuthenticationMethod { + string, + + @doc("SystemAssignedManagedIdentity Option") + SystemAssignedManagedIdentity: "SystemAssignedManagedIdentity", + + @doc("UserAssignedManagedIdentity Option") + UserAssignedManagedIdentity: "UserAssignedManagedIdentity", + + @doc("AccessToken Option") + AccessToken: "AccessToken", + + @doc("Sasl Option") + Sasl: "Sasl", + + @doc("X509Credentials Option") + X509Credentials: "X509Credentials", +} + +@doc("Azure Data Lake endpoint properties") +model DataFlowEndpointDataLakeStorage { + @doc("Host of the Azure Data Lake in the form of .blob.core.windows.net .") + @pattern(".+\\.blob\\.core\\.windows\\.net") + host: string; + + @doc("Azure Data Lake endpoint batching configuration.") + batching?: BatchingConfiguration; +} + +@doc("Microsoft Fabric endpoint properties") +model DataFlowEndpointFabricOneLake { + @doc("Names of the workspace and lakehouse.") + names: DataFlowEndpointFabricOneLakeNames; + + @doc("Type of location of the data in the workspace. Can be either tables or files.") + oneLakePathType: DataFlowEndpointFabricPathType; + + @doc("Host of the Microsoft Fabric in the form of https://.fabric.microsoft.com.") + @pattern(".+\\.fabric\\.microsoft\\.com") + host: string; + + @doc("Batching configuration.") + batching?: BatchingConfiguration; +} + +@doc("Microsoft Fabric endpoint Names properties") +model DataFlowEndpointFabricOneLakeNames { + @doc("Lakehouse name.") + lakehouseName: string; + + @doc("Workspace name.") + workspaceName: string; +} + +@doc("DataFlowEndpoint Fabric Path Type properties") +union DataFlowEndpointFabricPathType { + string, + + @doc("FILES Type") + Files: "Files", + + @doc("TABLES Type") + Tables: "Tables", +} + +@doc("Kafka endpoint properties") +model DataFlowEndpointKafka { + @doc("Consumer group ID.") + consumerGroupId?: string; + + @doc("Kafka endpoint host.") + host?: string; + + @doc("Batching configuration.") + batching?: DataFlowEndpointKafkaBatching; + + @doc("Copy Broker properties. No effect if the endpoint is used as a source or if the dataflow doesn't have an Broker source.") + copyMqttProperties?: OperationalMode = OperationalMode.Disabled; + + @doc("Compression. Can be none, gzip, lz4, or snappy. No effect if the endpoint is used as a source.") + compression?: DataFlowEndpointKafkaCompression = DataFlowEndpointKafkaCompression.None; + + @doc("Kafka acks. Can be all, one, or zero. No effect if the endpoint is used as a source.") + kafkaAcks?: DataFlowEndpointKafkaAcks = DataFlowEndpointKafkaAcks.All; + + @doc("Partition handling strategy. Can be default or static. No effect if the endpoint is used as a source.") + partitionStrategy?: DataFlowEndpointKafkaPartitionStrategy = DataFlowEndpointKafkaPartitionStrategy.Default; + + @doc("TLS configuration.") + tls: TlsProperties; +} + +@doc("Kafka endpoint Batching properties") +model DataFlowEndpointKafkaBatching { + @doc("Mode for batching.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("Batching latency in milliseconds.") + @minValue(0) + @maxValue(65535) + latencyMs?: int32 = 5; + + @doc("Maximum number of bytes in a batch.") + @minValue(0) + @maxValue(4294967295) + maxBytes?: int32 = 1000000; + + @doc("Maximum number of messages in a batch.") + @minValue(0) + @maxValue(4294967295) + maxMessages?: int32 = 100000; +} + +@doc("Kafka endpoint Compression properties") +union DataFlowEndpointKafkaCompression { + string, + + @doc("NONE Option") + None: "None", + + @doc("Gzip Option") + Gzip: "Gzip", + + @doc("SNAPPY Option") + Snappy: "Snappy", + + @doc("LZ4 Option") + Lz4: "Lz4", +} + +@doc("DataFlowEndpoint Kafka Acks properties") +union DataFlowEndpointKafkaAcks { + string, + + @doc("ZERO Option") + Zero: "Zero", + + @doc("ONE Option") + One: "One", + + @doc("ALL Option") + All: "All", +} + +@doc("DataFlowEndpoint Kafka Partition Strategy properties") +union DataFlowEndpointKafkaPartitionStrategy { + string, + + @doc("Default: Assigns messages to random partitions, using a round-robin algorithm.") + Default: "Default", + + @doc("Static: Assigns messages to a fixed partition number that's derived from the instance ID of the dataflow.") + Static: "Static", + + @doc("TOPIC Option") + Topic: "Topic", + + @doc("PROPERTY Option") + Property: "Property", +} + +@doc("Local persistent volume endpoint properties") +model DataFlowEndpointLocalStorage { + @doc("Persistent volume claim name.") + persistentVolumeClaimRef: string; +} + +@doc("Broker endpoint properties") +model DataFlowEndpointMqtt { + @doc("Client ID prefix. Client ID generated by the dataflow is -TBD. Optional; no prefix if omitted.") + clientIdPrefix?: string; + + @doc("Host of the Broker in the form of :. Optional; connects to Broker if omitted.") + host?: string = "aio-mq-dmqtt-frontend:1883"; + + @doc("Enable or disable websockets.") + protocol?: BrokerProtocolType = BrokerProtocolType.Mqtt; + + @doc("Broker KeepAlive for connection in seconds.") + @minValue(0) + keepAliveSeconds?: int32 = 60; + + @doc("Whether or not to keep the retain setting.") + retain?: MqttRetainType = MqttRetainType.Keep; + + @doc("The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.") + @minValue(0) + maxInflightMessages?: int32 = 100; + + @doc("Qos for Broker connection.") + @minValue(0) + @maxValue(2) + qos?: int32 = 1; + + @doc("Session expiry in seconds.") + @minValue(0) + sessionExpirySeconds?: int32 = 3600; + + @doc("TLS configuration.") + tls?: TlsProperties; +} + +@doc("Broker Retain types") +union MqttRetainType { + string, + + @doc("Retain the messages.") + Keep: "Keep", + + @doc("Never retain messages.") + Never: "Never", +} diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp new file mode 100644 index 000000000000..074e651a03ec --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp @@ -0,0 +1,53 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** ******************* */ +/** + * dataflowProfile resource type model details. + */ +@doc("Instance dataflowProfile resource") +@parentResource(InstanceResource) +model DataFlowProfileResource is ProxyResource { + @doc("Name of Instance dataflowProfile resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("dataflowProfileName") + @path + @minLength(3) + @maxLength(63) + @segment("dataflowProfiles") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("DataFlowProfile Resource properties") +model DataFlowProfileProperties { + @doc("Spec defines the desired identities of NBC diagnostics settings.") + diagnostics?: ProfileDiagnostics; + + @doc("To manually scale the dataflow profile, specify the maximum number of instances you want to run.") + @minValue(1) + @maxValue(20) + instanceCount?: int32; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("DataFlowProfile Diagnostics properties") +model ProfileDiagnostics { + ...MetricProperties; +} diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp new file mode 100644 index 000000000000..eb675bca4e5e --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp @@ -0,0 +1,237 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using OpenAPI; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +/** ******************* */ +/** + * dataflow resource type model details. + */ +@doc("Instance dataflowProfile dataflow resource") +@parentResource(DataFlowProfileResource) +model DataFlowResource is ProxyResource { + @doc("Name of Instance dataflowProfile dataflow resource") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @key("dataflowName") + @path + @minLength(3) + @maxLength(63) + @segment("dataflows") + name: string; + + // Extended location is not included in ProxyResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("DataFlow Resource properties") +model DataFlowProperties { + @doc("Reference to the DataflowProfile CR.") + profileRef: string; + + @doc("Mode for DataFlow. Optional; defaults to Enabled.") + mode?: OperationalMode = OperationalMode.Enabled; + + @doc("List of operations including source and destination references as well as transformation.") + @OpenAPI.extension("x-ms-identifiers", []) + operations: DataFlowOperation[]; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("DataFlow Operation properties. NOTE - One only method is allowed to be used for one entry.") +model DataFlowOperation { + @doc("Type of operation.") + operationType: OperationType; + + @doc("Optional user provided name of the transformation.") + @maxLength(64) + name?: string; + + @doc("Transformation configuration.") + builtInTransformationSettings?: DataFlowBuiltInTransformation; + + @doc("Destination configuration.") + destinationSettings: DataFlowDestinationOperation; + + @doc("Source configuration.") + sourceSettings: DataFlowSourceOperation; +} + +@doc("DataFlow Operation Type properties") +union OperationType { + string, + + @doc("DataFlow Source Operation") + Source: "Source", + + @doc("DataFlow Destination Operation") + Destination: "Destination", + + @doc("DataFlow BuiltIn Transformation Operation") + BuiltInTransformation: "BuiltInTransformation", +} + +@doc("DataFlow BuiltIn Transformation properties") +model DataFlowBuiltInTransformation { + @doc("Serialization format. Optional; defaults to JSON. Allowed value JSON Schema/draft-7, Parquet. Default: Json") + serializationFormat?: TransformationSerializationFormat = TransformationSerializationFormat.Json; + + @doc("Reference to the schema that describes the output of the transformation.") + schemaRef?: string; + + @doc("Enrich data from Broker State Store. Dataset references a key in Broker State Store.") + @maxItems(1) + @OpenAPI.extension("x-ms-identifiers", []) + datasets?: DataFlowBuiltInTransformationDataset[] = #[]; + + @doc("Filters input record or datapoints based on condition.") + @OpenAPI.extension("x-ms-identifiers", []) + filter?: DataFlowBuiltInTransformationFilter[] = #[]; + + @doc("Maps input to output message.") + @OpenAPI.extension("x-ms-identifiers", []) + map?: DataFlowBuiltInTransformationMap[] = #[]; +} + +@doc("DataFlow BuiltIn Transformation dataset properties") +model DataFlowBuiltInTransformationDataset { + @doc("The key of the dataset.") + @maxLength(64) + key: string; + + @doc("A user provided optional description of the dataset.") + @maxLength(256) + description?: string; + + @doc("The reference to the schema that describes the dataset. Allowed: JSON Schema/draft-7.") + schemaRef?: string; + + @doc("List of fields for enriching from the Broker State Store.") + inputs: string[]; + + @doc("Condition to enrich data from Broker State Store. Example: $1 < 0 || $1 > $2 (Assuming inputs section $1 and $2 are provided)") + expression?: string; +} + +@doc("DataFlow BuiltIn Transformation filter properties") +model DataFlowBuiltInTransformationFilter { + @doc("The type of dataflow operation.") + type?: FilterType = FilterType.Filter; + + @doc("A user provided optional description of the filter.") + @maxLength(256) + description?: string; + + @doc("List of fields for filtering in JSON path expression.") + inputs: string[]; + + @doc("Condition to filter data. Can reference input fields with {n} where n is the index of the input field starting from 1. Example: $1 < 0 || $1 > $2 (Assuming inputs section $1 and $2 are provided)") + expression: string; +} + +@doc("Filter Type properties") +union FilterType { + string, + + @doc("Filter type") + Filter: "Filter", +} + +@doc("DataFlow BuiltIn Transformation map properties") +model DataFlowBuiltInTransformationMap { + @doc("Type of transformation.") + type?: DataFlowMappingType; + + @doc("A user provided optional description of the mapping function.") + @maxLength(256) + description?: string; + + @doc("List of fields for mapping in JSON path expression.") + inputs: string[]; + + @doc("Modify the inputs field(s) to the final output field. Example: $1 * 2.2 (Assuming inputs section $1 is provided)") + expression?: string; + + @doc("Where and how the input fields to be organized in the output record.") + output: string; +} + +@doc("DataFlow type mapping properties") +union DataFlowMappingType { + string, + + @doc("New Properties type") + NewProperties: "NewProperties", + + @doc("Rename type") + Rename: "Rename", + + @doc("Compute type") + Compute: "Compute", + + @doc("Pass-through type") + PassThrough: "PassThrough", + + @doc("Built in function type") + BuiltInFunction: "BuiltInFunction", +} + +@doc("Serialization Format properties") +union SourceSerializationFormat { + string, + + @doc("JSON Format") + Json: "Json", +} + +@doc("Transformation Format properties") +union TransformationSerializationFormat { + string, + + @doc("Delta Format") + Delta: "Delta", + + @doc("JSON Format") + Json: "Json", + + @doc("Parquet Format") + Parquet: "Parquet", +} + +@doc("DataFlow Destination Operation properties") +model DataFlowDestinationOperation { + @doc("Reference to the Endpoint CR. Can be of Broker, Kafka, Fabric, ADLS, ADX type.") + endpointRef: string; + + @doc("Destination location, can be a topic or table name. Supports dynamic values with $topic, $systemProperties, $userProperties, $payload, $context, and $subscription.") + dataDestination: string; +} + +@doc("DataFlow Source Operation properties") +model DataFlowSourceOperation { + @doc("Reference to the Dataflow Endpoint resource. Can only be of Broker and Kafka type.") + endpointRef: string; + + @doc("Reference to the resource in Azure Device Registry where the data in the endpoint originates from.") + assetRef?: string; + + @doc("Content is a JSON Schema. Allowed: JSON Schema/draft-7.") + serializationFormat?: SourceSerializationFormat = SourceSerializationFormat.Json; + + @doc("Schema CR reference. Data will be deserialized according to the schema, and dropped if it doesn't match.") + schemaRef?: string; + + @doc("List of source locations. Can be Broker or Kafka topics. Supports wildcards # and +.") + dataSources: string[]; +} diff --git a/specification/iotoperations/IoTOperations.Management/models/instance.tsp b/specification/iotoperations/IoTOperations.Management/models/instance.tsp new file mode 100644 index 000000000000..b4c0b1450f64 --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/models/instance.tsp @@ -0,0 +1,45 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.IoTOperations; + +@doc("A Instance resource is a logical container for a set of child resources.") +model InstanceResource is TrackedResource { + @doc("Name of instance.") + @key("instanceName") + @segment("instances") + @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") + @path + @minLength(3) + @maxLength(63) + name: string; + + // Extended location is not included in TrackedResource yet + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" + @doc("Edge location of the resource.") + @visibility("read", "create") + extendedLocation: ExtendedLocation; +} + +@doc("The properties of a Instance resource.") +model InstanceProperties { + @doc("Detailed description of the Instance.") + description?: string; + + @doc("The status of the last operation.") + @visibility("read") + provisioningState?: ProvisioningState; + + @doc("The Azure IoT Operations version.") + @visibility("read") + version?: string; +} diff --git a/specification/iotoperations/IoTOperations.Management/tspconfig.yaml b/specification/iotoperations/IoTOperations.Management/tspconfig.yaml new file mode 100644 index 000000000000..2ab2592d781d --- /dev/null +++ b/specification/iotoperations/IoTOperations.Management/tspconfig.yaml @@ -0,0 +1,12 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/iotoperations.json" + examples-directory: "{project-root}/examples" + use-read-only-status-schema: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..b76bc12772aa --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,99 @@ +{ + "title": "BrokerAuthentication_CreateOrUpdate", + "operationId": "BrokerAuthentication_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "authenticationName": "resource-name123", + "resource": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "gjfyvwhgwouiqfxml", + "type": "iebmxuxbwumiobejywgyh", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "ServiceAccountToken", + "serviceAccountToken": { + "audiences": [ + "aio-mq" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "gjfyvwhgwouiqfxml", + "type": "iebmxuxbwumiobejywgyh", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..49f7b362a747 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerAuthentication_Delete", + "operationId": "BrokerAuthentication_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authenticationName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..c779680e10ba --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_Get_MaximumSet_Gen.json @@ -0,0 +1,69 @@ +{ + "title": "BrokerAuthentication_Get", + "operationId": "BrokerAuthentication_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authenticationName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "authenticationMethods": [ + { + "method": "Custom", + "custom": { + "auth": { + "x509": { + "secretRef": "hmuambcnwvar" + } + }, + "caCertConfigMap": "d", + "endpoint": "https://www.example.com", + "headers": { + "key3025": "tngcschtuoccvyvsg" + } + }, + "serviceAccountToken": { + "audiences": [ + "gznfb" + ] + }, + "x509Credentials": { + "authorizationAttributes": { + "key5349": { + "attributes": { + "key5251": "piumfpteiounuiqv" + }, + "subject": "p" + } + }, + "trustedClientCaCert": "sfmbypdtbszeyhoxvsopnecdjce" + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "hwolou", + "type": "rgmumpmxeeglhdkrrwcdxjdeujhp", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..05a1e07d1c51 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,73 @@ +{ + "title": "BrokerAuthentication_ListByResourceGroup", + "operationId": "BrokerAuthentication_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "authenticationMethods": [ + { + "method": "Custom", + "custom": { + "auth": { + "x509": { + "secretRef": "hmuambcnwvar" + } + }, + "caCertConfigMap": "d", + "endpoint": "https://www.example.com", + "headers": { + "key3025": "tngcschtuoccvyvsg" + } + }, + "serviceAccountToken": { + "audiences": [ + "gznfb" + ] + }, + "x509Credentials": { + "authorizationAttributes": { + "key5349": { + "attributes": { + "key5251": "piumfpteiounuiqv" + }, + "subject": "p" + } + }, + "trustedClientCaCert": "sfmbypdtbszeyhoxvsopnecdjce" + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123", + "name": "hwolou", + "type": "rgmumpmxeeglhdkrrwcdxjdeujhp", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/alyli" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..47ad1d20ccc9 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,180 @@ +{ + "title": "BrokerAuthorization_CreateOrUpdate", + "operationId": "BrokerAuthorization_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "authorizationName": "aio-authorization", + "resource": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "jsocsnglgrxciedpqzbm", + "type": "kqmazhisjkjwjyvumszgwr", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "afmj" + ] + } + ], + "principals": { + "attributes": [ + { + "key1225": "szvjlbpctnpjmyjq" + } + ], + "clientIds": [ + "zfamfwk" + ], + "usernames": [ + "udobrmzkzubuqbvnbabovvr" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "tttdjfmf" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "jsocsnglgrxciedpqzbm", + "type": "kqmazhisjkjwjyvumszgwr", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..f3126dd5d02d --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerAuthorization_Delete", + "operationId": "BrokerAuthorization_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authorizationName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..08a11a23ba2a --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_Get_MaximumSet_Gen.json @@ -0,0 +1,73 @@ +{ + "title": "BrokerAuthorization_Get", + "operationId": "BrokerAuthorization_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "authorizationName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "ufjfzlfkzxvietkdta" + ] + } + ], + "principals": { + "attributes": [ + { + "key6926": "lpwoezifckemegiuebzjwvovpxipf" + } + ], + "clientIds": [ + "qlcoamjpzpypbyvkuxbrjhqyqoev" + ], + "usernames": [ + "ongdzsvwnprbmlbnqfaep" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "avjoffuhzcloqjfihurd" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "tqywqrvxmsqlmcdkybpdohunegad", + "type": "k", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..3e2fc244ea50 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,77 @@ +{ + "title": "BrokerAuthorization_ListByResourceGroup", + "operationId": "BrokerAuthorization_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "authorizationPolicies": { + "cache": "Enabled", + "rules": [ + { + "brokerResources": [ + { + "method": "Connect", + "topics": [ + "ufjfzlfkzxvietkdta" + ] + } + ], + "principals": { + "attributes": [ + { + "key6926": "lpwoezifckemegiuebzjwvovpxipf" + } + ], + "clientIds": [ + "qlcoamjpzpypbyvkuxbrjhqyqoev" + ], + "usernames": [ + "ongdzsvwnprbmlbnqfaep" + ] + }, + "stateStoreResources": [ + { + "keyType": "Pattern", + "keys": [ + "avjoffuhzcloqjfihurd" + ], + "method": "Read" + } + ] + } + ] + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authorizations/resource-name123", + "name": "tqywqrvxmsqlmcdkybpdohunegad", + "type": "k", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/ah" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..8f28aef9778d --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,127 @@ +{ + "title": "BrokerListener_CreateOrUpdate", + "operationId": "BrokerListener_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "listenerName": "aio-listener", + "resource": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "jngsyyonj", + "type": "hkyuyjip", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "brokerRef": "aio-broker", + "serviceType": "ClusterIp", + "serviceName": "aio-mq-dmqtt-frontend", + "ports": [ + { + "authenticationRef": "authn", + "port": 8883, + "protocol": "Mqtt", + "tls": { + "automatic": { + "issuerRef": { + "apiGroup": "cert-manager.io", + "kind": "Issuer", + "name": "mq-dmqtt-frontend" + } + }, + "mode": "Automatic" + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "jngsyyonj", + "type": "hkyuyjip", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..1ba8efe43e53 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "BrokerListener_Delete", + "operationId": "BrokerListener_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "listenerName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..31deabecc9b0 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_Get_MaximumSet_Gen.json @@ -0,0 +1,76 @@ +{ + "title": "BrokerListener_Get", + "operationId": "BrokerListener_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123", + "listenerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "brokerRef": "ofld", + "serviceName": "ammctfyuyvkqunypcelhayto", + "ports": [ + { + "authenticationRef": "upcrbms", + "authorizationRef": "otwijsqwttyrzijewibcpf", + "nodePort": 4182, + "port": 7270, + "protocol": "Mqtt", + "tls": { + "mode": "Automatic", + "automatic": { + "duration": "gcviebywhyldlnvny", + "secretRef": "nhuwochqqu", + "renewBefore": "uzkneoyhbdnfabfi", + "issuerRef": { + "apiGroup": "hg", + "kind": "Issuer", + "name": "aagzfwtghfxhloebzrf" + }, + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + }, + "san": { + "dns": [ + "ggjqlxyfxsigcidkcwthh" + ], + "ip": [ + "ebxvbeylyfwcwawy" + ] + } + }, + "manual": { + "secretRef": "hmuambcnwvar" + } + } + } + ], + "serviceType": "ClusterIp", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "lxekmxgbqxfkljhpdzdvyqtfkgne", + "type": "aardqfvncrqbkl", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..abb458912d73 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,80 @@ +{ + "title": "BrokerListener_ListByResourceGroup", + "operationId": "BrokerListener_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "brokerRef": "ofld", + "serviceName": "ammctfyuyvkqunypcelhayto", + "ports": [ + { + "authenticationRef": "upcrbms", + "authorizationRef": "otwijsqwttyrzijewibcpf", + "nodePort": 4182, + "port": 7270, + "protocol": "Mqtt", + "tls": { + "mode": "Automatic", + "automatic": { + "duration": "gcviebywhyldlnvny", + "secretRef": "nhuwochqqu", + "renewBefore": "uzkneoyhbdnfabfi", + "issuerRef": { + "apiGroup": "hg", + "kind": "Issuer", + "name": "aagzfwtghfxhloebzrf" + }, + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + }, + "san": { + "dns": [ + "ggjqlxyfxsigcidkcwthh" + ], + "ip": [ + "ebxvbeylyfwcwawy" + ] + } + }, + "manual": { + "secretRef": "hmuambcnwvar" + } + } + } + ], + "serviceType": "ClusterIp", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/listeners/resource-name123", + "name": "lxekmxgbqxfkljhpdzdvyqtfkgne", + "type": "aardqfvncrqbkl", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..4352dbae0224 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,186 @@ +{ + "title": "Broker_CreateOrUpdate", + "operationId": "Broker_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "brokerName": "aio-broker", + "resource": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "dnpky", + "type": "tdsdsqy", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "memoryProfile": "Medium", + "generateResourceLimits": { + "cpu": "Disabled" + }, + "cardinality": { + "backendChain": { + "partitions": 2, + "workers": 2, + "redundancyFactor": 2 + }, + "frontend": { + "replicas": 2, + "workers": 2 + } + }, + "advanced": { + "encryptInternalTraffic": "Enabled" + }, + "diagnostics": { + "logs": { + "level": "info" + }, + "metrics": { + "prometheusPort": 9600 + }, + "selfCheck": { + "intervalSeconds": 30, + "mode": "Enabled", + "timeoutSeconds": 15 + }, + "traces": { + "cacheSizeMegabytes": 16, + "mode": "Enabled", + "selfTracing": { + "intervalSeconds": 30, + "mode": "Enabled" + }, + "spanChannelCapacity": 1000 + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "dnpky", + "type": "tdsdsqy", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..509fc681f089 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "Broker_Delete", + "operationId": "Broker_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..61661b3277d9 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_Get_MaximumSet_Gen.json @@ -0,0 +1,192 @@ +{ + "title": "Broker_Get", + "operationId": "Broker_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "brokerName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "advanced": { + "clients": { + "maxSessionExpirySeconds": 718, + "maxMessageExpirySeconds": 9606, + "maxPacketSizeBytes": 8467, + "subscriberQueueLimit": { + "length": 10, + "strategy": "None" + }, + "maxReceiveMaximum": 8723, + "maxKeepAliveSeconds": 4156 + }, + "encryptInternalTraffic": "Enabled", + "internalCerts": { + "duration": "bfgfryciulvbliggoortlvr", + "renewBefore": "opimpidbutgqlbtxub", + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + } + } + }, + "cardinality": { + "backendChain": { + "partitions": 6, + "redundancyFactor": 3, + "workers": 4 + }, + "frontend": { + "replicas": 1, + "workers": 13 + } + }, + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + }, + "selfCheck": { + "mode": "Enabled", + "intervalSeconds": 65, + "timeoutSeconds": 115 + }, + "traces": { + "mode": "Enabled", + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "cacheSizeMegabytes": 74, + "selfTracing": { + "mode": "Enabled", + "intervalSeconds": 247 + }, + "spanChannelCapacity": 5351 + } + }, + "diskBackedMessageBuffer": { + "maxSize": "500M", + "ephemeralVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + }, + "persistentVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + } + }, + "generateResourceLimits": { + "cpu": "Enabled" + }, + "memoryProfile": "Tiny", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "gsjcgxduqgzipike", + "type": "dtesjpnsljjnsqyrbvenvupgrei", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..9906a30dbfa5 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Broker_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,196 @@ +{ + "title": "Broker_ListByResourceGroup", + "operationId": "Broker_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "advanced": { + "clients": { + "maxSessionExpirySeconds": 718, + "maxMessageExpirySeconds": 9606, + "maxPacketSizeBytes": 8467, + "subscriberQueueLimit": { + "length": 10, + "strategy": "None" + }, + "maxReceiveMaximum": 8723, + "maxKeepAliveSeconds": 4156 + }, + "encryptInternalTraffic": "Enabled", + "internalCerts": { + "duration": "bfgfryciulvbliggoortlvr", + "renewBefore": "opimpidbutgqlbtxub", + "privateKey": { + "algorithm": "Ec256", + "rotationPolicy": "Always" + } + } + }, + "cardinality": { + "backendChain": { + "partitions": 6, + "redundancyFactor": 3, + "workers": 4 + }, + "frontend": { + "replicas": 1, + "workers": 13 + } + }, + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + }, + "selfCheck": { + "mode": "Enabled", + "intervalSeconds": 65, + "timeoutSeconds": 115 + }, + "traces": { + "mode": "Enabled", + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "cacheSizeMegabytes": 74, + "selfTracing": { + "mode": "Enabled", + "intervalSeconds": 247 + }, + "spanChannelCapacity": 5351 + } + }, + "diskBackedMessageBuffer": { + "maxSize": "500M", + "ephemeralVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + }, + "persistentVolumeClaimSpec": { + "volumeName": "tuklviftkybnwlcodzlqsrv", + "volumeMode": "tnhvvjzevnci", + "storageClassName": "pwqyrkp", + "accessModes": [ + "fdqxpqtreeakyluwruvnlgjqe" + ], + "dataSource": { + "apiGroup": "rpvucmlcaw", + "kind": "jioalincjmsmdukltvumfzhloxhdno", + "name": "kaiytidqfuiingvstpbajhpamd" + }, + "dataSourceRef": { + "apiGroup": "yljisakwxcfvorxnkjlmklem", + "kind": "ykxghboitinjrtmvj", + "name": "fkshywivxmgmthqyvftpevna", + "namespace": "fylz" + }, + "resources": { + "limits": { + "key6468": "vthyjfckewatzyoa" + }, + "requests": { + "key920": "zrzeirmnlhrvgedmyvb" + } + }, + "selector": { + "matchExpressions": [ + { + "key": "fwprebrcpfk", + "operator": "In", + "values": [ + "katqfnrhsg" + ] + } + ], + "matchLabels": { + "key7725": "ojbzshdxkspekbrxzofgnmqrbd" + } + } + } + }, + "generateResourceLimits": { + "cpu": "Enabled" + }, + "memoryProfile": "Tiny", + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123", + "name": "gsjcgxduqgzipike", + "type": "dtesjpnsljjnsqyrbvenvupgrei", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..aa74697f876e --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,323 @@ +{ + "title": "DataFlowEndpoint_CreateOrUpdate", + "operationId": "DataFlowEndpoint_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowEndpointName": "aio-dataflowendpoint", + "resource": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + } + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "kvyqxmrwwvxxvrlwyxfkxoebrapxbj", + "type": "dzbwcvsomwc", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "imuwrt" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "qjwbqdunldmwiknaifmjtdzc", + "audience": "lwqpynroxkgvk", + "tenantId": "xuhbmockgsjanbccm" + }, + "accessTokenSecretRef": "tnwgineiasofrjwmpvrpxrvgxesxge", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "yveihxxdxfczlnsp" + }, + "serviceAccountTokenSettings": { + "audience": "jwqprkifp" + }, + "x509CredentialsSettings": { + "secretRef": "ginzjdbcaebellwqjwiy" + } + }, + "dataExplorerSettings": { + "database": "vlzldgzfnjrenepi", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "wlkswgqkputd", + "workspaceName": "jpixitkilnnznphuv" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 9312, + "maxMessages": 9028 + } + }, + "kafkaSettings": { + "consumerGroupId": "bpihkcqsi", + "host": "duqkazfangmbwtfnivqmhpxfqigi", + "batching": { + "mode": "Enabled", + "latencyMs": 5560, + "maxBytes": 2289, + "maxMessages": 7908 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "fnswdfocruvmkzqbtfvzhzremdohtv" + }, + "mqttSettings": { + "clientIdPrefix": "vhfupaialczfkrcmo", + "host": "lenprkulhttcpqop", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 1, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "p" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "kvyqxmrwwvxxvrlwyxfkxoebrapxbj", + "type": "dzbwcvsomwc", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..07464f379231 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "DataFlowEndpoint_Delete", + "operationId": "DataFlowEndpoint_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowEndpointName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..2a3984382381 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_Get_MaximumSet_Gen.json @@ -0,0 +1,120 @@ +{ + "title": "DataFlowEndpoint_Get", + "operationId": "DataFlowEndpoint_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowEndpointName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "zipqedoloklkmcqpxuibdx" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "zslbhdourgqowweozamogd", + "audience": "ehayjzpsgdffrnot", + "tenantId": "dfydk" + }, + "accessTokenSecretRef": "jpqjkwysutfyvuwnyfhmz", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "fzhlzuooetcqdmadigfwriwphviww" + }, + "serviceAccountTokenSettings": { + "audience": "znsspspsxuwrief" + }, + "x509CredentialsSettings": { + "secretRef": "fklglrdbasansly" + } + }, + "dataExplorerSettings": { + "database": "qryxwqjzphziibqvaqxnjydr", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "cevagqe", + "workspaceName": "eyunjqhzymurngdrzkdrwgmrimtor" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "kafkaSettings": { + "consumerGroupId": "nperldnmednlhxvsghszhxn", + "host": "cmhf", + "batching": { + "mode": "Enabled", + "latencyMs": 5037, + "maxBytes": 9340, + "maxMessages": 1440 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "dfwyopnwceiovscydhmwbtx" + }, + "mqttSettings": { + "clientIdPrefix": "mvgwzqtpubttuubop", + "host": "scldnfs", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 2, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "ffqvwymhbrvgebqcwmqsehltvvg", + "type": "q", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..edd50aba5ac0 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,124 @@ +{ + "title": "DataFlowEndpoint_ListByResourceGroup", + "operationId": "DataFlowEndpoint_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpointType": "DataExplorer", + "authentication": { + "method": "SystemAssignedManagedIdentity", + "systemAssignedManagedIdentitySettings": { + "audience": "zipqedoloklkmcqpxuibdx" + }, + "userAssignedManagedIdentitySettings": { + "clientId": "zslbhdourgqowweozamogd", + "audience": "ehayjzpsgdffrnot", + "tenantId": "dfydk" + }, + "accessTokenSecretRef": "jpqjkwysutfyvuwnyfhmz", + "saslSettings": { + "saslType": "Plain", + "tokenSecretRef": "fzhlzuooetcqdmadigfwriwphviww" + }, + "serviceAccountTokenSettings": { + "audience": "znsspspsxuwrief" + }, + "x509CredentialsSettings": { + "secretRef": "fklglrdbasansly" + } + }, + "dataExplorerSettings": { + "database": "qryxwqjzphziibqvaqxnjydr", + "host": "..kusto.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "dataLakeStorageSettings": { + "host": ".blob.core.windows.net", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "fabricOneLakeSettings": { + "names": { + "lakehouseName": "cevagqe", + "workspaceName": "eyunjqhzymurngdrzkdrwgmrimtor" + }, + "oneLakePathType": "Files", + "host": "https://.fabric.microsoft.com", + "batching": { + "latencySeconds": 1288, + "maxMessages": 4631 + } + }, + "kafkaSettings": { + "consumerGroupId": "nperldnmednlhxvsghszhxn", + "host": "cmhf", + "batching": { + "mode": "Enabled", + "latencyMs": 5037, + "maxBytes": 9340, + "maxMessages": 1440 + }, + "copyMqttProperties": "Enabled", + "compression": "None", + "kafkaAcks": "Zero", + "partitionStrategy": "Default", + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "localStorageSettings": { + "persistentVolumeClaimRef": "dfwyopnwceiovscydhmwbtx" + }, + "mqttSettings": { + "clientIdPrefix": "mvgwzqtpubttuubop", + "host": "scldnfs", + "protocol": "Mqtt", + "keepAliveSeconds": 0, + "retain": "Keep", + "maxInflightMessages": 0, + "qos": 2, + "sessionExpirySeconds": 0, + "tls": { + "mode": "Enabled", + "trustedCaCertificateConfigMapRef": "vhgqhkxrzmom" + } + }, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowEndpoints/resource-name123", + "name": "ffqvwymhbrvgebqcwmqsehltvvg", + "type": "q", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..e46e0c0132f1 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,122 @@ +{ + "title": "DataFlowProfile_CreateOrUpdate", + "operationId": "DataFlowProfile_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowProfileName": "aio-dataflowprofile", + "resource": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18 + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "qoettseeorbtnsqzdzkmj", + "type": "rltomirbvapltbpcylgaaiggq", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "oyembrvhzogggkodr", + "intervalSeconds": 23, + "level": "tmcrcih" + }, + "level": "tpjixxzdjmkvfnctjbkycswmyrnskf" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "dngpjdmfecwmrheyzc", + "intervalSeconds": 207 + }, + "prometheusPort": 87 + } + }, + "instanceCount": 18, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "qoettseeorbtnsqzdzkmj", + "type": "rltomirbvapltbpcylgaaiggq", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..2689d125365c --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "DataFlowProfile_Delete", + "operationId": "DataFlowProfile_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..504186fa5cc6 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_Get_MaximumSet_Gen.json @@ -0,0 +1,53 @@ +{ + "title": "DataFlowProfile_Get", + "operationId": "DataFlowProfile_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + } + }, + "instanceCount": 11, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "wmizscdvqvcfg", + "type": "ivzeddzrgvws", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..db0e1bd9934b --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,57 @@ +{ + "title": "DataFlowProfile_ListByResourceGroup", + "operationId": "DataFlowProfile_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "diagnostics": { + "logs": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "ez", + "intervalSeconds": 278, + "level": "zdeblxxjadzbfzbpffatxeaqasgxzk" + }, + "level": "tmpgosn" + }, + "metrics": { + "opentelemetryExportConfig": { + "otlpGrpcEndpoint": "llskzmhyhllhwogajdagbdmgknidyl", + "intervalSeconds": 7 + }, + "prometheusPort": 6526 + } + }, + "instanceCount": 11, + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123", + "name": "wmizscdvqvcfg", + "type": "ivzeddzrgvws", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..d0ad46827b82 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,297 @@ +{ + "title": "DataFlow_CreateOrUpdate", + "operationId": "DataFlow_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "dataflowProfileName": "aio-dataflowprofile", + "dataflowName": "aio-dataflow", + "resource": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ] + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "gyhhonqupjblolottsc", + "type": "xqjpfgdfqgmytza", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "profileRef": "juecrpocwpcajelwiwrplvacf", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "hhoeuttlpjucxldumilbdbxsglpfhvamwrasjuroucjzutjamarau", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "kszdaahrhhctjvusgakiz", + "datasets": [ + { + "key": "dataset-name-user-provided1", + "description": "a description of this dataset", + "schemaRef": "schemaRef-pointing-to-AIO-schema-registry-instance", + "inputs": [ + "machineId", + "$context(dataset-name-user-provided1).machine.details.id" + ], + "expression": "$2 == $1" + } + ], + "filter": [ + { + "type": "Filter", + "description": "this is a user generated string to provide context", + "expression": "$1 == $3 && $2 > $4", + "inputs": [ + "machineId", + "temperature", + "$context(dataset-name-user-provided1).machine.details.id", + "$context(dataset-name-user-provided2).machine.location.temperature" + ] + } + ], + "map": [ + { + "type": "NewProperties", + "description": "this is a user generated string to provide context for the operation", + "expression": "400", + "inputs": [], + "output": "temperatureLimit" + }, + { + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 1000", + "inputs": [ + "speed ? $last" + ], + "output": "speedLKV" + }, + { + "type": "Compute", + "description": "this is a user generated string to provide context for the operation", + "expression": "$1 * 9/5 + 32", + "inputs": [ + "temperature" + ], + "output": "temperatureF" + } + ] + }, + "destinationSettings": { + "endpointRef": "hvexewvu", + "dataDestination": "hxwohipwddccefqrdz" + }, + "sourceSettings": { + "endpointRef": "cqsvkqeuyjzci", + "assetRef": "eswnjlnapfrdeklaivntm", + "serializationFormat": "Json", + "schemaRef": "uchmgqpworewvayionuwydneotyo", + "dataSources": [ + "dvncbklqkvjygnjgatioaikaneue" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "gyhhonqupjblolottsc", + "type": "xqjpfgdfqgmytza", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..89f4815a77f4 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "DataFlow_Delete", + "operationId": "DataFlow_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123", + "dataflowName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..2d8484717f9f --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_Get_MaximumSet_Gen.json @@ -0,0 +1,93 @@ +{ + "title": "DataFlow_Get", + "operationId": "DataFlow_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123", + "dataflowName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "profileRef": "h", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "mzsyyckfxkuecqpgxourj", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "iquwslkcsddrpjqhkatjorpnwybalv", + "datasets": [ + { + "key": "fgslszriwchznvjydbconkrtzdxldrwlunpqoadczdmqnabxywdcyokj", + "description": "lehdddjyukzjqqciijnkczkmklqmzezgxxexobrmeexcwlndtqrovrvkvmzunkkebcuskgmkdupdgzenfvecudxfmjwthdkxuhgbbufhbywmuugjarcddfexdkscgmfhzpiiagxppouojfmqpmqilkgmyucinkvtizyrqbfkrnomlpkwszdpppljbutpelvgstdnoqdokidoxdpuuouhsjmwvcmlaqwxechzhxzjvbakhcrw", + "schemaRef": "vyhrhx", + "inputs": [ + "wyfp" + ], + "expression": "ydmktuqxarxdjmltlyiovfxsxuqdnq" + } + ], + "filter": [ + { + "type": "Filter", + "description": "jhksyeejywqhdweyihyywdsxyunhqtfjcggizhbrekdfrjivhmcrnysvgofldikjsqqgfjbjhcaoshiobddkniuopgrnwpjppkzjkabwdnubsewneazspszkdkthjhtfrnsesyuvvugzqdwyhwjpbgnegvednpakwsaffn", + "inputs": [ + "uin" + ], + "expression": "eper" + } + ], + "map": [ + { + "type": "NewProperties", + "description": "imkfxmpiezcoiyoiqwhsgpyolqmniooyvebadiliehwqaugzybkmwmdrjgyrriobdiiqzc", + "inputs": [ + "rrhvbnhoazabbusaefxpxclcegy" + ], + "expression": "jxsrdawm", + "output": "fywtzxu" + } + ] + }, + "destinationSettings": { + "endpointRef": "wsmsuyckxpwseqfubvlwk", + "dataDestination": "ikbycqkyxsbipxevcejielyyhrr" + }, + "sourceSettings": { + "endpointRef": "xljazggvhupxuvngerfylh", + "assetRef": "h", + "serializationFormat": "Json", + "schemaRef": "umjtstyjymuu", + "dataSources": [ + "odfjclitpgccnyhsvqvttxipcvowx" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "ohoyaghdanwsuqjtfqqpyuvbcdpin", + "type": "fcamndvgrybv", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_ListByProfileResource_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_ListByProfileResource_MaximumSet_Gen.json new file mode 100644 index 000000000000..3aad84f657b3 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/DataFlow_ListByProfileResource_MaximumSet_Gen.json @@ -0,0 +1,97 @@ +{ + "title": "DataFlow_ListByProfileResource", + "operationId": "DataFlow_ListByProfileResource", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "dataflowProfileName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "profileRef": "h", + "mode": "Enabled", + "operations": [ + { + "operationType": "Source", + "name": "mzsyyckfxkuecqpgxourj", + "builtInTransformationSettings": { + "serializationFormat": "Delta", + "schemaRef": "iquwslkcsddrpjqhkatjorpnwybalv", + "datasets": [ + { + "key": "fgslszriwchznvjydbconkrtzdxldrwlunpqoadczdmqnabxywdcyokj", + "description": "lehdddjyukzjqqciijnkczkmklqmzezgxxexobrmeexcwlndtqrovrvkvmzunkkebcuskgmkdupdgzenfvecudxfmjwthdkxuhgbbufhbywmuugjarcddfexdkscgmfhzpiiagxppouojfmqpmqilkgmyucinkvtizyrqbfkrnomlpkwszdpppljbutpelvgstdnoqdokidoxdpuuouhsjmwvcmlaqwxechzhxzjvbakhcrw", + "schemaRef": "vyhrhx", + "inputs": [ + "wyfp" + ], + "expression": "ydmktuqxarxdjmltlyiovfxsxuqdnq" + } + ], + "filter": [ + { + "type": "Filter", + "description": "jhksyeejywqhdweyihyywdsxyunhqtfjcggizhbrekdfrjivhmcrnysvgofldikjsqqgfjbjhcaoshiobddkniuopgrnwpjppkzjkabwdnubsewneazspszkdkthjhtfrnsesyuvvugzqdwyhwjpbgnegvednpakwsaffn", + "inputs": [ + "uin" + ], + "expression": "eper" + } + ], + "map": [ + { + "type": "NewProperties", + "description": "imkfxmpiezcoiyoiqwhsgpyolqmniooyvebadiliehwqaugzybkmwmdrjgyrriobdiiqzc", + "inputs": [ + "rrhvbnhoazabbusaefxpxclcegy" + ], + "expression": "jxsrdawm", + "output": "fywtzxu" + } + ] + }, + "destinationSettings": { + "endpointRef": "wsmsuyckxpwseqfubvlwk", + "dataDestination": "ikbycqkyxsbipxevcejielyyhrr" + }, + "sourceSettings": { + "endpointRef": "xljazggvhupxuvngerfylh", + "assetRef": "h", + "serializationFormat": "Json", + "schemaRef": "umjtstyjymuu", + "dataSources": [ + "odfjclitpgccnyhsvqvttxipcvowx" + ] + } + } + ], + "provisioningState": "Succeeded" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123", + "name": "ohoyaghdanwsuqjtfqqpyuvbcdpin", + "type": "fcamndvgrybv", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_CreateOrUpdate_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..8711b9bf6bbb --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,84 @@ +{ + "title": "Instance_CreateOrUpdate", + "operationId": "Instance_CreateOrUpdate", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "9265A271-C9EC-4648-9AF8-B575759AB43E", + "resourceGroupName": "rgiotoperations", + "instanceName": "aio-instance", + "resource": { + "properties": { + "description": "ferqjhhlqtx" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "AIO instance description.", + "provisioningState": "Succeeded", + "version": "0.6.0-preview-rc20240715.1" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "jvxyquuoyhdawdumes", + "type": "kme", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "description": "AIO instance description.", + "provisioningState": "Succeeded", + "version": "0.6.0-preview-rc20240715.1" + }, + "extendedLocation": { + "name": "ycsyubcxttlusbhfdqaynmkaatnbyv", + "type": "CustomLocation" + }, + "tags": { + "key1055": "edezherbbf" + }, + "location": "czsmfboasaojyvzyujdk", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "jvxyquuoyhdawdumes", + "type": "kme", + "systemData": { + "createdBy": "ijyjtvjpfwt", + "createdByType": "User", + "createdAt": "2024-06-26T23:49:23.909Z", + "lastModifiedBy": "fkfrkewn", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-06-26T23:49:23.909Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Delete_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..614c6d59c50c --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Delete_MaximumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "title": "Instance_Delete", + "operationId": "Instance_Delete", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Get_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..1d4dd60ea9a7 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Get_MaximumSet_Gen.json @@ -0,0 +1,40 @@ +{ + "title": "Instance_Get", + "operationId": "Instance_Get", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListByResourceGroup_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..396915bbd913 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,44 @@ +{ + "title": "Instance_ListByResourceGroup", + "operationId": "Instance_ListByResourceGroup", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListBySubscription_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListBySubscription_MaximumSet_Gen.json new file mode 100644 index 000000000000..4243464e887f --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_ListBySubscription_MaximumSet_Gen.json @@ -0,0 +1,43 @@ +{ + "title": "Instance_ListBySubscription", + "operationId": "Instance_ListBySubscription", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Update_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..43ed9e1be256 --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Instance_Update_MaximumSet_Gen.json @@ -0,0 +1,45 @@ +{ + "title": "Instance_Update", + "operationId": "Instance_Update", + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "27CFC271-1989-4D65-B02C-90A010ACD0E4", + "resourceGroupName": "rgiotoperations", + "instanceName": "resource-name123", + "properties": { + "tags": { + "key8200": "ijklhmbbeamptlxisakjmnhz" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "gjiwsvwxvnksyptkthrbhkz", + "provisioningState": "Succeeded", + "version": "pm" + }, + "extendedLocation": { + "name": "yubkzmgux", + "type": "CustomLocation" + }, + "tags": { + "key483": "zdyddzpqkz" + }, + "location": "srzrxsuwtprbrmeyqbz", + "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123", + "name": "smezl", + "type": "buhyoohuptf", + "systemData": { + "createdBy": "no", + "createdByType": "User", + "createdAt": "2024-07-31T16:41:28.972Z", + "lastModifiedBy": "qommjdtfplptszwsertvljkqbie", + "lastModifiedByType": "User", + "lastModifiedAt": "2024-07-31T16:41:28.972Z" + } + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Operations_List_MaximumSet_Gen.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Operations_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..a9cc7a2eea2b --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/examples/Operations_List_MaximumSet_Gen.json @@ -0,0 +1,28 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "kgvgowurhqfmnx", + "isDataAction": true, + "display": { + "provider": "f", + "resource": "ttxugtzapiztloyviobflcnhhbbgu", + "operation": "qra", + "description": "zugierph" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/iotoperations.json b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/iotoperations.json new file mode 100644 index 000000000000..3e9e43d09c7a --- /dev/null +++ b/specification/iotoperations/resource-manager/Microsoft.IoTOperations/preview/2024-07-01-preview/iotoperations.json @@ -0,0 +1,6157 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.IoTOperations management service.", + "version": "2024-07-01-preview", + "description": "Microsoft.IoTOperations Resource Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "Instance" + }, + { + "name": "Broker" + }, + { + "name": "BrokerListener" + }, + { + "name": "BrokerAuthentication" + }, + { + "name": "BrokerAuthorization" + }, + { + "name": "DataFlowProfile" + }, + { + "name": "DataFlow" + }, + { + "name": "DataFlowEndpoint" + } + ], + "paths": { + "/providers/Microsoft.IoTOperations/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.IoTOperations/instances": { + "get": { + "operationId": "Instance_ListBySubscription", + "tags": [ + "Instance" + ], + "description": "List InstanceResource resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/InstanceResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_ListBySubscription": { + "$ref": "./examples/Instance_ListBySubscription_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances": { + "get": { + "operationId": "Instance_ListByResourceGroup", + "tags": [ + "Instance" + ], + "description": "List InstanceResource resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/InstanceResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_ListByResourceGroup": { + "$ref": "./examples/Instance_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}": { + "get": { + "operationId": "Instance_Get", + "tags": [ + "Instance" + ], + "description": "Get a InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/InstanceResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_Get": { + "$ref": "./examples/Instance_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "Instance_CreateOrUpdate", + "tags": [ + "Instance" + ], + "description": "Create a InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/InstanceResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'InstanceResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/InstanceResource" + } + }, + "201": { + "description": "Resource 'InstanceResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/InstanceResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_CreateOrUpdate": { + "$ref": "./examples/Instance_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Instance_Update", + "tags": [ + "Instance" + ], + "description": "Update a InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/InstanceResourceTagsUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/InstanceResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_Update": { + "$ref": "./examples/Instance_Update_MaximumSet_Gen.json" + } + } + }, + "delete": { + "operationId": "Instance_Delete", + "tags": [ + "Instance" + ], + "description": "Delete a InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Instance_Delete": { + "$ref": "./examples/Instance_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers": { + "get": { + "operationId": "Broker_ListByResourceGroup", + "tags": [ + "Broker" + ], + "description": "List BrokerResource resources by InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Broker_ListByResourceGroup": { + "$ref": "./examples/Broker_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}": { + "get": { + "operationId": "Broker_Get", + "tags": [ + "Broker" + ], + "description": "Get a BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Broker_Get": { + "$ref": "./examples/Broker_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "Broker_CreateOrUpdate", + "tags": [ + "Broker" + ], + "description": "Create a BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/BrokerResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'BrokerResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerResource" + } + }, + "201": { + "description": "Resource 'BrokerResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Broker_CreateOrUpdate": { + "$ref": "./examples/Broker_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Broker_Delete", + "tags": [ + "Broker" + ], + "description": "Delete a BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Broker_Delete": { + "$ref": "./examples/Broker_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/authentications": { + "get": { + "operationId": "BrokerAuthentication_ListByResourceGroup", + "tags": [ + "BrokerAuthentication" + ], + "description": "List BrokerAuthenticationResource resources by BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerAuthenticationResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthentication_ListByResourceGroup": { + "$ref": "./examples/BrokerAuthentication_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/authentications/{authenticationName}": { + "get": { + "operationId": "BrokerAuthentication_Get", + "tags": [ + "BrokerAuthentication" + ], + "description": "Get a BrokerAuthenticationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authenticationName", + "in": "path", + "description": "Name of Instance broker authentication resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerAuthenticationResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthentication_Get": { + "$ref": "./examples/BrokerAuthentication_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "BrokerAuthentication_CreateOrUpdate", + "tags": [ + "BrokerAuthentication" + ], + "description": "Create a BrokerAuthenticationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authenticationName", + "in": "path", + "description": "Name of Instance broker authentication resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/BrokerAuthenticationResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'BrokerAuthenticationResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerAuthenticationResource" + } + }, + "201": { + "description": "Resource 'BrokerAuthenticationResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerAuthenticationResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthentication_CreateOrUpdate": { + "$ref": "./examples/BrokerAuthentication_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "BrokerAuthentication_Delete", + "tags": [ + "BrokerAuthentication" + ], + "description": "Delete a BrokerAuthenticationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authenticationName", + "in": "path", + "description": "Name of Instance broker authentication resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthentication_Delete": { + "$ref": "./examples/BrokerAuthentication_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/authorizations": { + "get": { + "operationId": "BrokerAuthorization_ListByResourceGroup", + "tags": [ + "BrokerAuthorization" + ], + "description": "List BrokerAuthorizationResource resources by BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerAuthorizationResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthorization_ListByResourceGroup": { + "$ref": "./examples/BrokerAuthorization_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/authorizations/{authorizationName}": { + "get": { + "operationId": "BrokerAuthorization_Get", + "tags": [ + "BrokerAuthorization" + ], + "description": "Get a BrokerAuthorizationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authorizationName", + "in": "path", + "description": "Name of Instance broker authorization resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerAuthorizationResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthorization_Get": { + "$ref": "./examples/BrokerAuthorization_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "BrokerAuthorization_CreateOrUpdate", + "tags": [ + "BrokerAuthorization" + ], + "description": "Create a BrokerAuthorizationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authorizationName", + "in": "path", + "description": "Name of Instance broker authorization resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/BrokerAuthorizationResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'BrokerAuthorizationResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerAuthorizationResource" + } + }, + "201": { + "description": "Resource 'BrokerAuthorizationResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerAuthorizationResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthorization_CreateOrUpdate": { + "$ref": "./examples/BrokerAuthorization_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "BrokerAuthorization_Delete", + "tags": [ + "BrokerAuthorization" + ], + "description": "Delete a BrokerAuthorizationResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "authorizationName", + "in": "path", + "description": "Name of Instance broker authorization resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerAuthorization_Delete": { + "$ref": "./examples/BrokerAuthorization_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/listeners": { + "get": { + "operationId": "BrokerListener_ListByResourceGroup", + "tags": [ + "BrokerListener" + ], + "description": "List BrokerListenerResource resources by BrokerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerListenerResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerListener_ListByResourceGroup": { + "$ref": "./examples/BrokerListener_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/listeners/{listenerName}": { + "get": { + "operationId": "BrokerListener_Get", + "tags": [ + "BrokerListener" + ], + "description": "Get a BrokerListenerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "listenerName", + "in": "path", + "description": "Name of Instance broker listener resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BrokerListenerResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerListener_Get": { + "$ref": "./examples/BrokerListener_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "BrokerListener_CreateOrUpdate", + "tags": [ + "BrokerListener" + ], + "description": "Create a BrokerListenerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "listenerName", + "in": "path", + "description": "Name of Instance broker listener resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/BrokerListenerResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'BrokerListenerResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerListenerResource" + } + }, + "201": { + "description": "Resource 'BrokerListenerResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/BrokerListenerResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerListener_CreateOrUpdate": { + "$ref": "./examples/BrokerListener_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "BrokerListener_Delete", + "tags": [ + "BrokerListener" + ], + "description": "Delete a BrokerListenerResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "brokerName", + "in": "path", + "description": "Name of broker.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "listenerName", + "in": "path", + "description": "Name of Instance broker listener resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BrokerListener_Delete": { + "$ref": "./examples/BrokerListener_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowEndpoints": { + "get": { + "operationId": "DataFlowEndpoint_ListByResourceGroup", + "tags": [ + "DataFlowEndpoint" + ], + "description": "List DataFlowEndpointResource resources by InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowEndpointResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowEndpoint_ListByResourceGroup": { + "$ref": "./examples/DataFlowEndpoint_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowEndpoints/{dataflowEndpointName}": { + "get": { + "operationId": "DataFlowEndpoint_Get", + "tags": [ + "DataFlowEndpoint" + ], + "description": "Get a DataFlowEndpointResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowEndpointName", + "in": "path", + "description": "Name of Instance dataflowEndpoint resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowEndpointResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowEndpoint_Get": { + "$ref": "./examples/DataFlowEndpoint_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "DataFlowEndpoint_CreateOrUpdate", + "tags": [ + "DataFlowEndpoint" + ], + "description": "Create a DataFlowEndpointResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowEndpointName", + "in": "path", + "description": "Name of Instance dataflowEndpoint resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataFlowEndpointResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DataFlowEndpointResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowEndpointResource" + } + }, + "201": { + "description": "Resource 'DataFlowEndpointResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowEndpointResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowEndpoint_CreateOrUpdate": { + "$ref": "./examples/DataFlowEndpoint_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DataFlowEndpoint_Delete", + "tags": [ + "DataFlowEndpoint" + ], + "description": "Delete a DataFlowEndpointResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowEndpointName", + "in": "path", + "description": "Name of Instance dataflowEndpoint resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowEndpoint_Delete": { + "$ref": "./examples/DataFlowEndpoint_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowProfiles": { + "get": { + "operationId": "DataFlowProfile_ListByResourceGroup", + "tags": [ + "DataFlowProfile" + ], + "description": "List DataFlowProfileResource resources by InstanceResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowProfileResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowProfile_ListByResourceGroup": { + "$ref": "./examples/DataFlowProfile_ListByResourceGroup_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowProfiles/{dataflowProfileName}": { + "get": { + "operationId": "DataFlowProfile_Get", + "tags": [ + "DataFlowProfile" + ], + "description": "Get a DataFlowProfileResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowProfileResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowProfile_Get": { + "$ref": "./examples/DataFlowProfile_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "DataFlowProfile_CreateOrUpdate", + "tags": [ + "DataFlowProfile" + ], + "description": "Create a DataFlowProfileResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataFlowProfileResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DataFlowProfileResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowProfileResource" + } + }, + "201": { + "description": "Resource 'DataFlowProfileResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowProfileResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowProfile_CreateOrUpdate": { + "$ref": "./examples/DataFlowProfile_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DataFlowProfile_Delete", + "tags": [ + "DataFlowProfile" + ], + "description": "Delete a DataFlowProfileResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlowProfile_Delete": { + "$ref": "./examples/DataFlowProfile_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowProfiles/{dataflowProfileName}/dataflows": { + "get": { + "operationId": "DataFlow_ListByProfileResource", + "tags": [ + "DataFlow" + ], + "description": "List DataFlowResource resources by DataFlowProfileResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlow_ListByProfileResource": { + "$ref": "./examples/DataFlow_ListByProfileResource_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowProfiles/{dataflowProfileName}/dataflows/{dataflowName}": { + "get": { + "operationId": "DataFlow_Get", + "tags": [ + "DataFlow" + ], + "description": "Get a DataFlowResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowName", + "in": "path", + "description": "Name of Instance dataflowProfile dataflow resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DataFlowResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlow_Get": { + "$ref": "./examples/DataFlow_Get_MaximumSet_Gen.json" + } + } + }, + "put": { + "operationId": "DataFlow_CreateOrUpdate", + "tags": [ + "DataFlow" + ], + "description": "Create a DataFlowResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowName", + "in": "path", + "description": "Name of Instance dataflowProfile dataflow resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataFlowResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DataFlowResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowResource" + } + }, + "201": { + "description": "Resource 'DataFlowResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/DataFlowResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlow_CreateOrUpdate": { + "$ref": "./examples/DataFlow_CreateOrUpdate_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DataFlow_Delete", + "tags": [ + "DataFlow" + ], + "description": "Delete a DataFlowResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "instanceName", + "in": "path", + "description": "Name of instance.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowProfileName", + "in": "path", + "description": "Name of Instance dataflowProfile resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + }, + { + "name": "dataflowName", + "in": "path", + "description": "Name of Instance dataflowProfile dataflow resource", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DataFlow_Delete": { + "$ref": "./examples/DataFlow_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "AdvancedSettings": { + "type": "object", + "description": "Broker Advanced Settings", + "properties": { + "clients": { + "$ref": "#/definitions/ClientConfig", + "description": "Configurations related to All Clients." + }, + "encryptInternalTraffic": { + "type": "string", + "description": "The setting to enable or disable encryption of internal Traffic.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "internalCerts": { + "$ref": "#/definitions/CertManagerCertOptions", + "description": "Certificate rotation and private key configuration." + } + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "Authentication Mode properties", + "enum": [ + "SystemAssignedManagedIdentity", + "UserAssignedManagedIdentity", + "AccessToken", + "Sasl", + "X509Credentials" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true, + "values": [ + { + "name": "SystemAssignedManagedIdentity", + "value": "SystemAssignedManagedIdentity", + "description": "SystemAssignedManagedIdentity Option" + }, + { + "name": "UserAssignedManagedIdentity", + "value": "UserAssignedManagedIdentity", + "description": "UserAssignedManagedIdentity Option" + }, + { + "name": "AccessToken", + "value": "AccessToken", + "description": "AccessToken Option" + }, + { + "name": "Sasl", + "value": "Sasl", + "description": "Sasl Option" + }, + { + "name": "X509Credentials", + "value": "X509Credentials", + "description": "X509Credentials Option" + } + ] + } + }, + "AuthorizationConfig": { + "type": "object", + "description": "Broker AuthorizationConfig properties", + "properties": { + "cache": { + "type": "string", + "description": "Enable caching of the authorization rules.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "rules": { + "type": "array", + "description": "The authorization rules to follow. If no rule is set, but Authorization Resource is used that would mean DenyAll.", + "items": { + "$ref": "#/definitions/AuthorizationRule" + }, + "x-ms-identifiers": [] + } + } + }, + "AuthorizationRule": { + "type": "object", + "description": "AuthorizationConfig Rule Properties", + "properties": { + "brokerResources": { + "type": "array", + "description": "Give access to Broker methods and topics.", + "items": { + "$ref": "#/definitions/BrokerResourceRule" + }, + "x-ms-identifiers": [] + }, + "principals": { + "$ref": "#/definitions/PrincipalDefinition", + "description": "Give access to clients based on the following properties." + }, + "stateStoreResources": { + "type": "array", + "description": "Give access to state store resources.", + "items": { + "$ref": "#/definitions/StateStoreResourceRule" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "brokerResources", + "principals" + ] + }, + "AutomaticCertMethod": { + "type": "object", + "description": "Automatic TLS server certificate management with cert-manager", + "properties": { + "duration": { + "type": "string", + "description": "Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes." + }, + "secretRef": { + "type": "string", + "description": "Secret for storing server certificate. Any existing data will be overwritten. This is a reference to the secret through an identifying name, not the secret itself." + }, + "renewBefore": { + "type": "string", + "description": "When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes." + }, + "issuerRef": { + "$ref": "#/definitions/CertManagerIssuerRef", + "description": "cert-manager issuerRef." + }, + "privateKey": { + "$ref": "#/definitions/CertManagerPrivateKey", + "description": "Type of certificate private key." + }, + "san": { + "$ref": "#/definitions/SanForCert", + "description": "Additional Subject Alternative Names (SANs) to include in the certificate." + } + }, + "required": [ + "issuerRef" + ] + }, + "BackendChain": { + "type": "object", + "description": "Desired properties of the backend instances of the broker", + "properties": { + "partitions": { + "type": "integer", + "format": "int32", + "description": "The desired number of physical backend partitions.", + "minimum": 1, + "maximum": 16 + }, + "redundancyFactor": { + "type": "integer", + "format": "int32", + "description": "The desired numbers of backend replicas (pods) in a physical partition.", + "minimum": 1, + "maximum": 5 + }, + "workers": { + "type": "integer", + "format": "int32", + "description": "Number of logical backend workers per replica (pod).", + "default": 1, + "minimum": 1, + "maximum": 16 + } + }, + "required": [ + "partitions", + "redundancyFactor" + ] + }, + "BatchingConfiguration": { + "type": "object", + "description": "Batching configuration", + "properties": { + "latencySeconds": { + "type": "integer", + "format": "int32", + "description": "Batching latency in seconds.", + "default": 60, + "minimum": 0, + "maximum": 65535 + }, + "maxMessages": { + "type": "integer", + "format": "int32", + "description": "Maximum number of messages in a batch.", + "default": 100000, + "minimum": 0, + "maximum": 4294967295 + } + } + }, + "BrokerAuthenticationMethod": { + "type": "string", + "description": "Broker Authentication Mode", + "enum": [ + "Custom", + "ServiceAccountToken", + "X509Credentials" + ], + "x-ms-enum": { + "name": "BrokerAuthenticationMethod", + "modelAsString": true, + "values": [ + { + "name": "Custom", + "value": "Custom", + "description": "Custom authentication configuration." + }, + { + "name": "ServiceAccountToken", + "value": "ServiceAccountToken", + "description": "ServiceAccountToken authentication configuration." + }, + { + "name": "X509Credentials", + "value": "X509Credentials", + "description": "X.509 authentication configuration." + } + ] + } + }, + "BrokerAuthenticationProperties": { + "type": "object", + "description": "BrokerAuthentication Resource properties", + "properties": { + "authenticationMethods": { + "type": "array", + "description": "Defines a set of Broker authentication methods to be used on `BrokerListeners`. For each array element one authenticator type supported.", + "items": { + "$ref": "#/definitions/BrokerAuthenticatorMethods" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "authenticationMethods" + ] + }, + "BrokerAuthenticationResource": { + "type": "object", + "description": "Instance broker authentication resource", + "properties": { + "properties": { + "$ref": "#/definitions/BrokerAuthenticationProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "BrokerAuthenticationResourceListResult": { + "type": "object", + "description": "The response of a BrokerAuthenticationResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The BrokerAuthenticationResource items on this page", + "items": { + "$ref": "#/definitions/BrokerAuthenticationResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "BrokerAuthenticatorCustomAuth": { + "type": "object", + "description": "Custom Authentication properties", + "properties": { + "x509": { + "$ref": "#/definitions/X509ManualCertificate", + "description": "X509 Custom Auth type details." + } + }, + "required": [ + "x509" + ] + }, + "BrokerAuthenticatorMethodCustom": { + "type": "object", + "description": "Custom method for BrokerAuthentication", + "properties": { + "auth": { + "$ref": "#/definitions/BrokerAuthenticatorCustomAuth", + "description": "Optional authentication needed for authenticating with the custom authentication server." + }, + "caCertConfigMap": { + "type": "string", + "description": "Optional CA certificate for validating the custom authentication server's certificate." + }, + "endpoint": { + "type": "string", + "format": "uri", + "description": "Endpoint of the custom authentication server. Must be an HTTPS endpoint.", + "pattern": "^https://.*$" + }, + "headers": { + "type": "object", + "description": "Additional HTTP headers to pass to the custom authentication server.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "endpoint" + ] + }, + "BrokerAuthenticatorMethodSat": { + "type": "object", + "description": "Service Account Token for BrokerAuthentication", + "properties": { + "audiences": { + "type": "array", + "description": "List of allowed audience.", + "items": { + "type": "string" + } + } + }, + "required": [ + "audiences" + ] + }, + "BrokerAuthenticatorMethodX509": { + "type": "object", + "description": "X509 for BrokerAuthentication.", + "properties": { + "authorizationAttributes": { + "type": "object", + "description": "X509 authorization attributes properties.", + "additionalProperties": { + "$ref": "#/definitions/BrokerAuthenticatorMethodX509Attributes" + } + }, + "trustedClientCaCert": { + "type": "string", + "description": "Name of the trusted client ca cert resource.", + "default": "client-ca" + } + } + }, + "BrokerAuthenticatorMethodX509Attributes": { + "type": "object", + "description": "BrokerAuthenticatorMethodX509Attributes properties.", + "properties": { + "attributes": { + "type": "object", + "description": "Attributes object.", + "additionalProperties": { + "type": "string" + } + }, + "subject": { + "type": "string", + "description": "Subject of the X509 attribute." + } + }, + "required": [ + "attributes", + "subject" + ] + }, + "BrokerAuthenticatorMethods": { + "type": "object", + "description": "Set of broker authentication policies. Only one method is supported for each entry.", + "properties": { + "method": { + "$ref": "#/definitions/BrokerAuthenticationMethod", + "description": "Custom authentication configuration." + }, + "custom": { + "$ref": "#/definitions/BrokerAuthenticatorMethodCustom", + "description": "Custom authentication configuration." + }, + "serviceAccountToken": { + "$ref": "#/definitions/BrokerAuthenticatorMethodSat", + "description": "ServiceAccountToken authentication configuration." + }, + "x509Credentials": { + "$ref": "#/definitions/BrokerAuthenticatorMethodX509", + "description": "X.509 authentication configuration." + } + }, + "required": [ + "method" + ] + }, + "BrokerAuthorizationProperties": { + "type": "object", + "description": "BrokerAuthorization Resource properties", + "properties": { + "authorizationPolicies": { + "$ref": "#/definitions/AuthorizationConfig", + "description": "The list of authorization policies supported by the Authorization Resource." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "authorizationPolicies" + ] + }, + "BrokerAuthorizationResource": { + "type": "object", + "description": "Instance broker authorizations resource", + "properties": { + "properties": { + "$ref": "#/definitions/BrokerAuthorizationProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "BrokerAuthorizationResourceListResult": { + "type": "object", + "description": "The response of a BrokerAuthorizationResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The BrokerAuthorizationResource items on this page", + "items": { + "$ref": "#/definitions/BrokerAuthorizationResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "BrokerDiagnostics": { + "type": "object", + "description": "Broker Diagnostic Setting properties", + "properties": { + "logs": { + "$ref": "#/definitions/DiagnosticsLogs", + "description": "Diagnostic log settings for the resource." + }, + "metrics": { + "$ref": "#/definitions/Metrics", + "description": "The metrics settings for the resource." + }, + "selfCheck": { + "$ref": "#/definitions/SelfCheck", + "description": "The self check properties." + }, + "traces": { + "$ref": "#/definitions/Traces", + "description": "The trace properties." + } + } + }, + "BrokerListenerProperties": { + "type": "object", + "description": "Defines a Broker listener. A listener is a collection of ports on which the broker accepts connections from clients.", + "properties": { + "brokerRef": { + "type": "string", + "description": "Broker associated with this listener." + }, + "serviceName": { + "type": "string", + "description": "Kubernetes Service name of this listener.", + "default": "aio-mq-dmqtt-frontend" + }, + "ports": { + "type": "array", + "description": "Ports on which this listener accepts client connections.", + "items": { + "$ref": "#/definitions/ListenerPort" + }, + "x-ms-identifiers": [ + "port" + ] + }, + "serviceType": { + "type": "string", + "description": "Kubernetes Service type of this listener.", + "default": "ClusterIp", + "enum": [ + "ClusterIp", + "LoadBalancer", + "NodePort" + ], + "x-ms-enum": { + "name": "ServiceType", + "modelAsString": true, + "values": [ + { + "name": "ClusterIp", + "value": "ClusterIp", + "description": "Cluster IP Service." + }, + { + "name": "LoadBalancer", + "value": "LoadBalancer", + "description": "Load Balancer Service." + }, + { + "name": "NodePort", + "value": "NodePort", + "description": "Node Port Service." + } + ] + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "brokerRef", + "ports" + ] + }, + "BrokerListenerResource": { + "type": "object", + "description": "Instance broker resource", + "properties": { + "properties": { + "$ref": "#/definitions/BrokerListenerProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "BrokerListenerResourceListResult": { + "type": "object", + "description": "The response of a BrokerListenerResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The BrokerListenerResource items on this page", + "items": { + "$ref": "#/definitions/BrokerListenerResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "BrokerMemoryProfile": { + "type": "string", + "description": "The memory profile settings of the Broker", + "enum": [ + "Tiny", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "BrokerMemoryProfile", + "modelAsString": true, + "values": [ + { + "name": "Tiny", + "value": "Tiny", + "description": "Tiny memory profile." + }, + { + "name": "Low", + "value": "Low", + "description": "Low memory profile." + }, + { + "name": "Medium", + "value": "Medium", + "description": "Medium memory profile." + }, + { + "name": "High", + "value": "High", + "description": "High memory profile." + } + ] + } + }, + "BrokerProperties": { + "type": "object", + "description": "Broker Resource properties", + "properties": { + "advanced": { + "$ref": "#/definitions/AdvancedSettings", + "description": "Advanced settings of Broker.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cardinality": { + "$ref": "#/definitions/Cardinality", + "description": "The cardinality details of the broker.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "diagnostics": { + "$ref": "#/definitions/BrokerDiagnostics", + "description": "Spec defines the desired identities of Broker diagnostics settings." + }, + "diskBackedMessageBuffer": { + "$ref": "#/definitions/DiskBackedMessageBuffer", + "description": "Settings of Disk Backed Message Buffer.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "generateResourceLimits": { + "$ref": "#/definitions/GenerateResourceLimits", + "description": "This setting controls whether Kubernetes CPU resource limits are requested. Increasing the number of replicas or workers proportionally increases the amount of CPU resources requested. If this setting is enabled and there are insufficient CPU resources, an error will be emitted.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "memoryProfile": { + "type": "string", + "description": "Memory profile of Broker.", + "default": "Medium", + "enum": [ + "Tiny", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "BrokerMemoryProfile", + "modelAsString": true, + "values": [ + { + "name": "Tiny", + "value": "Tiny", + "description": "Tiny memory profile." + }, + { + "name": "Low", + "value": "Low", + "description": "Low memory profile." + }, + { + "name": "Medium", + "value": "Medium", + "description": "Medium memory profile." + }, + { + "name": "High", + "value": "High", + "description": "High memory profile." + } + ] + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "BrokerProtocolType": { + "type": "string", + "description": "Broker Protocol types", + "enum": [ + "Mqtt", + "WebSockets" + ], + "x-ms-enum": { + "name": "BrokerProtocolType", + "modelAsString": true, + "values": [ + { + "name": "Mqtt", + "value": "Mqtt", + "description": "protocol broker" + }, + { + "name": "WebSockets", + "value": "WebSockets", + "description": "protocol websocket" + } + ] + } + }, + "BrokerResource": { + "type": "object", + "description": "Instance broker resource", + "properties": { + "properties": { + "$ref": "#/definitions/BrokerProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "BrokerResourceDefinitionMethods": { + "type": "string", + "description": "BrokerResourceDefinitionMethods methods allowed", + "enum": [ + "Connect", + "Publish", + "Subscribe" + ], + "x-ms-enum": { + "name": "BrokerResourceDefinitionMethods", + "modelAsString": true, + "values": [ + { + "name": "Connect", + "value": "Connect", + "description": "Allowed Connecting to Broker" + }, + { + "name": "Publish", + "value": "Publish", + "description": "Allowed Publishing to Broker" + }, + { + "name": "Subscribe", + "value": "Subscribe", + "description": "Allowed Subscribing to Broker" + } + ] + } + }, + "BrokerResourceListResult": { + "type": "object", + "description": "The response of a BrokerResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The BrokerResource items on this page", + "items": { + "$ref": "#/definitions/BrokerResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "BrokerResourceRule": { + "type": "object", + "description": "Broker Resource Rule properties. This defines the objects that represent the actions or topics, such as - method.Connect, method.Publish, etc.", + "properties": { + "method": { + "$ref": "#/definitions/BrokerResourceDefinitionMethods", + "description": "Give access for a Broker method (i.e., Connect, Subscribe, or Publish)." + }, + "topics": { + "type": "array", + "description": "A list of topics or topic patterns that match the topics that the clients can publish or subscribe to. This subfield is required if the method is Publish or Subscribe.", + "default": [], + "items": { + "type": "string" + } + } + }, + "required": [ + "method" + ] + }, + "Cardinality": { + "type": "object", + "description": "Cardinality properties", + "properties": { + "backendChain": { + "$ref": "#/definitions/BackendChain", + "description": "The backend broker desired properties" + }, + "frontend": { + "$ref": "#/definitions/Frontend", + "description": "The frontend desired properties" + } + }, + "required": [ + "backendChain", + "frontend" + ] + }, + "CertManagerCertOptions": { + "type": "object", + "description": "Cert Manager Cert properties", + "properties": { + "duration": { + "type": "string", + "description": "Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes." + }, + "renewBefore": { + "type": "string", + "description": "When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes." + }, + "privateKey": { + "$ref": "#/definitions/CertManagerPrivateKey", + "description": "Configuration of certificate private key." + } + }, + "required": [ + "duration", + "renewBefore", + "privateKey" + ] + }, + "CertManagerIssuerKind": { + "type": "string", + "description": "CertManagerIssuerKind properties", + "enum": [ + "Issuer", + "ClusterIssuer" + ], + "x-ms-enum": { + "name": "CertManagerIssuerKind", + "modelAsString": true, + "values": [ + { + "name": "Issuer", + "value": "Issuer", + "description": "Issuer kind." + }, + { + "name": "ClusterIssuer", + "value": "ClusterIssuer", + "description": "ClusterIssuer kind." + } + ] + } + }, + "CertManagerIssuerRef": { + "type": "object", + "description": "Cert-Manager issuerRef properties", + "properties": { + "apiGroup": { + "type": "string", + "description": "group of issuer.", + "default": "cert-manager.io" + }, + "kind": { + "$ref": "#/definitions/CertManagerIssuerKind", + "description": "kind of issuer (Issuer or ClusterIssuer)." + }, + "name": { + "type": "string", + "description": "name of issuer." + } + }, + "required": [ + "apiGroup", + "kind", + "name" + ] + }, + "CertManagerPrivateKey": { + "type": "object", + "description": "Cert Manager private key properties", + "properties": { + "algorithm": { + "$ref": "#/definitions/PrivateKeyAlgorithm", + "description": "algorithm for private key." + }, + "rotationPolicy": { + "$ref": "#/definitions/PrivateKeyRotationPolicy", + "description": "cert-manager private key rotationPolicy." + } + }, + "required": [ + "algorithm", + "rotationPolicy" + ] + }, + "ClientConfig": { + "type": "object", + "description": "The settings of Client Config.", + "properties": { + "maxSessionExpirySeconds": { + "type": "integer", + "format": "int32", + "description": "Upper bound of Session Expiry Interval, in seconds.", + "minimum": 1, + "maximum": 4294967295 + }, + "maxMessageExpirySeconds": { + "type": "integer", + "format": "int32", + "description": "Upper bound of Message Expiry Interval, in seconds.", + "minimum": 1, + "maximum": 4294967295 + }, + "maxPacketSizeBytes": { + "type": "integer", + "format": "int32", + "description": "Max message size for a packet in Bytes.", + "minimum": 1, + "maximum": 268435456 + }, + "subscriberQueueLimit": { + "$ref": "#/definitions/SubscriberQueueLimit", + "description": "The limit on the number of queued messages for a subscriber." + }, + "maxReceiveMaximum": { + "type": "integer", + "format": "int32", + "description": "Upper bound of Receive Maximum that a client can request in the CONNECT packet.", + "minimum": 1, + "maximum": 65535 + }, + "maxKeepAliveSeconds": { + "type": "integer", + "format": "int32", + "description": "Upper bound of a client's Keep Alive, in seconds.", + "minimum": 0, + "maximum": 65535 + } + } + }, + "DataFlowBuiltInTransformation": { + "type": "object", + "description": "DataFlow BuiltIn Transformation properties", + "properties": { + "serializationFormat": { + "type": "string", + "description": "Serialization format. Optional; defaults to JSON. Allowed value JSON Schema/draft-7, Parquet. Default: Json", + "default": "Json", + "enum": [ + "Delta", + "Json", + "Parquet" + ], + "x-ms-enum": { + "name": "TransformationSerializationFormat", + "modelAsString": true, + "values": [ + { + "name": "Delta", + "value": "Delta", + "description": "Delta Format" + }, + { + "name": "Json", + "value": "Json", + "description": "JSON Format" + }, + { + "name": "Parquet", + "value": "Parquet", + "description": "Parquet Format" + } + ] + } + }, + "schemaRef": { + "type": "string", + "description": "Reference to the schema that describes the output of the transformation." + }, + "datasets": { + "type": "array", + "description": "Enrich data from Broker State Store. Dataset references a key in Broker State Store.", + "default": [], + "maxItems": 1, + "items": { + "$ref": "#/definitions/DataFlowBuiltInTransformationDataset" + }, + "x-ms-identifiers": [] + }, + "filter": { + "type": "array", + "description": "Filters input record or datapoints based on condition.", + "default": [], + "items": { + "$ref": "#/definitions/DataFlowBuiltInTransformationFilter" + }, + "x-ms-identifiers": [] + }, + "map": { + "type": "array", + "description": "Maps input to output message.", + "default": [], + "items": { + "$ref": "#/definitions/DataFlowBuiltInTransformationMap" + }, + "x-ms-identifiers": [] + } + } + }, + "DataFlowBuiltInTransformationDataset": { + "type": "object", + "description": "DataFlow BuiltIn Transformation dataset properties", + "properties": { + "key": { + "type": "string", + "description": "The key of the dataset.", + "maxLength": 64 + }, + "description": { + "type": "string", + "description": "A user provided optional description of the dataset.", + "maxLength": 256 + }, + "schemaRef": { + "type": "string", + "description": "The reference to the schema that describes the dataset. Allowed: JSON Schema/draft-7." + }, + "inputs": { + "type": "array", + "description": "List of fields for enriching from the Broker State Store.", + "items": { + "type": "string" + } + }, + "expression": { + "type": "string", + "description": "Condition to enrich data from Broker State Store. Example: $1 < 0 || $1 > $2 (Assuming inputs section $1 and $2 are provided)" + } + }, + "required": [ + "key", + "inputs" + ] + }, + "DataFlowBuiltInTransformationFilter": { + "type": "object", + "description": "DataFlow BuiltIn Transformation filter properties", + "properties": { + "type": { + "type": "string", + "description": "The type of dataflow operation.", + "default": "Filter", + "enum": [ + "Filter" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": true, + "values": [ + { + "name": "Filter", + "value": "Filter", + "description": "Filter type" + } + ] + } + }, + "description": { + "type": "string", + "description": "A user provided optional description of the filter.", + "maxLength": 256 + }, + "inputs": { + "type": "array", + "description": "List of fields for filtering in JSON path expression.", + "items": { + "type": "string" + } + }, + "expression": { + "type": "string", + "description": "Condition to filter data. Can reference input fields with {n} where n is the index of the input field starting from 1. Example: $1 < 0 || $1 > $2 (Assuming inputs section $1 and $2 are provided)" + } + }, + "required": [ + "inputs", + "expression" + ] + }, + "DataFlowBuiltInTransformationMap": { + "type": "object", + "description": "DataFlow BuiltIn Transformation map properties", + "properties": { + "type": { + "$ref": "#/definitions/DataFlowMappingType", + "description": "Type of transformation." + }, + "description": { + "type": "string", + "description": "A user provided optional description of the mapping function.", + "maxLength": 256 + }, + "inputs": { + "type": "array", + "description": "List of fields for mapping in JSON path expression.", + "items": { + "type": "string" + } + }, + "expression": { + "type": "string", + "description": "Modify the inputs field(s) to the final output field. Example: $1 * 2.2 (Assuming inputs section $1 is provided)" + }, + "output": { + "type": "string", + "description": "Where and how the input fields to be organized in the output record." + } + }, + "required": [ + "inputs", + "output" + ] + }, + "DataFlowDestinationOperation": { + "type": "object", + "description": "DataFlow Destination Operation properties", + "properties": { + "endpointRef": { + "type": "string", + "description": "Reference to the Endpoint CR. Can be of Broker, Kafka, Fabric, ADLS, ADX type." + }, + "dataDestination": { + "type": "string", + "description": "Destination location, can be a topic or table name. Supports dynamic values with $topic, $systemProperties, $userProperties, $payload, $context, and $subscription." + } + }, + "required": [ + "endpointRef", + "dataDestination" + ] + }, + "DataFlowEndpointAuthentication": { + "type": "object", + "description": "Azure Data Explorer Authentication properties. NOTE - only authentication property is allowed per entry.", + "properties": { + "method": { + "$ref": "#/definitions/AuthenticationMethod", + "description": "Mode of Authentication." + }, + "systemAssignedManagedIdentitySettings": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationSystemAssignedManagedIdentity", + "description": "System-assigned managed identity authentication." + }, + "userAssignedManagedIdentitySettings": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationUserAssignedManagedIdentity", + "description": "User-assigned managed identity authentication." + }, + "accessTokenSecretRef": { + "type": "string", + "description": "SAS token authentication." + }, + "saslSettings": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationSasl", + "description": "SASL authentication." + }, + "serviceAccountTokenSettings": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationServiceAccountToken", + "description": "Service Account Token authentication." + }, + "x509CredentialsSettings": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationX509", + "description": "X.509 certificate authentication." + } + }, + "required": [ + "method" + ] + }, + "DataFlowEndpointAuthenticationSasl": { + "type": "object", + "description": "DataFlowEndpoint Authentication Sasl properties", + "properties": { + "saslType": { + "$ref": "#/definitions/DataFlowEndpointAuthenticationSaslType", + "description": "Type of SASL authentication. Can be PLAIN, SCRAM-SHA-256, or SCRAM-SHA-512." + }, + "tokenSecretRef": { + "type": "string", + "description": "Token secret name." + } + }, + "required": [ + "saslType", + "tokenSecretRef" + ] + }, + "DataFlowEndpointAuthenticationSaslType": { + "type": "string", + "description": "DataFlowEndpoint Authentication Sasl Type properties", + "enum": [ + "Plain", + "ScramSha256", + "ScramSha512" + ], + "x-ms-enum": { + "name": "DataFlowEndpointAuthenticationSaslType", + "modelAsString": true, + "values": [ + { + "name": "Plain", + "value": "Plain", + "description": "PLAIN Type" + }, + { + "name": "ScramSha256", + "value": "ScramSha256", + "description": "SCRAM_SHA_256 Type" + }, + { + "name": "ScramSha512", + "value": "ScramSha512", + "description": "SCRAM_SHA_512 Type" + } + ] + } + }, + "DataFlowEndpointAuthenticationServiceAccountToken": { + "type": "object", + "description": "Service Account Token for BrokerAuthentication", + "properties": { + "audience": { + "type": "string", + "description": "Audience of the service account. Optional, defaults to the broker internal service account audience." + } + }, + "required": [ + "audience" + ] + }, + "DataFlowEndpointAuthenticationSystemAssignedManagedIdentity": { + "type": "object", + "description": "DataFlowEndpoint Authentication SystemAssignedManagedIdentity properties", + "properties": { + "audience": { + "type": "string", + "description": "Audience of the service to authenticate against. Optional; defaults to the audience for Service host configuration." + } + }, + "required": [ + "audience" + ] + }, + "DataFlowEndpointAuthenticationUserAssignedManagedIdentity": { + "type": "object", + "description": "DataFlowEndpoint Authentication UserAssignedManagedIdentity properties", + "properties": { + "clientId": { + "type": "string", + "description": "Client ID for the user-assigned managed identity." + }, + "audience": { + "type": "string", + "description": "Resource identifier (application ID URI) of the resource, affixed with the .default suffix." + }, + "tenantId": { + "type": "string", + "description": "Tenant ID." + } + }, + "required": [ + "clientId", + "audience", + "tenantId" + ] + }, + "DataFlowEndpointAuthenticationX509": { + "type": "object", + "description": "DataFlowEndpoint Authentication X509 properties", + "properties": { + "secretRef": { + "type": "string", + "description": "Secret reference of the X.509 certificate." + } + }, + "required": [ + "secretRef" + ] + }, + "DataFlowEndpointDataExplorer": { + "type": "object", + "description": "Azure Data Explorer endpoint properties", + "properties": { + "database": { + "type": "string", + "description": "Database name." + }, + "host": { + "type": "string", + "description": "Host of the Azure Data Explorer in the form of ..kusto.windows.net .", + "pattern": ".+\\..+\\.kusto\\.windows\\.net" + }, + "batching": { + "$ref": "#/definitions/BatchingConfiguration", + "description": "Azure Data Explorer endpoint batching configuration." + } + }, + "required": [ + "database", + "host" + ] + }, + "DataFlowEndpointDataLakeStorage": { + "type": "object", + "description": "Azure Data Lake endpoint properties", + "properties": { + "host": { + "type": "string", + "description": "Host of the Azure Data Lake in the form of .blob.core.windows.net .", + "pattern": ".+\\.blob\\.core\\.windows\\.net" + }, + "batching": { + "$ref": "#/definitions/BatchingConfiguration", + "description": "Azure Data Lake endpoint batching configuration." + } + }, + "required": [ + "host" + ] + }, + "DataFlowEndpointFabricOneLake": { + "type": "object", + "description": "Microsoft Fabric endpoint properties", + "properties": { + "names": { + "$ref": "#/definitions/DataFlowEndpointFabricOneLakeNames", + "description": "Names of the workspace and lakehouse." + }, + "oneLakePathType": { + "$ref": "#/definitions/DataFlowEndpointFabricPathType", + "description": "Type of location of the data in the workspace. Can be either tables or files." + }, + "host": { + "type": "string", + "description": "Host of the Microsoft Fabric in the form of https://.fabric.microsoft.com.", + "pattern": ".+\\.fabric\\.microsoft\\.com" + }, + "batching": { + "$ref": "#/definitions/BatchingConfiguration", + "description": "Batching configuration." + } + }, + "required": [ + "names", + "oneLakePathType", + "host" + ] + }, + "DataFlowEndpointFabricOneLakeNames": { + "type": "object", + "description": "Microsoft Fabric endpoint Names properties", + "properties": { + "lakehouseName": { + "type": "string", + "description": "Lakehouse name." + }, + "workspaceName": { + "type": "string", + "description": "Workspace name." + } + }, + "required": [ + "lakehouseName", + "workspaceName" + ] + }, + "DataFlowEndpointFabricPathType": { + "type": "string", + "description": "DataFlowEndpoint Fabric Path Type properties", + "enum": [ + "Files", + "Tables" + ], + "x-ms-enum": { + "name": "DataFlowEndpointFabricPathType", + "modelAsString": true, + "values": [ + { + "name": "Files", + "value": "Files", + "description": "FILES Type" + }, + { + "name": "Tables", + "value": "Tables", + "description": "TABLES Type" + } + ] + } + }, + "DataFlowEndpointKafka": { + "type": "object", + "description": "Kafka endpoint properties", + "properties": { + "consumerGroupId": { + "type": "string", + "description": "Consumer group ID." + }, + "host": { + "type": "string", + "description": "Kafka endpoint host." + }, + "batching": { + "$ref": "#/definitions/DataFlowEndpointKafkaBatching", + "description": "Batching configuration." + }, + "copyMqttProperties": { + "type": "string", + "description": "Copy Broker properties. No effect if the endpoint is used as a source or if the dataflow doesn't have an Broker source.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "compression": { + "type": "string", + "description": "Compression. Can be none, gzip, lz4, or snappy. No effect if the endpoint is used as a source.", + "default": "None", + "enum": [ + "None", + "Gzip", + "Snappy", + "Lz4" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaCompression", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "NONE Option" + }, + { + "name": "Gzip", + "value": "Gzip", + "description": "Gzip Option" + }, + { + "name": "Snappy", + "value": "Snappy", + "description": "SNAPPY Option" + }, + { + "name": "Lz4", + "value": "Lz4", + "description": "LZ4 Option" + } + ] + } + }, + "kafkaAcks": { + "type": "string", + "description": "Kafka acks. Can be all, one, or zero. No effect if the endpoint is used as a source.", + "default": "All", + "enum": [ + "Zero", + "One", + "All" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaAcks", + "modelAsString": true, + "values": [ + { + "name": "Zero", + "value": "Zero", + "description": "ZERO Option" + }, + { + "name": "One", + "value": "One", + "description": "ONE Option" + }, + { + "name": "All", + "value": "All", + "description": "ALL Option" + } + ] + } + }, + "partitionStrategy": { + "type": "string", + "description": "Partition handling strategy. Can be default or static. No effect if the endpoint is used as a source.", + "default": "Default", + "enum": [ + "Default", + "Static", + "Topic", + "Property" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaPartitionStrategy", + "modelAsString": true, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "Default: Assigns messages to random partitions, using a round-robin algorithm." + }, + { + "name": "Static", + "value": "Static", + "description": "Static: Assigns messages to a fixed partition number that's derived from the instance ID of the dataflow." + }, + { + "name": "Topic", + "value": "Topic", + "description": "TOPIC Option" + }, + { + "name": "Property", + "value": "Property", + "description": "PROPERTY Option" + } + ] + } + }, + "tls": { + "$ref": "#/definitions/TlsProperties", + "description": "TLS configuration." + } + }, + "required": [ + "tls" + ] + }, + "DataFlowEndpointKafkaAcks": { + "type": "string", + "description": "DataFlowEndpoint Kafka Acks properties", + "enum": [ + "Zero", + "One", + "All" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaAcks", + "modelAsString": true, + "values": [ + { + "name": "Zero", + "value": "Zero", + "description": "ZERO Option" + }, + { + "name": "One", + "value": "One", + "description": "ONE Option" + }, + { + "name": "All", + "value": "All", + "description": "ALL Option" + } + ] + } + }, + "DataFlowEndpointKafkaBatching": { + "type": "object", + "description": "Kafka endpoint Batching properties", + "properties": { + "mode": { + "type": "string", + "description": "Mode for batching.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "latencyMs": { + "type": "integer", + "format": "int32", + "description": "Batching latency in milliseconds.", + "default": 5, + "minimum": 0, + "maximum": 65535 + }, + "maxBytes": { + "type": "integer", + "format": "int32", + "description": "Maximum number of bytes in a batch.", + "default": 1000000, + "minimum": 0, + "maximum": 4294967295 + }, + "maxMessages": { + "type": "integer", + "format": "int32", + "description": "Maximum number of messages in a batch.", + "default": 100000, + "minimum": 0, + "maximum": 4294967295 + } + } + }, + "DataFlowEndpointKafkaCompression": { + "type": "string", + "description": "Kafka endpoint Compression properties", + "enum": [ + "None", + "Gzip", + "Snappy", + "Lz4" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaCompression", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "NONE Option" + }, + { + "name": "Gzip", + "value": "Gzip", + "description": "Gzip Option" + }, + { + "name": "Snappy", + "value": "Snappy", + "description": "SNAPPY Option" + }, + { + "name": "Lz4", + "value": "Lz4", + "description": "LZ4 Option" + } + ] + } + }, + "DataFlowEndpointKafkaPartitionStrategy": { + "type": "string", + "description": "DataFlowEndpoint Kafka Partition Strategy properties", + "enum": [ + "Default", + "Static", + "Topic", + "Property" + ], + "x-ms-enum": { + "name": "DataFlowEndpointKafkaPartitionStrategy", + "modelAsString": true, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "Default: Assigns messages to random partitions, using a round-robin algorithm." + }, + { + "name": "Static", + "value": "Static", + "description": "Static: Assigns messages to a fixed partition number that's derived from the instance ID of the dataflow." + }, + { + "name": "Topic", + "value": "Topic", + "description": "TOPIC Option" + }, + { + "name": "Property", + "value": "Property", + "description": "PROPERTY Option" + } + ] + } + }, + "DataFlowEndpointLocalStorage": { + "type": "object", + "description": "Local persistent volume endpoint properties", + "properties": { + "persistentVolumeClaimRef": { + "type": "string", + "description": "Persistent volume claim name." + } + }, + "required": [ + "persistentVolumeClaimRef" + ] + }, + "DataFlowEndpointMqtt": { + "type": "object", + "description": "Broker endpoint properties", + "properties": { + "clientIdPrefix": { + "type": "string", + "description": "Client ID prefix. Client ID generated by the dataflow is -TBD. Optional; no prefix if omitted." + }, + "host": { + "type": "string", + "description": "Host of the Broker in the form of :. Optional; connects to Broker if omitted.", + "default": "aio-mq-dmqtt-frontend:1883" + }, + "protocol": { + "type": "string", + "description": "Enable or disable websockets.", + "default": "Mqtt", + "enum": [ + "Mqtt", + "WebSockets" + ], + "x-ms-enum": { + "name": "BrokerProtocolType", + "modelAsString": true, + "values": [ + { + "name": "Mqtt", + "value": "Mqtt", + "description": "protocol broker" + }, + { + "name": "WebSockets", + "value": "WebSockets", + "description": "protocol websocket" + } + ] + } + }, + "keepAliveSeconds": { + "type": "integer", + "format": "int32", + "description": "Broker KeepAlive for connection in seconds.", + "default": 60, + "minimum": 0 + }, + "retain": { + "type": "string", + "description": "Whether or not to keep the retain setting.", + "default": "Keep", + "enum": [ + "Keep", + "Never" + ], + "x-ms-enum": { + "name": "MqttRetainType", + "modelAsString": true, + "values": [ + { + "name": "Keep", + "value": "Keep", + "description": "Retain the messages." + }, + { + "name": "Never", + "value": "Never", + "description": "Never retain messages." + } + ] + } + }, + "maxInflightMessages": { + "type": "integer", + "format": "int32", + "description": "The max number of messages to keep in flight. For subscribe, this is the receive maximum. For publish, this is the maximum number of messages to send before waiting for an ack.", + "default": 100, + "minimum": 0 + }, + "qos": { + "type": "integer", + "format": "int32", + "description": "Qos for Broker connection.", + "default": 1, + "minimum": 0, + "maximum": 2 + }, + "sessionExpirySeconds": { + "type": "integer", + "format": "int32", + "description": "Session expiry in seconds.", + "default": 3600, + "minimum": 0 + }, + "tls": { + "$ref": "#/definitions/TlsProperties", + "description": "TLS configuration." + } + } + }, + "DataFlowEndpointProperties": { + "type": "object", + "description": "DataFlowEndpoint Resource properties. NOTE - Only one type of endpoint is supported for one Resource", + "properties": { + "endpointType": { + "$ref": "#/definitions/EndpointType", + "description": "Endpoint Type." + }, + "authentication": { + "$ref": "#/definitions/DataFlowEndpointAuthentication", + "description": "Authentication configuration." + }, + "dataExplorerSettings": { + "$ref": "#/definitions/DataFlowEndpointDataExplorer", + "description": "Azure Data Explorer endpoint." + }, + "dataLakeStorageSettings": { + "$ref": "#/definitions/DataFlowEndpointDataLakeStorage", + "description": "Azure Data Lake endpoint." + }, + "fabricOneLakeSettings": { + "$ref": "#/definitions/DataFlowEndpointFabricOneLake", + "description": "Microsoft Fabric endpoint." + }, + "kafkaSettings": { + "$ref": "#/definitions/DataFlowEndpointKafka", + "description": "Kafka endpoint." + }, + "localStorageSettings": { + "$ref": "#/definitions/DataFlowEndpointLocalStorage", + "description": "Local persistent volume endpoint." + }, + "mqttSettings": { + "$ref": "#/definitions/DataFlowEndpointMqtt", + "description": "Broker endpoint." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "endpointType", + "authentication" + ] + }, + "DataFlowEndpointResource": { + "type": "object", + "description": "Instance dataflowEndpoint resource", + "properties": { + "properties": { + "$ref": "#/definitions/DataFlowEndpointProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DataFlowEndpointResourceListResult": { + "type": "object", + "description": "The response of a DataFlowEndpointResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DataFlowEndpointResource items on this page", + "items": { + "$ref": "#/definitions/DataFlowEndpointResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DataFlowMappingType": { + "type": "string", + "description": "DataFlow type mapping properties", + "enum": [ + "NewProperties", + "Rename", + "Compute", + "PassThrough", + "BuiltInFunction" + ], + "x-ms-enum": { + "name": "DataFlowMappingType", + "modelAsString": true, + "values": [ + { + "name": "NewProperties", + "value": "NewProperties", + "description": "New Properties type" + }, + { + "name": "Rename", + "value": "Rename", + "description": "Rename type" + }, + { + "name": "Compute", + "value": "Compute", + "description": "Compute type" + }, + { + "name": "PassThrough", + "value": "PassThrough", + "description": "Pass-through type" + }, + { + "name": "BuiltInFunction", + "value": "BuiltInFunction", + "description": "Built in function type" + } + ] + } + }, + "DataFlowOperation": { + "type": "object", + "description": "DataFlow Operation properties. NOTE - One only method is allowed to be used for one entry.", + "properties": { + "operationType": { + "$ref": "#/definitions/OperationType", + "description": "Type of operation." + }, + "name": { + "type": "string", + "description": "Optional user provided name of the transformation.", + "maxLength": 64 + }, + "builtInTransformationSettings": { + "$ref": "#/definitions/DataFlowBuiltInTransformation", + "description": "Transformation configuration." + }, + "destinationSettings": { + "$ref": "#/definitions/DataFlowDestinationOperation", + "description": "Destination configuration." + }, + "sourceSettings": { + "$ref": "#/definitions/DataFlowSourceOperation", + "description": "Source configuration." + } + }, + "required": [ + "operationType", + "destinationSettings", + "sourceSettings" + ] + }, + "DataFlowProfileProperties": { + "type": "object", + "description": "DataFlowProfile Resource properties", + "properties": { + "diagnostics": { + "$ref": "#/definitions/ProfileDiagnostics", + "description": "Spec defines the desired identities of NBC diagnostics settings." + }, + "instanceCount": { + "type": "integer", + "format": "int32", + "description": "To manually scale the dataflow profile, specify the maximum number of instances you want to run.", + "minimum": 1, + "maximum": 20 + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "DataFlowProfileResource": { + "type": "object", + "description": "Instance dataflowProfile resource", + "properties": { + "properties": { + "$ref": "#/definitions/DataFlowProfileProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DataFlowProfileResourceListResult": { + "type": "object", + "description": "The response of a DataFlowProfileResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DataFlowProfileResource items on this page", + "items": { + "$ref": "#/definitions/DataFlowProfileResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DataFlowProperties": { + "type": "object", + "description": "DataFlow Resource properties", + "properties": { + "profileRef": { + "type": "string", + "description": "Reference to the DataflowProfile CR." + }, + "mode": { + "type": "string", + "description": "Mode for DataFlow. Optional; defaults to Enabled.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "operations": { + "type": "array", + "description": "List of operations including source and destination references as well as transformation.", + "items": { + "$ref": "#/definitions/DataFlowOperation" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "profileRef", + "operations" + ] + }, + "DataFlowResource": { + "type": "object", + "description": "Instance dataflowProfile dataflow resource", + "properties": { + "properties": { + "$ref": "#/definitions/DataFlowProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DataFlowResourceListResult": { + "type": "object", + "description": "The response of a DataFlowResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DataFlowResource items on this page", + "items": { + "$ref": "#/definitions/DataFlowResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DataFlowSourceOperation": { + "type": "object", + "description": "DataFlow Source Operation properties", + "properties": { + "endpointRef": { + "type": "string", + "description": "Reference to the Dataflow Endpoint resource. Can only be of Broker and Kafka type." + }, + "assetRef": { + "type": "string", + "description": "Reference to the resource in Azure Device Registry where the data in the endpoint originates from." + }, + "serializationFormat": { + "type": "string", + "description": "Content is a JSON Schema. Allowed: JSON Schema/draft-7.", + "default": "Json", + "enum": [ + "Json" + ], + "x-ms-enum": { + "name": "SourceSerializationFormat", + "modelAsString": true, + "values": [ + { + "name": "Json", + "value": "Json", + "description": "JSON Format" + } + ] + } + }, + "schemaRef": { + "type": "string", + "description": "Schema CR reference. Data will be deserialized according to the schema, and dropped if it doesn't match." + }, + "dataSources": { + "type": "array", + "description": "List of source locations. Can be Broker or Kafka topics. Supports wildcards # and +.", + "items": { + "type": "string" + } + } + }, + "required": [ + "endpointRef", + "dataSources" + ] + }, + "DiagnosticsLogs": { + "type": "object", + "description": "Diagnostic Log properties", + "properties": { + "opentelemetryExportConfig": { + "$ref": "#/definitions/OpenTelemetryLogExportConfig", + "description": "The open telemetry export configuration." + }, + "level": { + "type": "string", + "description": "The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.", + "default": "info" + } + } + }, + "DiskBackedMessageBuffer": { + "type": "object", + "description": "DiskBackedMessageBuffer properties", + "properties": { + "maxSize": { + "type": "string", + "description": "The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See for details.", + "pattern": "^[0-9]+[KMGTPE]$" + }, + "ephemeralVolumeClaimSpec": { + "$ref": "#/definitions/VolumeClaimSpec", + "description": "Use the specified persistent volume claim template to mount a \"generic ephemeral volume\" for the message buffer. See for details." + }, + "persistentVolumeClaimSpec": { + "$ref": "#/definitions/VolumeClaimSpec", + "description": "Use the specified persistent volume claim template to mount a persistent volume for the message buffer." + } + }, + "required": [ + "maxSize" + ] + }, + "EndpointType": { + "type": "string", + "description": "DataFlowEndpoint Type properties", + "enum": [ + "DataExplorer", + "DataLakeStorage", + "FabricOneLake", + "Kafka", + "LocalStorage", + "Mqtt" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true, + "values": [ + { + "name": "DataExplorer", + "value": "DataExplorer", + "description": "Azure Data Explorer Type" + }, + { + "name": "DataLakeStorage", + "value": "DataLakeStorage", + "description": "Azure Data Lake Type" + }, + { + "name": "FabricOneLake", + "value": "FabricOneLake", + "description": "Microsoft Fabric Type" + }, + { + "name": "Kafka", + "value": "Kafka", + "description": "Kafka Type" + }, + { + "name": "LocalStorage", + "value": "LocalStorage", + "description": "Local Storage Type" + }, + { + "name": "Mqtt", + "value": "Mqtt", + "description": "Broker Type" + } + ] + } + }, + "ExtendedLocation": { + "type": "object", + "description": "Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "Type of ExtendedLocation." + } + }, + "required": [ + "name", + "type" + ] + }, + "ExtendedLocationType": { + "type": "string", + "description": "The enum defining type of ExtendedLocation accepted.", + "enum": [ + "CustomLocation" + ], + "x-ms-enum": { + "name": "ExtendedLocationType", + "modelAsString": true, + "values": [ + { + "name": "CustomLocation", + "value": "CustomLocation", + "description": "CustomLocation type" + } + ] + } + }, + "FilterType": { + "type": "string", + "description": "Filter Type properties", + "enum": [ + "Filter" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": true, + "values": [ + { + "name": "Filter", + "value": "Filter", + "description": "Filter type" + } + ] + } + }, + "Frontend": { + "type": "object", + "description": "The desired properties of the frontend instances of the Broker", + "properties": { + "replicas": { + "type": "integer", + "format": "int32", + "description": "The desired number of frontend instances (pods).", + "minimum": 1, + "maximum": 16 + }, + "workers": { + "type": "integer", + "format": "int32", + "description": "Number of logical frontend workers per instance (pod).", + "default": 2, + "minimum": 1, + "maximum": 16 + } + }, + "required": [ + "replicas" + ] + }, + "GenerateResourceLimits": { + "type": "object", + "description": "GenerateResourceLimits properties", + "properties": { + "cpu": { + "type": "string", + "description": "The toggle to enable/disable cpu resource limits.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + } + } + }, + "InstanceProperties": { + "type": "object", + "description": "The properties of a Instance resource.", + "properties": { + "description": { + "type": "string", + "description": "Detailed description of the Instance." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + }, + "version": { + "type": "string", + "description": "The Azure IoT Operations version.", + "readOnly": true + } + } + }, + "InstanceResource": { + "type": "object", + "description": "A Instance resource is a logical container for a set of child resources.", + "properties": { + "properties": { + "$ref": "#/definitions/InstanceProperties", + "description": "The resource-specific properties for this resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Edge location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "extendedLocation" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "InstanceResourceListResult": { + "type": "object", + "description": "The response of a InstanceResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The InstanceResource items on this page", + "items": { + "$ref": "#/definitions/InstanceResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "InstanceResourceTagsUpdate": { + "type": "object", + "description": "The type used for updating tags in InstanceResource resources.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "KubernetesReference": { + "type": "object", + "description": "Kubernetes reference", + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + }, + "namespace": { + "type": "string", + "description": "Namespace is the namespace of the resource being referenced. This field is required when the resource has a namespace." + } + }, + "required": [ + "kind", + "name" + ] + }, + "ListenerPort": { + "type": "object", + "description": "Defines a TCP port on which a `BrokerListener` listens.", + "properties": { + "authenticationRef": { + "type": "string", + "description": "Reference to client authentication settings. Omit to disable authentication." + }, + "authorizationRef": { + "type": "string", + "description": "Reference to client authorization settings. Omit to disable authorization." + }, + "nodePort": { + "type": "integer", + "format": "int32", + "description": "Kubernetes node port. Only relevant when this port is associated with a `NodePort` listener.", + "minimum": 0, + "maximum": 65535 + }, + "port": { + "type": "integer", + "format": "int32", + "description": "TCP port for accepting client connections.", + "minimum": 0, + "maximum": 65535 + }, + "protocol": { + "type": "string", + "description": "Protocol to use for client connections.", + "default": "Mqtt", + "enum": [ + "Mqtt", + "WebSockets" + ], + "x-ms-enum": { + "name": "BrokerProtocolType", + "modelAsString": true, + "values": [ + { + "name": "Mqtt", + "value": "Mqtt", + "description": "protocol broker" + }, + { + "name": "WebSockets", + "value": "WebSockets", + "description": "protocol websocket" + } + ] + } + }, + "tls": { + "$ref": "#/definitions/TlsCertMethod", + "description": "TLS server certificate settings for this port. Omit to disable TLS." + } + }, + "required": [ + "port" + ] + }, + "LocalKubernetesReference": { + "type": "object", + "description": "Kubernetes reference", + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + } + }, + "required": [ + "kind", + "name" + ] + }, + "MetricProperties": { + "type": "object", + "description": "Metric properties", + "properties": { + "logs": { + "$ref": "#/definitions/DiagnosticsLogs", + "description": "Diagnostic log settings for the resource." + }, + "metrics": { + "$ref": "#/definitions/Metrics", + "description": "The metrics settings for the resource." + } + } + }, + "Metrics": { + "type": "object", + "description": "Diagnostic Metrics properties", + "properties": { + "opentelemetryExportConfig": { + "$ref": "#/definitions/OpenTelemetryExportConfig", + "description": "The open telemetry export configuration." + }, + "prometheusPort": { + "type": "integer", + "format": "int32", + "description": "The prometheus port to expose the metrics.", + "default": 9600, + "minimum": 0, + "maximum": 65535 + } + } + }, + "MqttRetainType": { + "type": "string", + "description": "Broker Retain types", + "enum": [ + "Keep", + "Never" + ], + "x-ms-enum": { + "name": "MqttRetainType", + "modelAsString": true, + "values": [ + { + "name": "Keep", + "value": "Keep", + "description": "Retain the messages." + }, + { + "name": "Never", + "value": "Never", + "description": "Never retain messages." + } + ] + } + }, + "OpenTelemetryExportConfig": { + "type": "object", + "description": "OpenTelemetry Export Configuration properties", + "properties": { + "otlpGrpcEndpoint": { + "type": "string", + "description": "The open telemetry collector endpoint to export to." + }, + "intervalSeconds": { + "type": "integer", + "format": "int32", + "description": "How often to export the metrics to the open telemetry collector.", + "default": 30, + "minimum": 1, + "maximum": 300 + } + }, + "required": [ + "otlpGrpcEndpoint" + ] + }, + "OpenTelemetryLogExportConfig": { + "type": "object", + "description": "OpenTelemetry Log Export Configuration properties", + "properties": { + "otlpGrpcEndpoint": { + "type": "string", + "description": "The open telemetry collector endpoint to export to." + }, + "intervalSeconds": { + "type": "integer", + "format": "int32", + "description": "How often to export the metrics to the open telemetry collector.", + "default": 30, + "minimum": 1, + "maximum": 300 + }, + "level": { + "type": "string", + "description": "The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.", + "default": "error" + } + }, + "required": [ + "otlpGrpcEndpoint" + ] + }, + "OperationType": { + "type": "string", + "description": "DataFlow Operation Type properties", + "enum": [ + "Source", + "Destination", + "BuiltInTransformation" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "name": "Source", + "value": "Source", + "description": "DataFlow Source Operation" + }, + { + "name": "Destination", + "value": "Destination", + "description": "DataFlow Destination Operation" + }, + { + "name": "BuiltInTransformation", + "value": "BuiltInTransformation", + "description": "DataFlow BuiltIn Transformation Operation" + } + ] + } + }, + "OperationalMode": { + "type": "string", + "description": "Mode properties", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "OperatorValues": { + "type": "string", + "description": "Valid operators are In, NotIn, Exists and DoesNotExist.", + "enum": [ + "In", + "NotIn", + "Exists", + "DoesNotExist" + ], + "x-ms-enum": { + "name": "OperatorValues", + "modelAsString": true, + "values": [ + { + "name": "In", + "value": "In", + "description": "In operator." + }, + { + "name": "NotIn", + "value": "NotIn", + "description": "NotIn operator." + }, + { + "name": "Exists", + "value": "Exists", + "description": "Exists operator." + }, + { + "name": "DoesNotExist", + "value": "DoesNotExist", + "description": "DoesNotExist operator." + } + ] + } + }, + "PrincipalDefinition": { + "type": "object", + "description": "PrincipalDefinition properties of Rule", + "properties": { + "attributes": { + "type": "array", + "description": "A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.", + "default": [], + "items": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "x-ms-identifiers": [] + }, + "clientIds": { + "type": "array", + "description": "A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.", + "default": [], + "items": { + "type": "string" + } + }, + "usernames": { + "type": "array", + "description": "A list of usernames that match the clients. The usernames are case-sensitive and must match the usernames provided by the clients during authentication.", + "default": [], + "items": { + "type": "string" + } + } + } + }, + "PrivateKeyAlgorithm": { + "type": "string", + "description": "Private key algorithm types.", + "enum": [ + "Ec256", + "Ec384", + "Ec521", + "Ed25519", + "Rsa2048", + "Rsa4096", + "Rsa8192" + ], + "x-ms-enum": { + "name": "PrivateKeyAlgorithm", + "modelAsString": true, + "values": [ + { + "name": "Ec256", + "value": "Ec256", + "description": "Algorithm - ec256." + }, + { + "name": "Ec384", + "value": "Ec384", + "description": "Algorithm - ec384." + }, + { + "name": "Ec521", + "value": "Ec521", + "description": "Algorithm - ec521." + }, + { + "name": "Ed25519", + "value": "Ed25519", + "description": "Algorithm - ed25519." + }, + { + "name": "Rsa2048", + "value": "Rsa2048", + "description": "Algorithm - rsa2048." + }, + { + "name": "Rsa4096", + "value": "Rsa4096", + "description": "Algorithm - rsa4096." + }, + { + "name": "Rsa8192", + "value": "Rsa8192", + "description": "Algorithm - rsa8192." + } + ] + } + }, + "PrivateKeyRotationPolicy": { + "type": "string", + "description": "Private key rotation policy.", + "enum": [ + "Always", + "Never" + ], + "x-ms-enum": { + "name": "PrivateKeyRotationPolicy", + "modelAsString": true, + "values": [ + { + "name": "Always", + "value": "Always", + "description": "Rotation Policy - Always." + }, + { + "name": "Never", + "value": "Never", + "description": "Rotation Policy - Never." + } + ] + } + }, + "ProfileDiagnostics": { + "type": "object", + "description": "DataFlowProfile Diagnostics properties", + "properties": { + "logs": { + "$ref": "#/definitions/DiagnosticsLogs", + "description": "Diagnostic log settings for the resource." + }, + "metrics": { + "$ref": "#/definitions/Metrics", + "description": "The metrics settings for the resource." + } + } + }, + "ProvisioningState": { + "type": "string", + "description": "The enum defining status of resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Resource is getting provisioned." + }, + { + "name": "Updating", + "value": "Updating", + "description": "Resource is Updating." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Resource is Deleting." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "Resource has been Accepted." + } + ] + }, + "readOnly": true + }, + "SanForCert": { + "type": "object", + "description": "Subject Alternative Names (SANs) for certificate.", + "properties": { + "dns": { + "type": "array", + "description": "DNS SANs.", + "default": [], + "items": { + "type": "string" + } + }, + "ip": { + "type": "array", + "description": "IP address SANs.", + "default": [], + "items": { + "type": "string" + } + } + }, + "required": [ + "dns", + "ip" + ] + }, + "SelfCheck": { + "type": "object", + "description": "Broker Diagnostic Self check properties", + "properties": { + "mode": { + "type": "string", + "description": "The toggle to enable/disable self check.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "intervalSeconds": { + "type": "integer", + "format": "int32", + "description": "The self check interval.", + "default": 30, + "minimum": 30, + "maximum": 300 + }, + "timeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout for self check.", + "default": 15, + "minimum": 5, + "maximum": 120 + } + } + }, + "SelfTracing": { + "type": "object", + "description": "Diagnostic Self tracing properties", + "properties": { + "mode": { + "type": "string", + "description": "The toggle to enable/disable self tracing.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "intervalSeconds": { + "type": "integer", + "format": "int32", + "description": "The self tracing interval.", + "default": 30, + "minimum": 1, + "maximum": 300 + } + } + }, + "ServiceType": { + "type": "string", + "description": "Kubernetes Service Types supported by Listener", + "enum": [ + "ClusterIp", + "LoadBalancer", + "NodePort" + ], + "x-ms-enum": { + "name": "ServiceType", + "modelAsString": true, + "values": [ + { + "name": "ClusterIp", + "value": "ClusterIp", + "description": "Cluster IP Service." + }, + { + "name": "LoadBalancer", + "value": "LoadBalancer", + "description": "Load Balancer Service." + }, + { + "name": "NodePort", + "value": "NodePort", + "description": "Node Port Service." + } + ] + } + }, + "SourceSerializationFormat": { + "type": "string", + "description": "Serialization Format properties", + "enum": [ + "Json" + ], + "x-ms-enum": { + "name": "SourceSerializationFormat", + "modelAsString": true, + "values": [ + { + "name": "Json", + "value": "Json", + "description": "JSON Format" + } + ] + } + }, + "StateStoreResourceDefinitionMethods": { + "type": "string", + "description": "StateStoreResourceDefinitionMethods methods allowed", + "enum": [ + "Read", + "Write", + "ReadWrite" + ], + "x-ms-enum": { + "name": "StateStoreResourceDefinitionMethods", + "modelAsString": true, + "values": [ + { + "name": "Read", + "value": "Read", + "description": "Get/KeyNotify from Store" + }, + { + "name": "Write", + "value": "Write", + "description": "Set/Delete in Store" + }, + { + "name": "ReadWrite", + "value": "ReadWrite", + "description": "Allowed all operations on Store - Get/KeyNotify/Set/Delete" + } + ] + } + }, + "StateStoreResourceKeyTypes": { + "type": "string", + "description": "StateStoreResourceKeyTypes properties", + "enum": [ + "Pattern", + "String", + "Binary" + ], + "x-ms-enum": { + "name": "StateStoreResourceKeyTypes", + "modelAsString": true, + "values": [ + { + "name": "Pattern", + "value": "Pattern", + "description": "Key type - pattern" + }, + { + "name": "String", + "value": "String", + "description": "Key type - string" + }, + { + "name": "Binary", + "value": "Binary", + "description": "Key type - binary" + } + ] + } + }, + "StateStoreResourceRule": { + "type": "object", + "description": "State Store Resource Rule properties.", + "properties": { + "keyType": { + "$ref": "#/definitions/StateStoreResourceKeyTypes", + "description": "Allowed keyTypes pattern, string, binary. The key type used for matching, for example pattern tries to match the key to a glob-style pattern and string checks key is equal to value provided in keys." + }, + "keys": { + "type": "array", + "description": "Give access to state store keys for the corresponding principals defined. When key type is pattern set glob-style pattern (e.g., '*', 'clients/*').", + "items": { + "type": "string" + } + }, + "method": { + "$ref": "#/definitions/StateStoreResourceDefinitionMethods", + "description": "Give access for `Read`, `Write` and `ReadWrite` access level." + } + }, + "required": [ + "keyType", + "keys", + "method" + ] + }, + "SubscriberMessageDropStrategy": { + "type": "string", + "description": "The enum defining strategies for dropping messages from the subscriber queue.", + "enum": [ + "None", + "DropOldest" + ], + "x-ms-enum": { + "name": "SubscriberMessageDropStrategy", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "Messages are never dropped." + }, + { + "name": "DropOldest", + "value": "DropOldest", + "description": "The oldest message is dropped." + } + ] + } + }, + "SubscriberQueueLimit": { + "type": "object", + "description": "The settings of Subscriber Queue Limit.", + "properties": { + "length": { + "type": "integer", + "format": "int64", + "description": "The maximum length of the queue before messages start getting dropped.", + "minimum": 1 + }, + "strategy": { + "type": "string", + "description": "The strategy to use for dropping messages from the queue.", + "default": "None", + "enum": [ + "None", + "DropOldest" + ], + "x-ms-enum": { + "name": "SubscriberMessageDropStrategy", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "Messages are never dropped." + }, + { + "name": "DropOldest", + "value": "DropOldest", + "description": "The oldest message is dropped." + } + ] + } + } + } + }, + "TlsCertMethod": { + "type": "object", + "description": "Collection of different TLS types, NOTE- Enum at a time only one of them needs to be supported", + "properties": { + "mode": { + "$ref": "#/definitions/TlsCertMethodMode", + "description": "Mode of TLS server certificate management." + }, + "automatic": { + "$ref": "#/definitions/AutomaticCertMethod", + "description": "Option 1 - Automatic TLS server certificate management with cert-manager." + }, + "manual": { + "$ref": "#/definitions/X509ManualCertificate", + "description": "Option 2 - Manual TLS server certificate management through a defined secret." + } + }, + "required": [ + "mode" + ] + }, + "TlsCertMethodMode": { + "type": "string", + "description": "Broker Authentication Mode", + "enum": [ + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "TlsCertMethodMode", + "modelAsString": true, + "values": [ + { + "name": "Automatic", + "value": "Automatic", + "description": "Automatic TLS server certificate configuration." + }, + { + "name": "Manual", + "value": "Manual", + "description": "Manual TLS server certificate configuration." + } + ] + } + }, + "TlsProperties": { + "type": "object", + "description": "Tls properties", + "properties": { + "mode": { + "type": "string", + "description": "Mode for TLS.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "trustedCaCertificateConfigMapRef": { + "type": "string", + "description": "Trusted CA certificate config map." + } + } + }, + "Traces": { + "type": "object", + "description": "Broker Diagnostic Trace properties", + "properties": { + "mode": { + "type": "string", + "description": "The toggle to enable/disable traces.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OperationalMode", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled is equivalent to True" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled is equivalent to False." + } + ] + } + }, + "opentelemetryExportConfig": { + "$ref": "#/definitions/OpenTelemetryExportConfig", + "description": "The open telemetry export configuration." + }, + "cacheSizeMegabytes": { + "type": "integer", + "format": "int32", + "description": "The cache size in megabytes.", + "default": 16, + "minimum": 1, + "maximum": 128 + }, + "selfTracing": { + "$ref": "#/definitions/SelfTracing", + "description": "The self tracing properties." + }, + "spanChannelCapacity": { + "type": "integer", + "format": "int32", + "description": "The span channel capacity.", + "default": 1000, + "minimum": 1000, + "maximum": 100000 + } + } + }, + "TransformationSerializationFormat": { + "type": "string", + "description": "Transformation Format properties", + "enum": [ + "Delta", + "Json", + "Parquet" + ], + "x-ms-enum": { + "name": "TransformationSerializationFormat", + "modelAsString": true, + "values": [ + { + "name": "Delta", + "value": "Delta", + "description": "Delta Format" + }, + { + "name": "Json", + "value": "Json", + "description": "JSON Format" + }, + { + "name": "Parquet", + "value": "Parquet", + "description": "Parquet Format" + } + ] + } + }, + "VolumeClaimResourceRequirements": { + "type": "object", + "description": "VolumeClaimResourceRequirements properties", + "properties": { + "limits": { + "type": "object", + "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", + "additionalProperties": { + "type": "string" + } + }, + "requests": { + "type": "object", + "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VolumeClaimSpec": { + "type": "object", + "description": "VolumeClaimSpec properties", + "properties": { + "volumeName": { + "type": "string", + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim." + }, + "volumeMode": { + "type": "string", + "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is a beta feature." + }, + "storageClassName": { + "type": "string", + "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + }, + "accessModes": { + "type": "array", + "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "dataSource": { + "$ref": "#/definitions/LocalKubernetesReference", + "description": "This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + }, + "dataSourceRef": { + "$ref": "#/definitions/KubernetesReference", + "description": "Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + }, + "resources": { + "$ref": "#/definitions/VolumeClaimResourceRequirements", + "description": "Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + }, + "selector": { + "$ref": "#/definitions/VolumeClaimSpecSelector", + "description": "A label query over volumes to consider for binding." + } + } + }, + "VolumeClaimSpecSelector": { + "type": "object", + "description": "VolumeClaimSpecSelector properties", + "properties": { + "matchExpressions": { + "type": "array", + "description": "MatchExpressions is a list of label selector requirements. The requirements are ANDed.", + "items": { + "$ref": "#/definitions/VolumeClaimSpecSelectorMatchExpressions" + }, + "x-ms-identifiers": [] + }, + "matchLabels": { + "type": "object", + "description": "MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VolumeClaimSpecSelectorMatchExpressions": { + "type": "object", + "description": "VolumeClaimSpecSelectorMatchExpressions properties", + "properties": { + "key": { + "type": "string", + "description": "key is the label key that the selector applies to." + }, + "operator": { + "$ref": "#/definitions/OperatorValues", + "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + }, + "values": { + "type": "array", + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "operator" + ] + }, + "X509ManualCertificate": { + "type": "object", + "description": "X509 Certificate Authentication properties.", + "properties": { + "secretRef": { + "type": "string", + "description": "Kubernetes secret containing an X.509 client certificate. This is a reference to the secret through an identifying name, not the secret itself." + } + }, + "required": [ + "secretRef" + ] + } + }, + "parameters": {} +} diff --git a/specification/iotoperations/resource-manager/readme.md b/specification/iotoperations/resource-manager/readme.md new file mode 100644 index 000000000000..3d825d08ed25 --- /dev/null +++ b/specification/iotoperations/resource-manager/readme.md @@ -0,0 +1,69 @@ +# IoTOperations + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for IoTOperations. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +## Suppression + +``` yaml +directive: + - suppress: AvoidAdditionalProperties + where: $.definitions.BrokerAuthenticatorMethodCustom.properties.headers + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.BrokerAuthenticatorMethodX509.properties.authorizationAttributes + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.BrokerAuthenticatorMethodX509Attributes.properties.attributes + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.PrincipalDefinition.properties.attributes.items + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.VolumeClaimResourceRequirements.properties.limits + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.VolumeClaimResourceRequirements.properties.requests + reason: User defined properties that are not subject to any validations. + - suppress: AvoidAdditionalProperties + where: $.definitions.VolumeClaimSpecSelector.properties.matchLabels + reason: User defined properties that are not subject to any validations. + - suppress: BodyTopLevelProperties + reason: Temporary suppression due to failing pipeline. +``` + +### Basic Information + +These are the global settings for the IoTOperationsOrchestrator. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2024-07-01-preview +``` + +### Tag: package-2024-07-01-preview + +These settings apply only when `--tag=package-2024-07-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-07-01-preview' +input-file: + - Microsoft.IoTOperations/preview/2024-07-01-preview/iotoperations.json +```