merge latest upstream, resolve conflicts
This commit is contained in:
Коммит
a428518526
|
@ -0,0 +1,52 @@
|
|||
parameters:
|
||||
- name: TargetVersion
|
||||
type: string
|
||||
default: 'LOCAL' #specialcase value that will install the local version of oav
|
||||
- name: Type
|
||||
type: string
|
||||
|
||||
|
||||
# assume presence of variable $(OutputFolder)
|
||||
# $(RestSpecsRepo)
|
||||
|
||||
steps:
|
||||
- bash: |
|
||||
mkdir -p $(OutputFolder)
|
||||
mkdir -p $(RestSpecsRepo)
|
||||
displayName: Create Folders
|
||||
|
||||
- task: UseNode@1
|
||||
inputs:
|
||||
versionSpec: '16.x'
|
||||
checkLatest: true
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
displayName: 'Use Python 3.11'
|
||||
inputs:
|
||||
versionSpec: "3.11"
|
||||
|
||||
- bash: |
|
||||
if [[ "${{ parameters.TargetVersion }}" == "LOCAL" ]]; then
|
||||
npm ci
|
||||
npm run build
|
||||
npm link
|
||||
else
|
||||
npm install -g oav@${{ parameters.TargetVersion }}
|
||||
fi
|
||||
displayName: Install OAV
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
|
||||
- bash: |
|
||||
git clone https://github.com/azure/azure-rest-api-specs.git --depth=1 $(RestSpecsRepo)
|
||||
displayName: Clone the Git Repo
|
||||
|
||||
- bash: |
|
||||
python $(Build.SourcesDirectory)/.ci/scripts/run_oav_regression.py --oav oav --target $(RestSpecsRepo) --output $(OutputFolder) --type "${{ parameters.Type }}"
|
||||
displayName: Run the Regression Script
|
||||
timeoutInMinutes: 350
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
inputs:
|
||||
pathtoPublish: $(OutputFolder)
|
||||
artifactName: "${{ parameters.TargetVersion }}-${{ parameters.Type }}"
|
|
@ -0,0 +1,106 @@
|
|||
# TODO: refactor the hilariously common jobs
|
||||
|
||||
parameters:
|
||||
- name: BeforeVersion
|
||||
type: string
|
||||
default: ''
|
||||
- name: AfterVersion
|
||||
type: string
|
||||
default: 'LOCAL' #specialcase value that will install the local version of oav
|
||||
|
||||
pool:
|
||||
name: azsdk-pool-mms-ubuntu-2004-general
|
||||
vmImage: MMSUbuntu20.04
|
||||
|
||||
jobs:
|
||||
- job: RegressionASpecs
|
||||
variables:
|
||||
- name: OutputFolder
|
||||
value: $(Build.ArtifactStagingDirectory)/${{ parameters.BeforeVersion }}
|
||||
- name: RestSpecsRepo
|
||||
value: $(Build.ArtifactStagingDirectory)/azure-rest-api-specs
|
||||
timeoutInMinutes: 360
|
||||
displayName: Run ${{ parameters.BeforeVersion }} Specs
|
||||
steps:
|
||||
- template: ./regression-steps.yml
|
||||
parameters:
|
||||
TargetVersion: ${{ parameters.BeforeVersion }}
|
||||
Type: "validate-spec"
|
||||
|
||||
- job: RegressionAExamples
|
||||
variables:
|
||||
- name: OutputFolder
|
||||
value: $(Build.ArtifactStagingDirectory)/${{ parameters.BeforeVersion }}
|
||||
- name: RestSpecsRepo
|
||||
value: $(Build.ArtifactStagingDirectory)/azure-rest-api-specs
|
||||
timeoutInMinutes: 360
|
||||
displayName: Run ${{ parameters.BeforeVersion }} Examples
|
||||
steps:
|
||||
- template: ./regression-steps.yml
|
||||
parameters:
|
||||
TargetVersion: ${{ parameters.BeforeVersion }}
|
||||
Type: "validate-example"
|
||||
|
||||
- job: RegressionBSpecs
|
||||
variables:
|
||||
- name: OutputFolder
|
||||
value: $(Build.ArtifactStagingDirectory)/${{ parameters.AfterVersion }}
|
||||
- name: RestSpecsRepo
|
||||
value: $(Build.ArtifactStagingDirectory)/azure-rest-api-specs
|
||||
timeoutInMinutes: 360
|
||||
displayName: Run ${{ parameters.AfterVersion }} Specs
|
||||
steps:
|
||||
- template: ./regression-steps.yml
|
||||
parameters:
|
||||
TargetVersion: ${{ parameters.AfterVersion }}
|
||||
Type: "validate-spec"
|
||||
|
||||
- job: RegressionBExamples
|
||||
variables:
|
||||
- name: OutputFolder
|
||||
value: $(Build.ArtifactStagingDirectory)/${{ parameters.AfterVersion }}
|
||||
- name: RestSpecsRepo
|
||||
value: $(Build.ArtifactStagingDirectory)/azure-rest-api-specs
|
||||
timeoutInMinutes: 360
|
||||
displayName: Run ${{ parameters.AfterVersion }} Examples
|
||||
steps:
|
||||
- template: ./regression-steps.yml
|
||||
parameters:
|
||||
TargetVersion: ${{ parameters.AfterVersion }}
|
||||
Type: "validate-example"
|
||||
|
||||
- job: Summarize
|
||||
timeoutInMinutes: 180
|
||||
dependsOn:
|
||||
- RegressionASpecs
|
||||
- RegressionBSpecs
|
||||
- RegressionAExamples
|
||||
- RegressionBExamples
|
||||
displayName: Run Diff
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
artifactName: "${{ parameters.BeforeVersion }}-validate-spec"
|
||||
targetPath: $(Build.ArtifactStagingDirectory)/before
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
artifactName: "${{ parameters.BeforeVersion }}-validate-example"
|
||||
targetPath: $(Build.ArtifactStagingDirectory)/before
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
artifactName: "${{ parameters.AfterVersion }}-validate-spec"
|
||||
targetPath: $(Build.ArtifactStagingDirectory)/after
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
artifactName: "${{ parameters.AfterVersion }}-validate-example"
|
||||
targetPath: $(Build.ArtifactStagingDirectory)/after
|
||||
- bash: |
|
||||
echo "CACHE BEFORE"
|
||||
cat $(Build.ArtifactStagingDirectory)/before/.spec_cache && rm $(Build.ArtifactStagingDirectory)/before/.spec_cache
|
||||
|
||||
echo "CACHE AFTER"
|
||||
cat $(Build.ArtifactStagingDirectory)/after/.spec_cache && rm $(Build.ArtifactStagingDirectory)/after/.spec_cache
|
||||
displayName: Dump Spec Caches
|
||||
- bash: |
|
||||
diff -qr $(Build.ArtifactStagingDirectory)/before $(Build.ArtifactStagingDirectory)/after
|
||||
displayName: Diff outputs
|
|
@ -0,0 +1,211 @@
|
|||
# This script is used to invoke oav (examples AND specification) against every specification
|
||||
# discovered within a target repo.
|
||||
#
|
||||
# It is intended to be used twice, with different invoking versions of oav.
|
||||
#
|
||||
# FOR COMPATIBILITY The script expects that:
|
||||
# - node 16+ is on the PATH
|
||||
|
||||
|
||||
import glob
|
||||
import argparse
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
import difflib
|
||||
from dataclasses import dataclass
|
||||
|
||||
import subprocess
|
||||
from typing import List, Dict, Tuple
|
||||
|
||||
CACHE_FILE_NAME: str = ".spec_cache"
|
||||
|
||||
|
||||
@dataclass
|
||||
class OAVScanResult:
|
||||
"""Used to track the results of an oav invocation"""
|
||||
|
||||
target_folder: str
|
||||
stdout: str
|
||||
stderr: str
|
||||
success: int
|
||||
oav_version: str
|
||||
|
||||
@property
|
||||
def stdout_length_in_bytes(self) -> int:
|
||||
return os.path.getsize(self.stdout)
|
||||
|
||||
@property
|
||||
def stderr_length_in_bytes(self) -> int:
|
||||
return os.path.getsize(self.stderr)
|
||||
|
||||
|
||||
def get_oav_output(
|
||||
oav_exe: str,
|
||||
target_folder: str,
|
||||
collection_std_out: str,
|
||||
collection_std_err: str,
|
||||
oav_command: str,
|
||||
oav_version: str,
|
||||
) -> OAVScanResult:
|
||||
try:
|
||||
with open(collection_std_out, "w", encoding="utf-8") as out, open(
|
||||
collection_std_err, "w", encoding="utf-8"
|
||||
) as err:
|
||||
print([oav_exe, oav_command, target_folder])
|
||||
result = subprocess.run(
|
||||
[oav_exe, oav_command, target_folder], capture_output=True, check=True, text=True
|
||||
)
|
||||
|
||||
out.write(result.stdout)
|
||||
err.write(result.stderr)
|
||||
|
||||
return OAVScanResult(target_folder, collection_std_out, collection_std_err, result.returncode, oav_version)
|
||||
except subprocess.CalledProcessError as e:
|
||||
with open(collection_std_err, "a", encoding="utf-8") as err:
|
||||
err.write(str(e))
|
||||
|
||||
return OAVScanResult(target_folder, collection_std_out, collection_std_err, -1, oav_version)
|
||||
|
||||
|
||||
def is_word_present_in_file(file_path, word):
|
||||
try:
|
||||
with open(file_path, "rb") as file:
|
||||
first_bytes = file.read(20)
|
||||
return word in first_bytes
|
||||
except Exception as e:
|
||||
return False
|
||||
|
||||
|
||||
def get_specification_files(target_folder: str, output_folder: str) -> List[str]:
|
||||
target = os.path.join(target_folder, "specification", "**", "*.json")
|
||||
jsons = glob.glob(target, recursive=True)
|
||||
search_word = b"swagger"
|
||||
specs = []
|
||||
num = len(jsons)
|
||||
|
||||
output_cache = os.path.join(output_folder, CACHE_FILE_NAME)
|
||||
|
||||
if os.path.exists(output_cache):
|
||||
with open(output_cache, "r", encoding="utf-8") as c:
|
||||
specs = c.readlines()
|
||||
return [spec.strip() for spec in specs]
|
||||
|
||||
print(f"Scanned directory, found {len(jsons)} json files.")
|
||||
|
||||
for index, json_file in enumerate(jsons):
|
||||
if is_word_present_in_file(json_file, search_word):
|
||||
specs.append(json_file)
|
||||
|
||||
print(f"Filtered to {len(specs)} swagger files.")
|
||||
with open(output_cache, "w", encoding="utf-8") as c:
|
||||
c.write("\n".join(specs))
|
||||
|
||||
return specs
|
||||
|
||||
|
||||
def verify_oav_version(oav: str) -> str:
|
||||
try:
|
||||
result = subprocess.run([oav, "--version"], capture_output=True, shell=True)
|
||||
return result.stdout.decode("utf-8").strip()
|
||||
except Exception as f:
|
||||
return "-1"
|
||||
|
||||
|
||||
def get_output_files(root_target_folder: str, choice: str, target_folder: str) -> Tuple[str, str]:
|
||||
"""Given the root of the azure-rest-api-specs repo AND a folder that is some deeper child of that,
|
||||
come up with the output file names"""
|
||||
|
||||
relpath = os.path.relpath(target_folder, root_target_folder)
|
||||
flattened_path = relpath.replace("\\", "_").replace("/", "_").replace(".json", "")
|
||||
|
||||
return (f"{flattened_path}_{choice}_out.log", f"{flattened_path}_{choice}_err.log")
|
||||
|
||||
|
||||
def prepare_output_folder(target_folder: str) -> str:
|
||||
must_repopulate_cache = False
|
||||
|
||||
if os.path.exists(target_folder):
|
||||
cache_file = os.path.join(target_folder, CACHE_FILE_NAME)
|
||||
if os.path.exists(cache_file):
|
||||
tmp_dir = tempfile.gettempdir()
|
||||
cache_location = os.path.join(tmp_dir, CACHE_FILE_NAME)
|
||||
shutil.move(cache_file, cache_location)
|
||||
must_repopulate_cache = True
|
||||
|
||||
shutil.rmtree(target_folder)
|
||||
|
||||
os.makedirs(target_folder)
|
||||
|
||||
if must_repopulate_cache:
|
||||
shutil.move(cache_location, cache_file)
|
||||
|
||||
return target_folder
|
||||
|
||||
|
||||
def dump_summary(summary: Dict[str, OAVScanResult]) -> None:
|
||||
print(f"Scanned {len(summary.keys())} files successfully.")
|
||||
|
||||
|
||||
def run(oav_exe: str, spec: str, output_folder: str, choice: str, oav_version: str):
|
||||
collection_stdout_file, collection_stderr_file = get_output_files(args.target, choice, spec)
|
||||
resolved_out = os.path.join(output_folder, collection_stdout_file)
|
||||
resolved_err = os.path.join(output_folder, collection_stderr_file)
|
||||
summary[f"{spec}-{choice}"] = get_oav_output(oav_exe, spec, resolved_out, resolved_err, choice, oav_version)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="Scan azure-rest-api-specs repository, invoke oav")
|
||||
|
||||
parser.add_argument(
|
||||
"--target",
|
||||
dest="target",
|
||||
help="The azure-rest-api-specs repo root.",
|
||||
required=True,
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--output",
|
||||
dest="output",
|
||||
help="The folder which will contain the oav output.",
|
||||
required=True,
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--type",
|
||||
dest="type",
|
||||
required=True,
|
||||
help="Are we running specs or examples?",
|
||||
choices=["validate-spec","validate-example"]
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--oav",
|
||||
dest="oav",
|
||||
help="The oav exe this script will be using! If OAV is on the PATH just pass nothing!",
|
||||
required=False
|
||||
)
|
||||
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.oav:
|
||||
oav_exe = args.oav
|
||||
else:
|
||||
oav_exe = "oav"
|
||||
|
||||
oav_version = verify_oav_version(oav_exe)
|
||||
|
||||
if oav_version == "-1":
|
||||
print("OAV is not available on the PATH. Resolve this ane reinvoke.")
|
||||
sys.exit(1)
|
||||
|
||||
output_folder: str = prepare_output_folder(args.output)
|
||||
specs: List[str] = get_specification_files(args.target, output_folder)
|
||||
summary: Dict[str, OAVScanResult] = {}
|
||||
|
||||
for spec in specs:
|
||||
run(oav_exe, spec, output_folder, args.type, oav_version)
|
||||
|
||||
dump_summary(summary)
|
|
@ -102,7 +102,9 @@ env.json
|
|||
generated_examples/
|
||||
generated_reports/
|
||||
generated_diff/
|
||||
test/exampleGenerator/specification
|
||||
test/exampleGenerator/specification/
|
||||
.autopull
|
||||
|
||||
|
||||
# customized
|
||||
.npmrc
|
||||
|
|
|
@ -4,30 +4,6 @@
|
|||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"address": "TCP/IP address of process to be debugged",
|
||||
"localRoot": "${workspaceFolder}",
|
||||
"name": "Attach to Remote",
|
||||
"port": 9229,
|
||||
"remoteRoot": "Absolute path to the remote directory containing the program",
|
||||
"request": "attach",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"type": "pwa-node"
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Validate Spec",
|
||||
"program": "${workspaceRoot}/dist/cli.js",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"args": [
|
||||
"validate-spec",
|
||||
"../azure-rest-api-specs/specification/storage/resource-manager/Microsoft.Storage/stable/2018-07-01/blob.json"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
|
@ -41,19 +17,6 @@
|
|||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Validate example",
|
||||
"program": "${workspaceRoot}/dist/cli.js",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"args": [
|
||||
"validate-example",
|
||||
"C:/github.com/Azure/azure-rest-api-specs/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/cdn.json",
|
||||
"--pretty"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
|
@ -88,18 +51,6 @@
|
|||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Model Validation",
|
||||
"program": "${workspaceRoot}/dist/cli.js",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"args": [
|
||||
"validate-example",
|
||||
"../azure-rest-api-specs/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
|
@ -114,10 +65,9 @@
|
|||
"request": "launch",
|
||||
"name": "Jest All",
|
||||
"program": "${workspaceFolder}/node_modules/.bin/jest",
|
||||
"args": ["--runInBand"],
|
||||
"args": ["--runInBand", "--testPathIgnorePatterns", "test/debug_failing_example.ts", "test/debug_failing_spec.ts"],
|
||||
"console": "integratedTerminal",
|
||||
"internalConsoleOptions": "neverOpen",
|
||||
"disableOptimisticBPs": true,
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
|
||||
}
|
||||
|
@ -130,7 +80,6 @@
|
|||
"args": ["--runTestsByPath", "${file}", "--coverage", "false"],
|
||||
"console": "integratedTerminal",
|
||||
"internalConsoleOptions": "neverOpen",
|
||||
"disableOptimisticBPs": true,
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
|
||||
}
|
||||
|
|
28
ChangeLog.md
28
ChangeLog.md
|
@ -1,5 +1,33 @@
|
|||
# Change Log - oav
|
||||
|
||||
## 02/12/2024 3.3.3
|
||||
|
||||
- #1014 Set armId format validation to always enabled, but allow suppression of errors when `isArmCall` validator argument is set to `false`. Update the special casing on additionalProperties validation. This error was was erroneously skipping validation validation error when isArmCall is set to `true`. This value is _defaulted_ to `true` when used for `Model Validation` and `Semantic Validation`.
|
||||
|
||||
## 01/29/2024 3.3.2
|
||||
|
||||
- Remove `mockjs` dependency.
|
||||
|
||||
## 11/14/2023 3.3.1
|
||||
|
||||
- #1019 Fixing edge case caused by introduction of fake property `refWithReadOnly` used to handle `readonly` errors thrown when placed alongside a `ref` node in a swagger schema.
|
||||
|
||||
## 10/19/2023 3.3.0
|
||||
|
||||
- #1011 Enhancing JSON report by exposing new properties including `coveredSpecFiles`, `unCoveredOperationsList`, `errorLink` and `schemaPathWithPosition`.
|
||||
|
||||
## 10/19/2023 3.2.14
|
||||
|
||||
- #1010 Fix an issue with details of `Failed Operations` not displayed in Windows-generated HTML report.
|
||||
|
||||
## 09/29/2023 3.2.13
|
||||
|
||||
- #1004 fixes an issue with the injected property refWithReadOnly causing additionalProperty error in schema validator.
|
||||
|
||||
## 09/25/2023 3.2.12
|
||||
|
||||
- #996 Allows `required` properties to be ommitted from a response if they are also marked `readonly`.
|
||||
|
||||
## 07/05/2023 3.2.11
|
||||
|
||||
- Re-enable `additionalProperties` validation where the `liveValidator` configuration has `isArmCall` set to `false`. The version of `oav` that is being used to validate `azure-rest-api-specs` has this behavior enabled, so this is not a breaking change.
|
||||
|
|
|
@ -12,9 +12,13 @@ module.exports = {
|
|||
collectCoverageFrom: ["./lib/**/*.ts", "!**/node_modules/**"],
|
||||
coverageReporters: ["json", "lcov", "cobertura", "text", "html", "clover"],
|
||||
coveragePathIgnorePatterns: ["/node_modules/", ".*/tests/.*"],
|
||||
testPathIgnorePatterns: [
|
||||
"/\\.autopull/",
|
||||
"/utilities.helpers.ts"
|
||||
],
|
||||
globals: {
|
||||
"ts-jest": {
|
||||
tsConfig: "tsconfig.json",
|
||||
tsconfig: "tsconfig.json",
|
||||
},
|
||||
},
|
||||
setupFilesAfterEnv: ["<rootDir>/jest.setup-file.js"],
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { existsSync, writeFileSync } from "fs";
|
||||
import { dirname, join, relative, resolve } from "path";
|
||||
import { mkdirpSync } from "fs-extra";
|
||||
import { injectable } from "inversify";
|
||||
import { dump } from "js-yaml";
|
||||
import _ from "lodash";
|
||||
import { dirname, join, relative, resolve } from "path";
|
||||
import { inversifyGetInstance } from "../../inversifyUtils";
|
||||
import { JsonLoader } from "../../swagger/jsonLoader";
|
||||
import { setDefaultOpts } from "../../swagger/loader";
|
||||
|
@ -316,7 +316,7 @@ class ArmResourceDependencyGenerator {
|
|||
return [this._basicScenario?.prepareSteps, this._basicScenario?.cleanUpSteps];
|
||||
}
|
||||
generateResourceCleanup(resource: ArmResourceManipulator, scenario: RawScenario) {
|
||||
this._restlerGenerator?.addCleanupSteps(resource,scenario);
|
||||
this._restlerGenerator?.addCleanupSteps(resource, scenario);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -493,7 +493,7 @@ export class ApiTestRuleBasedGenerator {
|
|||
if (apiSenarios) {
|
||||
apiSenarios.description = "[This scenario is auto-generated]" + rule.description;
|
||||
dependency?.updateExampleFile(resource, apiSenarios);
|
||||
dependency?.generateResourceCleanup(resource,apiSenarios);
|
||||
dependency?.generateResourceCleanup(resource, apiSenarios);
|
||||
definition.scenarios.push({ scenario: rule.name, ...apiSenarios });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,9 @@ import { URL } from "url";
|
|||
import { HttpMethods } from "@azure/core-http";
|
||||
import { injectable } from "inversify";
|
||||
import { Loader } from "../../swagger/loader";
|
||||
import { DEFAULT_ARM_ENDPOINT } from "../constants";
|
||||
import { RequestTracking, SingleRequestTracking } from "./testRecordingApiScenarioGenerator";
|
||||
import { parseRecordingBodyJson, transformRecordingHeaders } from "./dotnetRecordingLoader";
|
||||
import { DEFAULT_ARM_ENDPOINT } from "../constants";
|
||||
|
||||
interface RecordingFile {
|
||||
interactions: RecordingEntry[];
|
||||
|
|
|
@ -28,10 +28,10 @@ import {
|
|||
import * as util from "../../generator/util";
|
||||
import { setDefaultOpts } from "../../swagger/loader";
|
||||
import Mocker from "../../generator/mocker";
|
||||
import { ArmResourceManipulator } from "./ApiTestRuleBasedGenerator";
|
||||
import { logger } from ".././logger";
|
||||
import { xmsExamples, xmsSkipUrlEncoding } from "../../util/constants";
|
||||
import { ApiScenarioYamlLoader } from "../apiScenarioYamlLoader";
|
||||
import { ArmResourceManipulator } from "./ApiTestRuleBasedGenerator";
|
||||
|
||||
export interface ApiScenarioGeneratorOption extends ApiScenarioLoaderOption {
|
||||
swaggerFilePaths: string[];
|
||||
|
|
|
@ -3,7 +3,7 @@ import { ApiTestGeneratorRule, ResourceManipulatorInterface } from "../ApiTestRu
|
|||
|
||||
export const NoChildResourceCreated: ApiTestGeneratorRule = {
|
||||
name: "NoChildResourceCreated",
|
||||
armRpcCodes: ["RPC-Put-V1-16","RPC-Put-V1-17"],
|
||||
armRpcCodes: ["RPC-Put-V1-16", "RPC-Put-V1-17"],
|
||||
description: "Check if put operation will create nested resource implicitly.",
|
||||
resourceKinds: ["Tracked", "Extension"],
|
||||
appliesTo: ["ARM"],
|
||||
|
@ -13,18 +13,18 @@ export const NoChildResourceCreated: ApiTestGeneratorRule = {
|
|||
if (childResources.length === 0) {
|
||||
return null;
|
||||
}
|
||||
let hit = false
|
||||
let hit = false;
|
||||
for (resource of childResources) {
|
||||
const listOperation = resource.getListOperations()[0]
|
||||
const listOperation = resource.getListOperations()[0];
|
||||
if (listOperation && listOperation.examples[0]) {
|
||||
const step:RawStep = {
|
||||
const step: RawStep = {
|
||||
operationId: listOperation.operationId,
|
||||
responses: {200: {body:{ value:[]}}}
|
||||
responses: { 200: { body: { value: [] } } },
|
||||
};
|
||||
base.steps.push(step);
|
||||
hit = true;
|
||||
}
|
||||
}
|
||||
return hit ? base : null
|
||||
return hit ? base : null;
|
||||
},
|
||||
};
|
||||
|
|
|
@ -14,7 +14,8 @@ function getResourceNameParameter(path: string) {
|
|||
export const ResourceNameCaseInsensitive: ApiTestGeneratorRule = {
|
||||
name: "ResourceNameCaseInSensitive",
|
||||
armRpcCodes: ["RPC-V2-PUT-3"],
|
||||
description: "Check if the resource name in the response has same case with resource name in the request.",
|
||||
description:
|
||||
"Check if the resource name in the response has same case with resource name in the request.",
|
||||
resourceKinds: ["Tracked"],
|
||||
appliesTo: ["ARM"],
|
||||
useExample: true,
|
||||
|
@ -27,14 +28,15 @@ export const ResourceNameCaseInsensitive: ApiTestGeneratorRule = {
|
|||
// generate a mocked value
|
||||
base.variables._mockedRandom = { type: "string", prefix: "r" };
|
||||
// set the operation variable
|
||||
const oldPrefix = (resourceNameVar as any).prefix || `${resourceName.toLocaleLowerCase().substring(0, 10)}`;
|
||||
const oldPrefix =
|
||||
(resourceNameVar as any).prefix || `${resourceName.toLocaleLowerCase().substring(0, 10)}`;
|
||||
(resourceNameVar as any).value = `${toUpper(oldPrefix)}$(_mockedRandom)`;
|
||||
delete (resourceNameVar as any).prefix;
|
||||
// modify the global variable
|
||||
base.variables[resourceName] = { value: `${oldPrefix}$(_mockedRandom)`, type: "string" };
|
||||
variables[resourceName] = resourceNameVar;
|
||||
}
|
||||
const step:RawStep = { operationId: getOp.operationId ,variables};
|
||||
const step: RawStep = { operationId: getOp.operationId, variables };
|
||||
base.steps.push(step);
|
||||
return base;
|
||||
},
|
||||
|
|
|
@ -5,20 +5,19 @@ export const SystemDataExistsInResponse: ApiTestGeneratorRule = {
|
|||
name: "SystemDataExistsInResponse",
|
||||
armRpcCodes: ["RPC-SystemData-V1-01"],
|
||||
description: "Check if the systemData exists in the response.",
|
||||
resourceKinds: ["Tracked","Proxy","Extension"],
|
||||
resourceKinds: ["Tracked", "Proxy", "Extension"],
|
||||
appliesTo: ["ARM"],
|
||||
useExample: true,
|
||||
generator: (resource: ResourceManipulatorInterface, base: RawScenario) => {
|
||||
const getOp = resource.getResourceOperation("Get");
|
||||
const step:RawStep = { operationId: getOp.operationId };
|
||||
const step: RawStep = { operationId: getOp.operationId };
|
||||
const responses = {} as any;
|
||||
|
||||
if (resource.getProperty( "systemData")) {
|
||||
if (resource.getProperty("systemData")) {
|
||||
responses["200"] = [{ test: "/body/systemData", expression: "to.not.be.undefined" }];
|
||||
step.responses = responses
|
||||
}
|
||||
else {
|
||||
return null
|
||||
step.responses = responses;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
base.steps.push(step);
|
||||
return base;
|
||||
|
|
|
@ -57,21 +57,13 @@ export default class Mocker {
|
|||
}
|
||||
const minLength = "minLength" in paramSpec ? paramSpec.minLength : 1;
|
||||
const maxLength = "maxLength" in paramSpec ? paramSpec.maxLength : minLength * 30;
|
||||
// NOTE: hard to handle minLength/maxLength and regular expressions at the same time. Length limit should be set by regex.
|
||||
// If the mocked value fails to meet the constraints, error info will be logged and empty string will return.
|
||||
if ("pattern" in paramSpec) {
|
||||
const Mock = require("mockjs");
|
||||
return this.mockForPattern(
|
||||
Mock,
|
||||
paramSpec.pattern,
|
||||
paramSpec.minLength,
|
||||
paramSpec.maxLength,
|
||||
paramName
|
||||
);
|
||||
}
|
||||
const length = this.getRandomInt(minLength, maxLength);
|
||||
let mockedValue = randomString(length);
|
||||
|
||||
if ("pattern" in paramSpec) {
|
||||
return `Replace this value with a string matching RegExp ${paramSpec.pattern}`;
|
||||
}
|
||||
|
||||
if (paramSpec.format === "uri") {
|
||||
const prefix = "https://microsoft.com/a";
|
||||
mockedValue = prefix + mockedValue.slice(prefix.length);
|
||||
|
@ -80,23 +72,6 @@ export default class Mocker {
|
|||
return mockedValue;
|
||||
}
|
||||
|
||||
// Note: complex regular expression may produce wrong value,
|
||||
// e.g. "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$", this is caused by the lib mockjs
|
||||
private mockForPattern(
|
||||
Mock: any,
|
||||
pattern: string,
|
||||
_minLength: any,
|
||||
_maxLength: any,
|
||||
_paramName: string
|
||||
) {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
const { data } = Mock.mock({
|
||||
data: new RegExp(pattern),
|
||||
});
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
private generateInteger(paramSpec: any) {
|
||||
const min = "minimum" in paramSpec ? paramSpec.minimum : 1;
|
||||
const max = "maximum" in paramSpec ? paramSpec.maximum : min * 30;
|
||||
|
|
|
@ -305,7 +305,7 @@ export const schemaValidateIssueToLiveValidationIssue = (
|
|||
skipIssue = true;
|
||||
return "";
|
||||
}
|
||||
} else if (issue.code === "INVALID_TYPE" && isArmCall === true) {
|
||||
} else if (issue.code === "INVALID_TYPE" && isArmCall === false) {
|
||||
// See Azure/oav#983 for additional information as to why this special case is present.
|
||||
// RPs working with the RPaaS team were having dificulty with additionalProperties validation due to the fact
|
||||
// that when we turned it on, a LOT of real, live requests were being rejected due to invalid additionalProperties settings.
|
||||
|
@ -313,6 +313,8 @@ export const schemaValidateIssueToLiveValidationIssue = (
|
|||
// We need oav to have the capability to skip this if we are invoking an arm call, but when we roll any new versions of OAV
|
||||
// out to azure/azure-rest-api-specs, we need the errors actually pop there! When enough of the RPs have resolved this problem,
|
||||
// we can re-enable loud failures in the validation image.
|
||||
//
|
||||
// Model and Semantic validation both run with isArmCall set to TRUE, so by setting FALSE a user will activate this special skip logic.
|
||||
if (issue.schemaPath.includes("additionalProperties")) {
|
||||
skipIssue = true;
|
||||
if (logging) {
|
||||
|
@ -327,6 +329,22 @@ export const schemaValidateIssueToLiveValidationIssue = (
|
|||
}
|
||||
return "";
|
||||
}
|
||||
} else if (
|
||||
issue.code === "INVALID_FORMAT" &&
|
||||
isArmCall === false &&
|
||||
issue.message.includes("Object didn't pass validation for format arm-id")
|
||||
) {
|
||||
skipIssue = true;
|
||||
if (logging) {
|
||||
logging(
|
||||
`armId format validation failed: ${JSON.stringify(issue, undefined, 2)}`,
|
||||
LiveValidatorLoggingLevels.error,
|
||||
LiveValidatorLoggingTypes.trace,
|
||||
"Oav.OperationValidator.schemaValidateIssueToLiveValidationIssue",
|
||||
undefined,
|
||||
operationContext.validationRequest
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const isMissingRequiredProperty = issue.code === "OBJECT_MISSING_REQUIRED_PROPERTY";
|
||||
|
|
|
@ -64,6 +64,16 @@ export interface resultForRendering
|
|||
index?: number;
|
||||
}
|
||||
|
||||
export async function loadErrorDefinitions(): Promise<Map<string, ErrorDefinition>> {
|
||||
const errorDefinitionDoc =
|
||||
require("../../../documentation/error-definitions.json") as ErrorDefinitionDoc;
|
||||
const errorsMap: Map<string, ErrorDefinition> = new Map();
|
||||
errorDefinitionDoc.ErrorDefinitions.forEach((def) => {
|
||||
errorsMap.set(def.code, def);
|
||||
});
|
||||
return errorsMap;
|
||||
}
|
||||
|
||||
// used to pass data to the template rendering engine
|
||||
export class CoverageView {
|
||||
public package: string;
|
||||
|
@ -137,7 +147,7 @@ export class CoverageView {
|
|||
public async prepareDataForRendering() {
|
||||
try {
|
||||
this.markdown = await this.readMarkdown();
|
||||
const errorDefinitions = await this.loadErrorDefinitions();
|
||||
const errorDefinitions = await loadErrorDefinitions();
|
||||
let errorsForRendering: LiveValidationIssueForRendering[];
|
||||
this.sortedValidationResults.forEach((element) => {
|
||||
const payloadFile = element.payloadFilePath?.substring(
|
||||
|
@ -156,10 +166,7 @@ export class CoverageView {
|
|||
? `${this.specLinkPrefix}/${element.specFilePath?.substring(
|
||||
element.specFilePath?.indexOf("specification")
|
||||
)}#L${error.source.position.line}`
|
||||
: path.relative(
|
||||
__dirname,
|
||||
`../../${element.specFilePath}#L${error.source.position.line}`
|
||||
),
|
||||
: `${element.specFilePath}#L${error.source.position.line}`,
|
||||
pathsInPayload: error.pathsInPayload,
|
||||
jsonPathsInPayload: error.jsonPathsInPayload,
|
||||
severity: error.severity,
|
||||
|
@ -170,10 +177,7 @@ export class CoverageView {
|
|||
: element.payloadFilePath,
|
||||
payloadFilePathWithPosition: this.overrideLinkInReport
|
||||
? `${this.payloadLinkPrefix}/${payloadFile}#L${element.payloadFilePathPosition?.line}`
|
||||
: path.relative(
|
||||
__dirname,
|
||||
`../../${element.payloadFilePath}#L${element.payloadFilePathPosition?.line}`
|
||||
),
|
||||
: `${element.payloadFilePath}#L${element.payloadFilePathPosition?.line}`,
|
||||
payloadFileLinkLabel: payloadFile,
|
||||
});
|
||||
});
|
||||
|
@ -184,10 +188,7 @@ export class CoverageView {
|
|||
payloadFileLinkLabel: payloadFile,
|
||||
payloadFilePathWithPosition: this.overrideLinkInReport
|
||||
? `${this.payloadLinkPrefix}/${payloadFile}#L${element.payloadFilePathPosition?.line}`
|
||||
: path.relative(
|
||||
__dirname,
|
||||
`../../${element.payloadFilePath}#L${element.payloadFilePathPosition?.line}`
|
||||
),
|
||||
: `${element.payloadFilePath}#L${element.payloadFilePathPosition?.line}`,
|
||||
errors: element.errors,
|
||||
specFilePath: this.overrideLinkInReport
|
||||
? `${this.specLinkPrefix}/${element.specFilePath?.substring(
|
||||
|
@ -205,7 +206,7 @@ export class CoverageView {
|
|||
? `${this.specLinkPrefix}/${element.spec?.substring(
|
||||
element.spec?.indexOf("specification")
|
||||
)}`
|
||||
: path.relative(__dirname, `../../${element.spec}`);
|
||||
: `${element.spec}`;
|
||||
this.coverageResultsForRendering.push({
|
||||
spec: specLink,
|
||||
specLinkLabel: element.spec?.substring(element.spec?.lastIndexOf("/") + 1),
|
||||
|
@ -224,7 +225,9 @@ export class CoverageView {
|
|||
|
||||
this.resultsForRendering = this.coverageResultsForRendering.map((item) => {
|
||||
const data = this.validationResultsForRendering.find(
|
||||
(i) => i.specFilePath && item.spec.includes(i.specFilePath)
|
||||
(i) =>
|
||||
i.specFilePath &&
|
||||
item.spec.split(path.win32.sep).join(path.posix.sep).includes(i.specFilePath)
|
||||
);
|
||||
return {
|
||||
...item,
|
||||
|
@ -272,10 +275,7 @@ export class CoverageView {
|
|||
? `${this.specLinkPrefix}/${element[0].specFilePath?.substring(
|
||||
element[0].specFilePath?.indexOf("specification")
|
||||
)}#L${element[0]!.operationInfo!.position!.line}`
|
||||
: path.relative(
|
||||
__dirname,
|
||||
`../../${element[0].specFilePath}#L${element[0]!.operationInfo!.position!.line}`
|
||||
),
|
||||
: `${element[0].specFilePath}#L${element[0]!.operationInfo!.position!.line}`,
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -303,16 +303,6 @@ export class CoverageView {
|
|||
}
|
||||
}
|
||||
|
||||
private async loadErrorDefinitions(): Promise<Map<string, ErrorDefinition>> {
|
||||
const errorDefinitionDoc =
|
||||
require("../../../documentation/error-definitions.json") as ErrorDefinitionDoc;
|
||||
const errorsMap: Map<string, ErrorDefinition> = new Map();
|
||||
errorDefinitionDoc.ErrorDefinitions.forEach((def) => {
|
||||
errorsMap.set(def.code, def);
|
||||
});
|
||||
return errorsMap;
|
||||
}
|
||||
|
||||
private sortOperationIds() {
|
||||
this.sortedValidationResults = this.validationResults.sort(function (op1, op2) {
|
||||
const opId1 = op1.operationInfo!.operationId;
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
import { load as parseYaml } from "js-yaml";
|
||||
import { default as jsonPointer } from "json-pointer";
|
||||
import { inject, injectable } from "inversify";
|
||||
import { xmsExamples } from "../util/constants";
|
||||
import { xmsExamples, xmsReadonlyRef } from "../util/constants";
|
||||
import { getLazyBuilder } from "../util/lazyBuilder";
|
||||
import { TYPES } from "../inversifyUtils";
|
||||
import { FileLoader, FileLoaderOption } from "./fileLoader";
|
||||
|
@ -233,7 +233,7 @@ export class JsonLoader implements Loader<Json> {
|
|||
if (isRefLike(object)) {
|
||||
const refObjResult: any = {};
|
||||
if (object.readOnly !== undefined) {
|
||||
refObjResult.refWithReadOnly = object.readOnly;
|
||||
refObjResult[xmsReadonlyRef] = true;
|
||||
}
|
||||
const ref = object.$ref;
|
||||
const sp = ref.split("#");
|
||||
|
|
|
@ -18,6 +18,7 @@ import {
|
|||
xmsPaths,
|
||||
xmsSkipUrlEncoding,
|
||||
xNullable,
|
||||
xmsReadonlyRef,
|
||||
xmsAzureResource,
|
||||
xmsLongRunningOperationOptions,
|
||||
xmsLongRunningOperationOptionsField,
|
||||
|
@ -247,7 +248,7 @@ export interface Schema extends BaseSchema {
|
|||
[xmsDiscriminatorValue]?: string;
|
||||
readOnly?: boolean;
|
||||
[xmsMutability]?: Array<"create" | "read" | "update">;
|
||||
refWithReadOnly?: boolean;
|
||||
[xmsReadonlyRef]?: boolean;
|
||||
xml?: XML;
|
||||
externalDocs?: ExternalDocs;
|
||||
example?: { [exampleName: string]: Example };
|
||||
|
|
|
@ -197,5 +197,4 @@ export const ajvEnableAll = (ajv: Ajv, jsonLoader: JsonLoader) => {
|
|||
|
||||
export const ajvEnableArmRule = (ajv: Ajv) => {
|
||||
ajvEnableXmsAzureResource(ajv);
|
||||
ajvEnableArmIdFormat(ajv);
|
||||
};
|
||||
|
|
|
@ -12,12 +12,18 @@ import { $id, JsonLoader } from "../swagger/jsonLoader";
|
|||
import { isSuppressed } from "../swagger/suppressionLoader";
|
||||
import { refSelfSymbol, Schema, SwaggerSpec } from "../swagger/swaggerTypes";
|
||||
import { getNameFromRef } from "../transform/context";
|
||||
import { xmsAzureResource, xmsEnum, xmsMutability, xmsSecret } from "../util/constants";
|
||||
import {
|
||||
xmsAzureResource,
|
||||
xmsEnum,
|
||||
xmsMutability,
|
||||
xmsReadonlyRef,
|
||||
xmsSecret,
|
||||
} from "../util/constants";
|
||||
import { getOavErrorMeta, TrafficValidationErrorCode } from "../util/errorDefinitions";
|
||||
import { Severity } from "../util/severity";
|
||||
import { Writable } from "../util/utils";
|
||||
import { SourceLocation } from "../util/validationError";
|
||||
import { ajvEnableAll, ajvEnableArmRule } from "./ajv";
|
||||
import { ajvEnableAll, ajvEnableArmRule, ajvEnableArmIdFormat } from "./ajv";
|
||||
import {
|
||||
getIncludeErrorsMap,
|
||||
SchemaValidateContext,
|
||||
|
@ -59,6 +65,9 @@ export class AjvSchemaValidator implements SchemaValidator {
|
|||
});
|
||||
ajvEnableAll(this.ajv, loader);
|
||||
|
||||
// always enable the armId format validation
|
||||
ajvEnableArmIdFormat(this.ajv);
|
||||
|
||||
if (schemaValidatorOption?.isArmCall === true) {
|
||||
ajvEnableArmRule(this.ajv);
|
||||
}
|
||||
|
@ -285,6 +294,14 @@ const shouldSkipError = (error: ErrorObject, cxt: SchemaValidateContext) => {
|
|||
return true;
|
||||
}
|
||||
|
||||
// If we're erroring on the added property refWithReadOnly simply ignore the error
|
||||
if (
|
||||
error.keyword === "additionalProperties" &&
|
||||
(params as any).additionalProperty === "refWithReadOnly"
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// If a response has x-ms-mutability property and its missing the read we can skip this error
|
||||
if (
|
||||
cxt.isResponse &&
|
||||
|
@ -304,7 +321,7 @@ const shouldSkipError = (error: ErrorObject, cxt: SchemaValidateContext) => {
|
|||
if (
|
||||
!cxt.isResponse &&
|
||||
keyword === "required" &&
|
||||
(parentSchema.properties?.[(params as any).missingProperty]?.refWithReadOnly ||
|
||||
(parentSchema.properties?.[(params as any).missingProperty]?.[xmsReadonlyRef] ||
|
||||
parentSchema.properties?.[(params as any).missingProperty]?.readOnly)
|
||||
) {
|
||||
return true;
|
||||
|
|
|
@ -104,6 +104,7 @@ export class SwaggerSemanticValidator {
|
|||
const properties = swaggerSchemaDoc.properties as any;
|
||||
properties[$id] = {};
|
||||
properties._filePath = {};
|
||||
|
||||
this.validateSwaggerSch = await this.schemaValidator.compileAsync(swaggerSchemaDoc as Schema);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ export const xNullable = "x-nullable";
|
|||
|
||||
export const exampleInSpec = "example-in-spec";
|
||||
|
||||
export const xmsReadonlyRef = "x-ms-readonly-ref";
|
||||
|
||||
export const Errors = "Errors";
|
||||
|
||||
export const Warnings = "Warnings";
|
||||
|
|
|
@ -24,7 +24,7 @@ import {
|
|||
TrafficValidationOptions,
|
||||
TrafficValidator,
|
||||
} from "./swaggerValidator/trafficValidator";
|
||||
import { ReportGenerator } from "./report/generateReport";
|
||||
import { ReportGenerator, loadErrorDefinitions } from "./report/generateReport";
|
||||
|
||||
export interface Options extends XMsExampleExtractor.Options {
|
||||
consoleLogLevel?: unknown;
|
||||
|
@ -214,13 +214,27 @@ export async function validateTraffic(
|
|||
});
|
||||
}
|
||||
if (options.jsonReportPath) {
|
||||
const errorDefinitions = await loadErrorDefinitions();
|
||||
const report = {
|
||||
coveredSpecFiles: validator.operationCoverageResult.map((item) =>
|
||||
options.overrideLinkInReport
|
||||
? `${options.specLinkPrefix}/${item.spec?.substring(
|
||||
item.spec?.indexOf("specification")
|
||||
)}`
|
||||
: `${item.spec}`
|
||||
),
|
||||
allOperations: validator.operationCoverageResult
|
||||
.map((item) => item.totalOperations)
|
||||
.reduce((a, b) => a + b, 0),
|
||||
coveredOperations: validator.operationCoverageResult
|
||||
.map((item) => item.coveredOperations)
|
||||
.reduce((a, b) => a + b, 0),
|
||||
unCoveredOperationsList: validator.operationCoverageResult.map((item) => {
|
||||
return {
|
||||
spec: item.spec,
|
||||
operationIds: item.unCoveredOperationsList.map((opeartion) => opeartion.operationId),
|
||||
};
|
||||
}),
|
||||
failedOperations: validator.operationCoverageResult
|
||||
.map((item) => item.validationFailOperations)
|
||||
.reduce((a, b) => a + b, 0),
|
||||
|
@ -229,11 +243,22 @@ export async function validateTraffic(
|
|||
trafficValidationResult,
|
||||
(item) =>
|
||||
item.errors?.map((it) => {
|
||||
const errorDef = errorDefinitions.get(it.code);
|
||||
const specFilePath = item.specFilePath || "";
|
||||
const overrideLinkInReport = options.overrideLinkInReport || false;
|
||||
const specLinkPrefix = options.specLinkPrefix || "";
|
||||
return {
|
||||
spec: specFilePath,
|
||||
errorCode: it.code,
|
||||
errorLink: errorDef?.link,
|
||||
errorMessage: it.message,
|
||||
issueSource: it.issueSource,
|
||||
operationId: item.operationInfo?.operationId,
|
||||
schemaPathWithPosition: overrideLinkInReport
|
||||
? `${specLinkPrefix}/${specFilePath.substring(
|
||||
specFilePath.indexOf("specification")
|
||||
)}#L${it.source.position.line}`
|
||||
: `${specFilePath}#L${it.source.position.line}`,
|
||||
};
|
||||
}) ?? []
|
||||
)
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "oav",
|
||||
"version": "3.2.11",
|
||||
"version": "3.3.3",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation",
|
||||
"email": "azsdkteam@microsoft.com",
|
||||
|
@ -34,7 +34,6 @@
|
|||
"lodash": "^4.17.21",
|
||||
"md5-file": "^5.0.0",
|
||||
"mkdirp": "^1.0.4",
|
||||
"mockjs": "^1.1.0",
|
||||
"moment": "^2.29.3",
|
||||
"mustache": "^4.2.0",
|
||||
"newman": "^5.3.2",
|
||||
|
@ -137,4 +136,4 @@
|
|||
"jest-junit": {
|
||||
"output": "test-results.xml"
|
||||
}
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,10 +1,13 @@
|
|||
import * as assert from "assert";
|
||||
import { exec } from "child_process";
|
||||
import { existsSync,readFileSync, writeFileSync } from "fs";
|
||||
import { existsSync, readFileSync, writeFileSync } from "fs";
|
||||
import { dirname, join, resolve } from "path";
|
||||
import { mkdirpSync } from "fs-extra";
|
||||
import glob from "glob";
|
||||
import {dirname, join, resolve } from "path";
|
||||
import { ApiTestGeneratorRule, ApiTestRuleBasedGenerator } from "../lib/apiScenario/gen/ApiTestRuleBasedGenerator";
|
||||
import {
|
||||
ApiTestGeneratorRule,
|
||||
ApiTestRuleBasedGenerator,
|
||||
} from "../lib/apiScenario/gen/ApiTestRuleBasedGenerator";
|
||||
import { NoChildResourceCreated } from "../lib/apiScenario/gen/rules/noChildResourceCreated";
|
||||
import { ResourceNameCaseInsensitive } from "../lib/apiScenario/gen/rules/resourceNameCaseInsensitive";
|
||||
import { SystemDataExistsInResponse } from "../lib/apiScenario/gen/rules/systemDataExistsInResponse";
|
||||
|
@ -18,7 +21,7 @@ jest.setTimeout(9999999);
|
|||
|
||||
export const testApiTestRuleBase = async (
|
||||
swaggers: string[],
|
||||
specFolder:string,
|
||||
specFolder: string,
|
||||
rules: ApiTestGeneratorRule[],
|
||||
isRPaaS?: string
|
||||
) => {
|
||||
|
@ -30,46 +33,46 @@ export const testApiTestRuleBase = async (
|
|||
const swaggerLoader = inversifyGetInstance(SwaggerLoader, opts);
|
||||
const jsonLoader = inversifyGetInstance(JsonLoader, opts);
|
||||
|
||||
const generateDependencyFile = async (swaggers:string[],specFolder:string) => {
|
||||
const outputDir = `.restler_output_${swaggers[0].split("/")[1]}`
|
||||
const restlerConfig = {
|
||||
SwaggerSpecFilePath: swaggers.map(s => join("/swagger",s)),
|
||||
};
|
||||
const restlerConfigFile = join("restler_config", "config.json")
|
||||
if (!existsSync(dirname(join(specFolder, restlerConfigFile)))) {
|
||||
mkdirpSync(dirname(join(specFolder, restlerConfigFile)));
|
||||
}
|
||||
writeFileSync(join(specFolder, restlerConfigFile), JSON.stringify(restlerConfig));
|
||||
const { err, stderr } = (await new Promise((res) =>
|
||||
exec(
|
||||
`docker run --rm -v $(pwd):/swagger -w /swagger/${outputDir} mcr.microsoft.com/restlerfuzzer/restler dotnet /RESTler/restler/Restler.dll compile /swagger/${restlerConfigFile}`,
|
||||
{ encoding: "utf8", maxBuffer: 1024 * 1024 * 64, cwd: specFolder },
|
||||
(err: unknown, stdout: unknown, stderr: unknown) =>
|
||||
res({ err: err, stderr: stderr, stdout: stdout })
|
||||
)
|
||||
)) as any;
|
||||
if (err || stderr) {
|
||||
console.log(err || stderr)
|
||||
}
|
||||
const dependencyFile = resolve(specFolder,outputDir,"Compile/dependencies.json")
|
||||
if (existsSync(dependencyFile)) {
|
||||
return dependencyFile
|
||||
}
|
||||
console.log(`Could not find dependency file:${dependencyFile}.`)
|
||||
return null
|
||||
}
|
||||
const generateDependencyFile = async (swaggers: string[], specFolder: string) => {
|
||||
const outputDir = `.restler_output_${swaggers[0].split("/")[1]}`;
|
||||
const restlerConfig = {
|
||||
SwaggerSpecFilePath: swaggers.map((s) => join("/swagger", s)),
|
||||
};
|
||||
const restlerConfigFile = join("restler_config", "config.json");
|
||||
if (!existsSync(dirname(join(specFolder, restlerConfigFile)))) {
|
||||
mkdirpSync(dirname(join(specFolder, restlerConfigFile)));
|
||||
}
|
||||
writeFileSync(join(specFolder, restlerConfigFile), JSON.stringify(restlerConfig));
|
||||
const { err, stderr } = (await new Promise((res) =>
|
||||
exec(
|
||||
`docker run --rm -v $(pwd):/swagger -w /swagger/${outputDir} mcr.microsoft.com/restlerfuzzer/restler dotnet /RESTler/restler/Restler.dll compile /swagger/${restlerConfigFile}`,
|
||||
{ encoding: "utf8", maxBuffer: 1024 * 1024 * 64, cwd: specFolder },
|
||||
(err: unknown, stdout: unknown, stderr: unknown) =>
|
||||
res({ err: err, stderr: stderr, stdout: stdout })
|
||||
)
|
||||
)) as any;
|
||||
if (err || stderr) {
|
||||
console.log(err || stderr);
|
||||
}
|
||||
const dependencyFile = resolve(specFolder, outputDir, "Compile/dependencies.json");
|
||||
if (existsSync(dependencyFile)) {
|
||||
return dependencyFile;
|
||||
}
|
||||
console.log(`Could not find dependency file:${dependencyFile}.`);
|
||||
return null;
|
||||
};
|
||||
const dependencyFile = await generateDependencyFile(swaggers, specFolder);
|
||||
const outputDir = `${join(specFolder,dirname(swaggers[0]))}/generatedScenarios`;
|
||||
assert.ok(dependencyFile)
|
||||
const outputDir = `${join(specFolder, dirname(swaggers[0]))}/generatedScenarios`;
|
||||
assert.ok(dependencyFile);
|
||||
const generator = new ApiTestRuleBasedGenerator(
|
||||
swaggerLoader,
|
||||
jsonLoader,
|
||||
rules,
|
||||
swaggers.map(s =>resolve(specFolder,s)),
|
||||
swaggers.map((s) => resolve(specFolder, s)),
|
||||
dependencyFile!
|
||||
);
|
||||
await generator.run(outputDir, isRPaaS ? "RPaaS" : "ARM");
|
||||
const pathPattern = resolve(outputDir,"*.yaml")
|
||||
const pathPattern = resolve(outputDir, "*.yaml");
|
||||
return glob.sync(pathPattern, {
|
||||
ignore: ["**/examples/**/*.json", "**/quickstart-templates/*.json", "**/schema/*.json"],
|
||||
});
|
||||
|
@ -84,14 +87,15 @@ async function testApiTestRuleBaseForReadme(
|
|||
const inputs = (await getInputFiles(join(specFolder, readmeMd))).map((it: string) =>
|
||||
join(dirname(readmeMd), it)
|
||||
);
|
||||
return await testApiTestRuleBase(
|
||||
return await testApiTestRuleBase(
|
||||
inputs.filter((spec) => !isCommonSpec(join(specFolder, spec))),
|
||||
specFolder,
|
||||
rules,isRPaaS
|
||||
rules,
|
||||
isRPaaS
|
||||
);
|
||||
}
|
||||
|
||||
function isCommonSpec(swagger:string) {
|
||||
function isCommonSpec(swagger: string) {
|
||||
const swaggerDefinition = JSON.parse(readFileSync(swagger).toString());
|
||||
return !swaggerDefinition.paths || Object.keys(swaggerDefinition.paths).length === 0;
|
||||
}
|
||||
|
@ -108,21 +112,19 @@ describe("Api Test rule based generator test", () => {
|
|||
ignore: ["**/examples/**/*.json", "**/quickstart-templates/*.json", "**/schema/*.json"],
|
||||
}
|
||||
);
|
||||
const selectedRps = ["appconfiguration","monitor","sql","hdinsight", "resource","storage"];
|
||||
const selectedRps = ["appconfiguration", "monitor", "sql", "hdinsight", "resource", "storage"];
|
||||
const allSpecs = specPaths
|
||||
.filter(
|
||||
(p: string) => selectedRps.some((rp: string) => p.includes(`specification/${rp}/`))
|
||||
)
|
||||
.filter((p: string) => selectedRps.some((rp: string) => p.includes(`specification/${rp}/`)))
|
||||
.map((f) => f.substring(specFolder.length + 1));
|
||||
|
||||
|
||||
it("test rules", async () => {
|
||||
for (const readmeMd of allSpecs) {
|
||||
const scenarioFiles = await testApiTestRuleBaseForReadme(
|
||||
readmeMd,
|
||||
specFolder,
|
||||
[NoChildResourceCreated,ResourceNameCaseInsensitive,SystemDataExistsInResponse]
|
||||
);
|
||||
const scenarioFiles = await testApiTestRuleBaseForReadme(readmeMd, specFolder, [
|
||||
NoChildResourceCreated,
|
||||
ResourceNameCaseInsensitive,
|
||||
SystemDataExistsInResponse,
|
||||
]);
|
||||
assert.ok(scenarioFiles);
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
0
test/apiScenario/fixtures/specification/authorization/resource-manager/readme.md
Executable file → Normal file
0
test/apiScenario/fixtures/specification/authorization/resource-manager/readme.md
Executable file → Normal file
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
/* tslint:disable:no-console max-line-length*/
|
||||
|
||||
import assert from "assert";
|
||||
import * as validate from "../lib/validate";
|
||||
|
||||
import { repoPath, clonePR } from "./utilities.helpers";
|
||||
|
||||
const prNumber: number = 0;
|
||||
const prRepo: string = "azure/azure-rest-api-specs";
|
||||
const specPath = `${repoPath}/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json`;
|
||||
|
||||
jest.setTimeout(1000000); // Set the timeout in milliseconds
|
||||
|
||||
describe("Model Validation", () => {
|
||||
it("Debug an individual spec failing model validation.", async () => {
|
||||
clonePR(`https://github.com/${prRepo}.git`, prNumber)
|
||||
|
||||
const result = await validate.validateExamples(specPath, undefined);
|
||||
|
||||
assert(
|
||||
result.length == 0,
|
||||
`swagger "${specPath}" contains unexpected model validation errors.`
|
||||
);
|
||||
});
|
||||
});
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
/* tslint:disable:no-console max-line-length*/
|
||||
|
||||
import assert from "assert";
|
||||
import * as validate from "../lib/validate";
|
||||
|
||||
import { repoPath, clonePR } from "./utilities.helpers";
|
||||
|
||||
const prNumber: number = 27067;
|
||||
const prRepo: string = "azure/azure-rest-api-specs";
|
||||
const specPath = `${repoPath}/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json`;
|
||||
|
||||
jest.setTimeout(1000000); // Set the timeout in milliseconds
|
||||
|
||||
describe("Semantic Validation", () => {
|
||||
it("Debug an individual spec failing semantic validation.", async () => {
|
||||
clonePR(`https://github.com/${prRepo}.git`, prNumber)
|
||||
|
||||
const result = await validate.validateSpec(specPath, undefined);
|
||||
|
||||
assert(
|
||||
result.validityStatus === true,
|
||||
`swagger "${specPath}" contains unexpected semantic validation errors.`
|
||||
);
|
||||
});
|
||||
});
|
|
@ -1,536 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: G Pages: 1 -->
|
||||
<svg width="1200pt" height="1482pt"
|
||||
viewBox="0.00 0.00 1199.50 1482.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1478)">
|
||||
<title>G</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1478 1195.5,-1478 1195.5,4 -4,4"/>
|
||||
<!-- A0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>A0</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="329.5,-1032 329.5,-1120 476.5,-1120 476.5,-1032 329.5,-1032"/>
|
||||
<polygon fill="none" stroke="#000000" points="330,-1088 330,-1120 477,-1120 477,-1088 330,-1088"/>
|
||||
<text text-anchor="start" x="365.1555" y="-1101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">SearchResponse</text>
|
||||
<polygon fill="none" stroke="#000000" points="330,-1032 330,-1088 477,-1088 477,-1032 330,-1032"/>
|
||||
<text text-anchor="start" x="339.876" y="-1069" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-queryContext:QueryContext</text>
|
||||
<text text-anchor="start" x="368.218" y="-1057" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-entities:Entities</text>
|
||||
<text text-anchor="start" x="370.995" y="-1045" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-places:Places</text>
|
||||
</g>
|
||||
<!-- A2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>A2</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="109.5,-696 109.5,-808 266.5,-808 266.5,-696 109.5,-696"/>
|
||||
<polygon fill="none" stroke="#000000" points="110,-776 110,-808 267,-808 267,-776 110,-776"/>
|
||||
<text text-anchor="start" x="157.66" y="-789" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">QueryContext</text>
|
||||
<polygon fill="none" stroke="#000000" points="110,-696 110,-776 267,-776 267,-696 110,-696"/>
|
||||
<text text-anchor="start" x="143.4995" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-originalQuery:string</text>
|
||||
<text text-anchor="start" x="144.329" y="-745" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-alteredQuery:string</text>
|
||||
<text text-anchor="start" x="119.884" y="-733" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-alterationOverrideQuery:string</text>
|
||||
<text text-anchor="start" x="144.315" y="-721" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-adultIntent:boolean</text>
|
||||
<text text-anchor="start" x="122.9315" y="-709" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-askUserForLocation:boolean</text>
|
||||
</g>
|
||||
<!-- A0->A2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>A0->A2</title>
|
||||
<path fill="none" stroke="#000000" d="M329.3434,-1036.2291C326.5324,-1034.7901 323.744,-1033.376 321,-1032 274.0775,-1008.4704 244.6322,-1024.6266 214,-982 180.1042,-934.8319 176.1961,-867.6054 179.2183,-818.0079"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="179.934,-808.0204 183.7076,-818.3165 179.5766,-813.0076 179.2191,-817.9948 179.2191,-817.9948 179.2191,-817.9948 179.5766,-813.0076 174.7306,-817.6731 179.934,-808.0204 179.934,-808.0204"/>
|
||||
</g>
|
||||
<!-- A3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>A3</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="284.5,-714 284.5,-790 399.5,-790 399.5,-714 284.5,-714"/>
|
||||
<polygon fill="none" stroke="#000000" points="285,-758 285,-790 400,-790 400,-758 285,-758"/>
|
||||
<text text-anchor="start" x="326.1085" y="-771" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Entities</text>
|
||||
<polygon fill="none" stroke="#000000" points="285,-714 285,-758 400,-758 400,-714 285,-714"/>
|
||||
<text text-anchor="start" x="294.994" y="-739" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-queryScenario:string</text>
|
||||
<text text-anchor="start" x="297.2135" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-value:Array<Thing></text>
|
||||
</g>
|
||||
<!-- A0->A3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>A0->A3</title>
|
||||
<path fill="none" stroke="#000000" d="M401.4241,-1031.6496C399.1235,-987.2379 393.5232,-917.1758 380,-858 375.5535,-838.5427 368.6099,-817.746 361.8681,-799.7728"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="358.1605,-790.1046 365.9428,-797.8303 359.9508,-794.7731 361.7411,-799.4416 361.7411,-799.4416 361.7411,-799.4416 359.9508,-794.7731 357.5395,-801.0528 358.1605,-790.1046 358.1605,-790.1046"/>
|
||||
</g>
|
||||
<!-- A4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>A4</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="418,-720 418,-784 528,-784 528,-720 418,-720"/>
|
||||
<polygon fill="none" stroke="#000000" points="418,-752 418,-784 528,-784 528,-752 418,-752"/>
|
||||
<text text-anchor="start" x="457.997" y="-765" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Places</text>
|
||||
<polygon fill="none" stroke="#000000" points="418,-720 418,-752 528,-752 528,-720 418,-720"/>
|
||||
<text text-anchor="start" x="427.7135" y="-733" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-value:Array<Thing></text>
|
||||
</g>
|
||||
<!-- A0->A4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>A0->A4</title>
|
||||
<path fill="none" stroke="#000000" d="M412.5134,-1031.9667C426.0121,-969.4866 450.558,-855.8743 463.8534,-794.3359"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="466.0435,-784.1985 468.3302,-794.9233 464.9876,-789.0857 463.9317,-793.9729 463.9317,-793.9729 463.9317,-793.9729 464.9876,-789.0857 459.5332,-793.0226 466.0435,-784.1985 466.0435,-784.1985"/>
|
||||
</g>
|
||||
<!-- A1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>A1</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="261,-1170 261,-1246 545,-1246 545,-1170 261,-1170"/>
|
||||
<polygon fill="none" stroke="#000000" points="261,-1214 261,-1246 545,-1246 545,-1214 261,-1214"/>
|
||||
<text text-anchor="start" x="380.493" y="-1227" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Response</text>
|
||||
<polygon fill="none" stroke="#000000" points="261,-1170 261,-1214 545,-1214 545,-1170 261,-1170"/>
|
||||
<text text-anchor="start" x="270.7595" y="-1195" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-contractualRules:Array<ContractualRulesContractualRule></text>
|
||||
<text text-anchor="start" x="356.334" y="-1183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-webSearchUrl:string</text>
|
||||
</g>
|
||||
<!-- A1->A0 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>A1->A0</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M403,-1159.6968C403,-1146.7596 403,-1132.843 403,-1120.1433"/>
|
||||
<polygon fill="none" stroke="#000000" points="399.5001,-1159.8201 403,-1169.8201 406.5001,-1159.8202 399.5001,-1159.8201"/>
|
||||
<text text-anchor="middle" x="411.4524" y="-1135.2695" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A7 -->
|
||||
<g id="node8" class="node">
|
||||
<title>A7</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="311.8359,-1094 250.1641,-1094 250.1641,-1058 311.8359,-1058 311.8359,-1094"/>
|
||||
<text text-anchor="middle" x="281" y="-1073" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Answer</text>
|
||||
</g>
|
||||
<!-- A1->A7 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>A1->A7</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M359.4101,-1162.3219C346.624,-1148.7788 332.6748,-1133.8618 320,-1120 312.2852,-1111.5628 303.856,-1102.0862 296.8142,-1094.0947"/>
|
||||
<polygon fill="none" stroke="#000000" points="356.9639,-1164.8291 366.3783,-1169.6891 362.0494,-1160.0189 356.9639,-1164.8291"/>
|
||||
<text text-anchor="middle" x="315.144" y="-1099.0959" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A8 -->
|
||||
<g id="node9" class="node">
|
||||
<title>A8</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="494.5,-1044 494.5,-1108 603.5,-1108 603.5,-1044 494.5,-1044"/>
|
||||
<polygon fill="none" stroke="#000000" points="495,-1076 495,-1108 604,-1108 604,-1076 495,-1076"/>
|
||||
<text text-anchor="start" x="515.8855" y="-1089" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ErrorResponse</text>
|
||||
<polygon fill="none" stroke="#000000" points="495,-1044 495,-1076 604,-1076 604,-1044 495,-1044"/>
|
||||
<text text-anchor="start" x="504.504" y="-1057" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-errors:Array<Error></text>
|
||||
</g>
|
||||
<!-- A1->A8 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>A1->A8</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M452.7107,-1163.0561C472.5974,-1145.0763 495.0599,-1124.7678 513.2844,-1108.2908"/>
|
||||
<polygon fill="none" stroke="#000000" points="450.2998,-1160.5174 445.2292,-1169.8201 454.9943,-1165.7099 450.2998,-1160.5174"/>
|
||||
<text text-anchor="middle" x="505.5074" y="-1123.7169" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A9 -->
|
||||
<g id="node10" class="node">
|
||||
<title>A9</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="213.5,-522 213.5,-646 466.5,-646 466.5,-522 213.5,-522"/>
|
||||
<polygon fill="none" stroke="#000000" points="214,-614 214,-646 467,-646 467,-614 214,-614"/>
|
||||
<text text-anchor="start" x="327.9975" y="-627" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Thing</text>
|
||||
<polygon fill="none" stroke="#000000" points="214,-522 214,-614 467,-614 467,-522 214,-522"/>
|
||||
<text text-anchor="start" x="312.7205" y="-595" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-name:string</text>
|
||||
<text text-anchor="start" x="319.67" y="-583" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-url:string</text>
|
||||
<text text-anchor="start" x="295.4935" y="-571" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-image:ImageObject</text>
|
||||
<text text-anchor="start" x="301.053" y="-559" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-description:string</text>
|
||||
<text text-anchor="start" x="223.7995" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-entityPresentationInfo:EntitiesEntityPresentationInfo</text>
|
||||
<text text-anchor="start" x="311.6065" y="-535" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-bingId:string</text>
|
||||
</g>
|
||||
<!-- A1->A9 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>A1->A9</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M300.5936,-1165.0466C279.0931,-1152.7412 257.8542,-1137.7455 241,-1120 136.2065,-1009.6647 130.751,-957.03 100,-808 89.9407,-759.2492 73.2606,-737.9861 100,-696 125.6258,-655.7625 169.8998,-629.7438 213.4979,-613.0277"/>
|
||||
<polygon fill="none" stroke="#000000" points="299.0422,-1168.1885 309.4846,-1169.9798 302.4385,-1162.0676 299.0422,-1168.1885"/>
|
||||
<text text-anchor="middle" x="199.8714" y="-624.6673" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A10 -->
|
||||
<g id="node11" class="node">
|
||||
<title>A10</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="635,-1038 635,-1114 803,-1114 803,-1038 635,-1038"/>
|
||||
<polygon fill="none" stroke="#000000" points="635,-1082 635,-1114 803,-1114 803,-1082 635,-1082"/>
|
||||
<text text-anchor="start" x="644.824" y="-1095" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesContractualRule</text>
|
||||
<polygon fill="none" stroke="#000000" points="635,-1038 635,-1082 803,-1082 803,-1038 635,-1038"/>
|
||||
<text text-anchor="start" x="658.717" y="-1063" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-targetPropertyName:string</text>
|
||||
<text text-anchor="start" x="659.837" y="-1051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-_type(discriminator):string</text>
|
||||
</g>
|
||||
<!-- A1->A10 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>A1->A10</title>
|
||||
<path fill="none" stroke="#000000" d="M493.9763,-1169.9972C535.2519,-1152.7555 584.0184,-1132.3847 625.5826,-1115.0225"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="634.8832,-1111.1374 627.3904,-1119.1442 630.2695,-1113.0647 625.6558,-1114.9919 625.6558,-1114.9919 625.6558,-1114.9919 630.2695,-1113.0647 623.9213,-1110.8396 634.8832,-1111.1374 634.8832,-1111.1374"/>
|
||||
</g>
|
||||
<!-- A3->A9 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>A3->A9</title>
|
||||
<path fill="none" stroke="#000000" d="M341.5462,-713.8782C341.343,-696.8131 341.0965,-676.1038 340.8605,-656.2823"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="340.7384,-646.0219 345.3572,-655.9676 340.7979,-651.0216 340.8575,-656.0212 340.8575,-656.0212 340.8575,-656.0212 340.7979,-651.0216 336.3578,-656.0748 340.7384,-646.0219 340.7384,-646.0219"/>
|
||||
</g>
|
||||
<!-- A4->A9 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>A4->A9</title>
|
||||
<path fill="none" stroke="#000000" d="M447.3563,-719.6079C432.6361,-701.014 413.5553,-676.912 395.571,-654.195"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="389.2644,-646.2288 398.9997,-651.2761 392.368,-650.149 395.4715,-654.0693 395.4715,-654.0693 395.4715,-654.0693 392.368,-650.149 391.9433,-656.8624 389.2644,-646.2288 389.2644,-646.2288"/>
|
||||
</g>
|
||||
<!-- A5 -->
|
||||
<g id="node6" class="node">
|
||||
<title>A5</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="223.5,-888 223.5,-952 370.5,-952 370.5,-888 223.5,-888"/>
|
||||
<polygon fill="none" stroke="#000000" points="224,-920 224,-952 371,-952 371,-920 224,-920"/>
|
||||
<text text-anchor="start" x="248.3275" y="-933" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">SearchResultsAnswer</text>
|
||||
<polygon fill="none" stroke="#000000" points="224,-888 224,-920 371,-920 371,-888 224,-888"/>
|
||||
<text text-anchor="start" x="233.876" y="-901" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-queryContext:QueryContext</text>
|
||||
</g>
|
||||
<!-- A5->A2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>A5->A2</title>
|
||||
<path fill="none" stroke="#000000" d="M275.9837,-887.6079C262.9237,-867.4788 245.6755,-840.8943 229.9131,-816.6"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="224.4091,-808.1167 233.627,-814.0564 227.1305,-812.3112 229.852,-816.5057 229.852,-816.5057 229.852,-816.5057 227.1305,-812.3112 226.0769,-818.955 224.4091,-808.1167 224.4091,-808.1167"/>
|
||||
</g>
|
||||
<!-- A5->A3 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>A5->A3</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M308.3292,-877.7042C315.5361,-850.7984 324.7919,-816.2434 331.7747,-790.1743"/>
|
||||
<polygon fill="none" stroke="#000000" points="304.8831,-877.0428 305.6765,-887.6079 311.6447,-878.854 304.8831,-877.0428"/>
|
||||
<text text-anchor="middle" x="335.2494" y="-806.8702" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A5->A4 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>A5->A4</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M338.5204,-880.3669C369.3166,-850.9705 410.7642,-811.4069 439.4685,-784.0073"/>
|
||||
<polygon fill="none" stroke="#000000" points="335.7515,-878.1714 330.9346,-887.6079 340.5848,-883.2349 335.7515,-878.1714"/>
|
||||
<text text-anchor="middle" x="432.193" y="-799.6371" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A6 -->
|
||||
<g id="node7" class="node">
|
||||
<title>A6</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="369,-1296 369,-1360 437,-1360 437,-1296 369,-1296"/>
|
||||
<polygon fill="none" stroke="#000000" points="369,-1328 369,-1360 437,-1360 437,-1328 369,-1328"/>
|
||||
<text text-anchor="start" x="378.826" y="-1341" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Identifiable</text>
|
||||
<polygon fill="none" stroke="#000000" points="369,-1296 369,-1328 437,-1328 437,-1296 369,-1296"/>
|
||||
<text text-anchor="start" x="383.8345" y="-1309" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-id:string</text>
|
||||
</g>
|
||||
<!-- A6->A1 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>A6->A1</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M403,-1285.8156C403,-1272.9266 403,-1258.8315 403,-1246.2213"/>
|
||||
<polygon fill="none" stroke="#000000" points="399.5001,-1285.8422 403,-1295.8422 406.5001,-1285.8422 399.5001,-1285.8422"/>
|
||||
<text text-anchor="middle" x="411.4524" y="-1261.3474" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A7->A5 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>A7->A5</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M283.9231,-1047.4993C286.6853,-1020.5684 290.8234,-980.2215 293.7022,-952.1533"/>
|
||||
<polygon fill="none" stroke="#000000" points="280.4054,-1047.4946 282.8667,-1057.7995 287.3688,-1048.2088 280.4054,-1047.4946"/>
|
||||
<text text-anchor="middle" x="300.2611" y="-968.0473" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A15 -->
|
||||
<g id="node16" class="node">
|
||||
<title>A15</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="497.5,-858 497.5,-982 600.5,-982 600.5,-858 497.5,-858"/>
|
||||
<polygon fill="none" stroke="#000000" points="498,-950 498,-982 601,-982 601,-950 498,-950"/>
|
||||
<text text-anchor="start" x="538.3925" y="-963" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Error</text>
|
||||
<polygon fill="none" stroke="#000000" points="498,-858 498,-950 601,-950 601,-858 498,-858"/>
|
||||
<text text-anchor="start" x="523.385" y="-931" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-code:string</text>
|
||||
<text text-anchor="start" x="514.2165" y="-919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-subCode:string</text>
|
||||
<text text-anchor="start" x="513.941" y="-907" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-message:string</text>
|
||||
<text text-anchor="start" x="507.5585" y="-895" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-moreDetails:string</text>
|
||||
<text text-anchor="start" x="511.443" y="-883" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-parameter:string</text>
|
||||
<text text-anchor="start" x="522.2755" y="-871" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-value:string</text>
|
||||
</g>
|
||||
<!-- A8->A15 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>A8->A15</title>
|
||||
<path fill="none" stroke="#000000" d="M549,-1043.6767C549,-1028.7613 549,-1010.4053 549,-992.4442"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="549,-982.2385 553.5001,-992.2384 549,-987.2385 549.0001,-992.2385 549.0001,-992.2385 549.0001,-992.2385 549,-987.2385 544.5001,-992.2385 549,-982.2385 549,-982.2385"/>
|
||||
</g>
|
||||
<!-- A11 -->
|
||||
<g id="node12" class="node">
|
||||
<title>A11</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="276,-60 276,-124 402,-124 402,-60 276,-60"/>
|
||||
<polygon fill="none" stroke="#000000" points="276,-92 276,-124 402,-124 402,-92 276,-92"/>
|
||||
<text text-anchor="start" x="310.66" y="-105" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ImageObject</text>
|
||||
<polygon fill="none" stroke="#000000" points="276,-60 276,-92 402,-92 402,-60 276,-60"/>
|
||||
<text text-anchor="start" x="285.9355" y="-73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-thumbnail:ImageObject</text>
|
||||
</g>
|
||||
<!-- A9->A11 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>A9->A11</title>
|
||||
<path fill="none" stroke="#000000" d="M317.6213,-521.9554C312.8143,-505.8969 308.4467,-488.4823 306,-472 287.882,-349.9448 313.6227,-204.2468 328.9738,-133.989"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="331.1569,-124.1823 333.3764,-134.9212 330.0704,-129.0628 328.9839,-133.9433 328.9839,-133.9433 328.9839,-133.9433 330.0704,-129.0628 324.5914,-132.9655 331.1569,-124.1823 331.1569,-124.1823"/>
|
||||
</g>
|
||||
<!-- A12 -->
|
||||
<g id="node13" class="node">
|
||||
<title>A12</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="0,-246 0,-322 126,-322 126,-246 0,-246"/>
|
||||
<polygon fill="none" stroke="#000000" points="0,-290 0,-322 126,-322 126,-290 0,-290"/>
|
||||
<text text-anchor="start" x="50.497" y="-303" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Place</text>
|
||||
<polygon fill="none" stroke="#000000" points="0,-246 0,-290 126,-290 126,-246 0,-246"/>
|
||||
<text text-anchor="start" x="9.9335" y="-271" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-address:PostalAddress</text>
|
||||
<text text-anchor="start" x="25.768" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-telephone:string</text>
|
||||
</g>
|
||||
<!-- A9->A12 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>A9->A12</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M203.8307,-557.2782C155.765,-540.8217 106.2095,-514.378 76,-472 44.7597,-428.176 48.3003,-363.0462 54.8222,-322.0871"/>
|
||||
<polygon fill="none" stroke="#000000" points="202.8248,-560.6318 213.4178,-560.4381 205.016,-553.9836 202.8248,-560.6318"/>
|
||||
<text text-anchor="middle" x="60.651" y="-338.2189" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A13 -->
|
||||
<g id="node14" class="node">
|
||||
<title>A13</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="169.1796,-446 84.8204,-446 84.8204,-410 169.1796,-410 169.1796,-446"/>
|
||||
<text text-anchor="middle" x="127" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Organization</text>
|
||||
</g>
|
||||
<!-- A9->A13 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>A9->A13</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M237.9641,-515.9223C217.8076,-501.7874 197.0164,-486.7093 178,-472 167.4552,-463.8436 156.1884,-454.2261 146.9337,-446.0663"/>
|
||||
<polygon fill="none" stroke="#000000" points="236.0496,-518.8542 246.253,-521.7075 240.056,-513.1141 236.0496,-518.8542"/>
|
||||
<text text-anchor="middle" x="166.131" y="-448.6758" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A16 -->
|
||||
<g id="node17" class="node">
|
||||
<title>A16</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="489,-384 489,-472 611,-472 611,-384 489,-384"/>
|
||||
<polygon fill="none" stroke="#000000" points="489,-440 489,-472 611,-472 611,-440 489,-440"/>
|
||||
<text text-anchor="start" x="519.725" y="-453" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">CreativeWork</text>
|
||||
<polygon fill="none" stroke="#000000" points="489,-384 489,-440 611,-440 611,-384 489,-384"/>
|
||||
<text text-anchor="start" x="506.6695" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-thumbnailUrl:string</text>
|
||||
<text text-anchor="start" x="498.605" y="-409" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-provider:Array<Thing></text>
|
||||
<text text-anchor="start" x="526.665" y="-397" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-text:string</text>
|
||||
</g>
|
||||
<!-- A9->A16 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>A9->A16</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M425.0747,-515.8229C446.3669,-499.89 468.788,-483.4016 488.6811,-469.074"/>
|
||||
<polygon fill="none" stroke="#000000" points="422.8769,-513.0962 416.9771,-521.8964 427.0771,-518.6961 422.8769,-513.0962"/>
|
||||
<text text-anchor="middle" x="478.9318" y="-483.5368" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A17 -->
|
||||
<g id="node18" class="node">
|
||||
<title>A17</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="258.8509,-446 187.1491,-446 187.1491,-410 258.8509,-410 258.8509,-446"/>
|
||||
<text text-anchor="middle" x="223" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Intangible</text>
|
||||
</g>
|
||||
<!-- A9->A17 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>A9->A17</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M287.4001,-513.8667C268.7338,-488.9784 249.2581,-463.0108 236.6791,-446.2388"/>
|
||||
<polygon fill="none" stroke="#000000" points="284.6223,-515.9964 293.4223,-521.8964 290.2223,-511.7964 284.6223,-515.9964"/>
|
||||
<text text-anchor="middle" x="254.3167" y="-452.6683" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A18 -->
|
||||
<g id="node19" class="node">
|
||||
<title>A18</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="315.5,-384 315.5,-472 470.5,-472 470.5,-384 315.5,-384"/>
|
||||
<polygon fill="none" stroke="#000000" points="316,-440 316,-472 471,-472 471,-440 316,-440"/>
|
||||
<text text-anchor="start" x="328.2035" y="-453" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">EntitiesEntityPresentationInfo</text>
|
||||
<polygon fill="none" stroke="#000000" points="316,-384 316,-440 471,-440 471,-384 316,-384"/>
|
||||
<text text-anchor="start" x="346.5495" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-entityScenario:string</text>
|
||||
<text text-anchor="start" x="325.9925" y="-409" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-entityTypeHints:Array<string></text>
|
||||
<text text-anchor="start" x="329.887" y="-397" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-entityTypeDisplayHint:string</text>
|
||||
</g>
|
||||
<!-- A9->A18 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>A9->A18</title>
|
||||
<path fill="none" stroke="#000000" d="M361.0993,-521.8964C365.608,-508.6256 370.3345,-494.7136 374.7264,-481.7865"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="378.0105,-472.1201 379.0544,-483.0362 376.402,-476.8543 374.7936,-481.5886 374.7936,-481.5886 374.7936,-481.5886 376.402,-476.8543 370.5328,-480.141 378.0105,-472.1201 378.0105,-472.1201"/>
|
||||
</g>
|
||||
<!-- A19 -->
|
||||
<g id="node20" class="node">
|
||||
<title>A19</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="662.5,-888 662.5,-952 829.5,-952 829.5,-888 662.5,-888"/>
|
||||
<polygon fill="none" stroke="#000000" points="663,-920 663,-952 830,-952 830,-920 663,-920"/>
|
||||
<text text-anchor="start" x="685.6575" y="-933" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesAttribution</text>
|
||||
<polygon fill="none" stroke="#000000" points="663,-888 663,-920 830,-920 830,-888 663,-888"/>
|
||||
<text text-anchor="start" x="672.5935" y="-901" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-mustBeCloseToContent:boolean</text>
|
||||
</g>
|
||||
<!-- A10->A19 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>A10->A19</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M727.3125,-1027.9721C731.5688,-1003.3802 736.6365,-974.1005 740.42,-952.2398"/>
|
||||
<polygon fill="none" stroke="#000000" points="723.8617,-1027.3877 725.6049,-1037.8381 730.7592,-1028.5815 723.8617,-1027.3877"/>
|
||||
<text text-anchor="middle" x="745.6573" y="-968.5419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A11->A11 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>A11->A11</title>
|
||||
<path fill="none" stroke="#000000" d="M372.2812,-124.124C396.1871,-134.583 420,-123.875 420,-92 420,-64.4829 402.2534,-52.7406 382.0206,-56.7731"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="372.2812,-59.876 380.4433,-52.5527 377.0453,-58.3582 381.8094,-56.8403 381.8094,-56.8403 381.8094,-56.8403 377.0453,-58.3582 383.1754,-61.128 372.2812,-59.876 372.2812,-59.876"/>
|
||||
</g>
|
||||
<!-- A21 -->
|
||||
<g id="node22" class="node">
|
||||
<title>A21</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="64.5,0 64.5,-184 237.5,-184 237.5,0 64.5,0"/>
|
||||
<polygon fill="none" stroke="#000000" points="65,-152 65,-184 238,-184 238,-152 65,-152"/>
|
||||
<text text-anchor="start" x="119.27" y="-165" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">PostalAddress</text>
|
||||
<polygon fill="none" stroke="#000000" points="65,0 65,-152 238,-152 238,0 65,0"/>
|
||||
<text text-anchor="start" x="105.3835" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-streetAddress:string</text>
|
||||
<text text-anchor="start" x="101.494" y="-121" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-addressLocality:string</text>
|
||||
<text text-anchor="start" x="95.6555" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-addressSubregion:string</text>
|
||||
<text text-anchor="start" x="102.604" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-addressRegion:string</text>
|
||||
<text text-anchor="start" x="110.938" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-postalCode:string</text>
|
||||
<text text-anchor="start" x="87.3265" y="-73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-postOfficeBoxNumber:string</text>
|
||||
<text text-anchor="start" x="100.939" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-addressCountry:string</text>
|
||||
<text text-anchor="start" x="113.162" y="-49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-countryIso:string</text>
|
||||
<text text-anchor="start" x="105.6545" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-neighborhood:string</text>
|
||||
<text text-anchor="start" x="74.8195" y="-25" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-addressRegionAbbreviation:string</text>
|
||||
<text text-anchor="start" x="128.165" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-text:string</text>
|
||||
</g>
|
||||
<!-- A12->A21 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>A12->A21</title>
|
||||
<path fill="none" stroke="#000000" d="M80.5966,-245.6074C87.5795,-230.3721 95.9702,-212.0649 104.487,-193.483"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="108.6724,-184.3511 108.5966,-195.3168 106.5891,-188.8965 104.5058,-193.4418 104.5058,-193.4418 104.5058,-193.4418 106.5891,-188.8965 100.415,-191.5668 108.6724,-184.3511 108.6724,-184.3511"/>
|
||||
</g>
|
||||
<!-- A14 -->
|
||||
<g id="node15" class="node">
|
||||
<title>A14</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="334,-1410 334,-1474 472,-1474 472,-1410 334,-1410"/>
|
||||
<polygon fill="none" stroke="#000000" points="334,-1442 334,-1474 472,-1474 472,-1442 334,-1442"/>
|
||||
<text text-anchor="start" x="369.0995" y="-1455" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ResponseBase</text>
|
||||
<polygon fill="none" stroke="#000000" points="334,-1410 334,-1442 472,-1442 472,-1410 334,-1410"/>
|
||||
<text text-anchor="start" x="343.837" y="-1423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-_type(discriminator):string</text>
|
||||
</g>
|
||||
<!-- A14->A6 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>A14->A6</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M403,-1399.7524C403,-1386.6785 403,-1372.4928 403,-1360.2131"/>
|
||||
<polygon fill="none" stroke="#000000" points="399.5001,-1399.9412 403,-1409.9413 406.5001,-1399.9413 399.5001,-1399.9412"/>
|
||||
<text text-anchor="middle" x="411.4524" y="-1375.3392" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A16->A9 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>A16->A9</title>
|
||||
<path fill="none" stroke="#000000" d="M496.7564,-472.1201C478.9793,-485.7075 458.5814,-500.9973 438.4996,-515.8078"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="430.2248,-521.8964 435.6124,-512.3452 434.2521,-518.9331 438.2793,-515.9698 438.2793,-515.9698 438.2793,-515.9698 434.2521,-518.9331 440.9463,-519.5943 430.2248,-521.8964 430.2248,-521.8964"/>
|
||||
</g>
|
||||
<!-- A20 -->
|
||||
<g id="node21" class="node">
|
||||
<title>A20</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="399.5,-234 399.5,-334 504.5,-334 504.5,-234 399.5,-234"/>
|
||||
<polygon fill="none" stroke="#000000" points="400,-302 400,-334 505,-334 505,-302 400,-302"/>
|
||||
<text text-anchor="start" x="424.44" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">MediaObject</text>
|
||||
<polygon fill="none" stroke="#000000" points="400,-234 400,-302 505,-302 505,-234 400,-234"/>
|
||||
<text text-anchor="start" x="414.443" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-contentUrl:string</text>
|
||||
<text text-anchor="start" x="409.7185" y="-271" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-hostPageUrl:string</text>
|
||||
<text text-anchor="start" x="437.7785" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-width:</text>
|
||||
<text text-anchor="start" x="435.829" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-height:</text>
|
||||
</g>
|
||||
<!-- A16->A20 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>A16->A20</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M513.9154,-374.9777C504.8021,-361.5867 495.047,-347.2527 486.0382,-334.0153"/>
|
||||
<polygon fill="none" stroke="#000000" points="511.2773,-377.3223 519.7971,-383.6203 517.0643,-373.3839 511.2773,-377.3223"/>
|
||||
<text text-anchor="middle" x="503.2241" y="-341.2449" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A22 -->
|
||||
<g id="node23" class="node">
|
||||
<title>A22</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="625.4567,-302 562.5433,-302 562.5433,-266 625.4567,-266 625.4567,-302"/>
|
||||
<text text-anchor="middle" x="594" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">License</text>
|
||||
</g>
|
||||
<!-- A16->A22 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>A16->A22</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M566.5774,-373.7468C574.3038,-348.4602 582.9819,-320.0591 588.4671,-302.1078"/>
|
||||
<polygon fill="none" stroke="#000000" points="563.1355,-373.0339 563.5605,-383.6203 569.83,-375.0795 563.1355,-373.0339"/>
|
||||
<text text-anchor="middle" x="591.2537" y="-318.9127" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A23 -->
|
||||
<g id="node24" class="node">
|
||||
<title>A23</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="253.6865,-302 154.3135,-302 154.3135,-266 253.6865,-266 253.6865,-302"/>
|
||||
<text text-anchor="middle" x="204" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">StructuredValue</text>
|
||||
</g>
|
||||
<!-- A17->A23 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>A17->A23</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M219.2358,-399.4713C215.4155,-370.5174 209.6172,-326.5727 206.3868,-302.0896"/>
|
||||
<polygon fill="none" stroke="#000000" points="215.8155,-400.3061 220.5936,-409.7623 222.7554,-399.3904 215.8155,-400.3061"/>
|
||||
<text text-anchor="middle" x="217.1377" y="-315.9544" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A24 -->
|
||||
<g id="node25" class="node">
|
||||
<title>A24</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="550,-546 550,-622 726,-622 726,-546 550,-546"/>
|
||||
<polygon fill="none" stroke="#000000" points="550,-590 550,-622 726,-622 726,-590 550,-590"/>
|
||||
<text text-anchor="start" x="559.93" y="-603" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesLicenseAttribution</text>
|
||||
<polygon fill="none" stroke="#000000" points="550,-546 550,-590 726,-590 726,-546 550,-546"/>
|
||||
<text text-anchor="start" x="602.161" y="-571" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-license:License</text>
|
||||
<text text-anchor="start" x="592.9985" y="-559" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-licenseNotice:string</text>
|
||||
</g>
|
||||
<!-- A19->A24 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>A19->A24</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M704.6386,-879.9906C686.7876,-860.1273 667.6015,-834.6944 657,-808 632.5827,-746.5178 632.1698,-668.2524 634.6786,-622.3815"/>
|
||||
<polygon fill="none" stroke="#000000" points="702.3009,-882.6184 711.6536,-887.5962 707.4464,-877.8725 702.3009,-882.6184"/>
|
||||
<text text-anchor="middle" x="642.3288" y="-637.8605" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A25 -->
|
||||
<g id="node26" class="node">
|
||||
<title>A25</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="666,-708 666,-796 826,-796 826,-708 666,-708"/>
|
||||
<polygon fill="none" stroke="#000000" points="666,-764 666,-796 826,-796 826,-764 666,-764"/>
|
||||
<text text-anchor="start" x="675.989" y="-777" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesLinkAttribution</text>
|
||||
<polygon fill="none" stroke="#000000" points="666,-708 666,-764 826,-764 826,-708 666,-708"/>
|
||||
<text text-anchor="start" x="722.665" y="-745" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-text:string</text>
|
||||
<text text-anchor="start" x="725.17" y="-733" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-url:string</text>
|
||||
<text text-anchor="start" x="675.989" y="-721" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-optionalForListDisplay:boolean</text>
|
||||
</g>
|
||||
<!-- A19->A25 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>A19->A25</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M746,-877.3774C746,-852.498 746,-821.1635 746,-796.044"/>
|
||||
<polygon fill="none" stroke="#000000" points="742.5001,-877.6079 746,-887.6079 749.5001,-877.6079 742.5001,-877.6079"/>
|
||||
<text text-anchor="middle" x="754.4524" y="-811.1701" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A26 -->
|
||||
<g id="node27" class="node">
|
||||
<title>A26</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="844,-720 844,-784 1012,-784 1012,-720 844,-720"/>
|
||||
<polygon fill="none" stroke="#000000" points="844,-752 844,-784 1012,-784 1012,-752 844,-752"/>
|
||||
<text text-anchor="start" x="853.545" y="-765" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesMediaAttribution</text>
|
||||
<polygon fill="none" stroke="#000000" points="844,-720 844,-752 1012,-752 1012,-720 844,-720"/>
|
||||
<text text-anchor="start" x="907.17" y="-733" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-url:string</text>
|
||||
</g>
|
||||
<!-- A19->A26 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>A19->A26</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M788.5316,-880.74C820.4185,-851.306 863.5167,-811.523 893.3254,-784.0073"/>
|
||||
<polygon fill="none" stroke="#000000" points="786.0655,-878.2533 781.0914,-887.6079 790.8135,-883.3969 786.0655,-878.2533"/>
|
||||
<text text-anchor="middle" x="885.7393" y="-799.5128" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A27 -->
|
||||
<g id="node28" class="node">
|
||||
<title>A27</title>
|
||||
<polygon fill="#fff8dc" stroke="transparent" points="1030.5,-714 1030.5,-790 1191.5,-790 1191.5,-714 1030.5,-714"/>
|
||||
<polygon fill="none" stroke="#000000" points="1031,-758 1031,-790 1192,-790 1192,-758 1031,-758"/>
|
||||
<text text-anchor="start" x="1040.934" y="-771" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ContractualRulesTextAttribution</text>
|
||||
<polygon fill="none" stroke="#000000" points="1031,-714 1031,-758 1192,-758 1192,-714 1031,-714"/>
|
||||
<text text-anchor="start" x="1088.165" y="-739" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-text:string</text>
|
||||
<text text-anchor="start" x="1041.489" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">-optionalForListDisplay:boolean</text>
|
||||
</g>
|
||||
<!-- A19->A27 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>A19->A27</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M839.3378,-886.5162C893.4045,-866.0092 962.1921,-837.9968 1021,-808 1031.4917,-802.6484 1042.3626,-796.4726 1052.7673,-790.2191"/>
|
||||
<polygon fill="none" stroke="#000000" points="837.8848,-883.3235 829.7636,-890.1276 840.3554,-889.873 837.8848,-883.3235"/>
|
||||
<text text-anchor="middle" x="1041.5427" y="-803.7723" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A20->A11 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>A20->A11</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M417.1755,-224.8292C397.6253,-191.6112 373.994,-151.4589 357.8659,-124.0554"/>
|
||||
<polygon fill="none" stroke="#000000" points="414.222,-226.7113 422.3106,-233.5543 420.2547,-223.1608 414.222,-226.7113"/>
|
||||
<text text-anchor="middle" x="374.3442" y="-132.3897" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A23->A21 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>A23->A21</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M196.3119,-256.1488C191.0447,-237.0678 183.7305,-210.571 176.514,-184.428"/>
|
||||
<polygon fill="none" stroke="#000000" points="192.9791,-257.229 199.0139,-265.9371 199.7267,-255.3663 192.9791,-257.229"/>
|
||||
<text text-anchor="middle" x="189.4848" y="-196.6516" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">allOf</text>
|
||||
</g>
|
||||
<!-- A24->A22 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>A24->A22</title>
|
||||
<path fill="none" stroke="#000000" d="M636.4322,-545.7872C634.338,-505.3567 629.6996,-439.8151 620,-384 615.7107,-359.3179 608.3636,-331.8051 602.5714,-311.8955"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="599.7087,-302.2324 606.8639,-310.5422 601.129,-307.0264 602.5493,-311.8205 602.5493,-311.8205 602.5493,-311.8205 601.129,-307.0264 598.2346,-313.0987 599.7087,-302.2324 599.7087,-302.2324"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 40 KiB |
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"nameAvailabilityRequest": {
|
||||
"name": "existingaccountname",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats"
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"nameAvailable": false,
|
||||
"reason": "AlreadyExists",
|
||||
"message": "An account named 'existingaccountname' is already in use."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"nameAvailabilityRequest": {
|
||||
"name": "newaccountname",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats"
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"nameAvailable": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName",
|
||||
"dataConnectorName": "WeatherIBM",
|
||||
"body": {
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "ApiKeyAuthCredentials",
|
||||
"apiKey": {
|
||||
"keyVaultUri": "https://testKeyVault.vault.azure.net/",
|
||||
"keyName": "abcApiKey",
|
||||
"keyVersion": "239c0475c7d44f20b0fc27d3fe90a41d"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/dataConnectors/WeatherIBM",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/dataConnectors",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "OAuthClientCredentials",
|
||||
"clientId": "string",
|
||||
"clientSecret": {
|
||||
"keyVaultUri": "string",
|
||||
"keyName": "string",
|
||||
"keyVersion": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/dataConnectors/SatelliteSentinelHub",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/dataConnectors",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "OAuthClientCredentials",
|
||||
"clientId": "string",
|
||||
"clientSecret": {
|
||||
"keyVaultUri": "string",
|
||||
"keyName": "string",
|
||||
"keyVersion": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:02.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"name": "SatelliteSentinelHub"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName",
|
||||
"dataConnectorName": "SatelliteSentinelHub"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {},
|
||||
"400": {
|
||||
"error": {
|
||||
"code": "ConnectorConfigurationInvalid",
|
||||
"message": "Connector name not supported. Supported connectors are 'SatelliteSentinelHub' and 'WeatherIBM'."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName",
|
||||
"dataConnectorName": "SatelliteSentinelHub"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/dataConnectors/SatelliteSentinelHub",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/dataConnectors",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "OAuthClientCredentials",
|
||||
"clientId": "string",
|
||||
"clientSecret": {
|
||||
"keyVaultUri": "string",
|
||||
"keyName": "string",
|
||||
"keyVersion": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:02.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"name": "SatelliteSentinelHub"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName",
|
||||
"dataConnectorName": "WeatherIBM"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/dataConnectors/SatelliteSentinelHub",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/dataConnectors",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "OAuthClientCredentials",
|
||||
"clientId": "string",
|
||||
"clientSecret": {
|
||||
"keyVaultUri": "string",
|
||||
"keyName": "string",
|
||||
"keyVersion": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:02.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"name": "SatelliteSentinelHub"
|
||||
},
|
||||
{
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/dataConnectors/WeatherIBM",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/dataConnectors",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"kind": "ApiKeyAuthCredentials",
|
||||
"apiKey": {
|
||||
"keyVaultUri": "string",
|
||||
"keyName": "string",
|
||||
"keyVersion": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:02.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"name": "WeatherIBM"
|
||||
}
|
||||
],
|
||||
"nextLink": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,243 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"dataManagerForAgricultureExtensionId": "DTN.ContentServices"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/DTN.ContentServices",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions",
|
||||
"systemData": {
|
||||
"createdAt": "2021-04-12T15:28:06Z",
|
||||
"lastModifiedAt": "2021-04-12T15:30:01Z"
|
||||
},
|
||||
"properties": {
|
||||
"targetResourceType": "FarmBeats",
|
||||
"farmBeatsExtensionId": "DTN.ContentServices",
|
||||
"farmBeatsExtensionName": "DTN",
|
||||
"farmBeatsExtensionVersion": "1.0",
|
||||
"publisherId": "dtn",
|
||||
"extensionCategory": "Weather",
|
||||
"extensionAuthLink": "https://www.dtn.com/dtn-content-integration/",
|
||||
"extensionApiDocsLink": "https://cs-docs.dtn.com/api/weather-observations-and-forecasts-rest-api/",
|
||||
"detailedInformation": [
|
||||
{
|
||||
"apiName": "GetDailyObservations",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"sunrise",
|
||||
"sunset",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"maxTemperature",
|
||||
"minTemperature",
|
||||
"avgHeatIndex",
|
||||
"maxHeatIndex",
|
||||
"minHeatIndex",
|
||||
"maxWindChill",
|
||||
"minWindChill",
|
||||
"maxFeelsLike",
|
||||
"minFeelsLike",
|
||||
"avgFeelsLike",
|
||||
"maxWindSpeed",
|
||||
"avgWetBulbGlobeTemp",
|
||||
"maxWetBulbGlobeTemp",
|
||||
"minWetBulbGlobeTemp",
|
||||
"minutesOfSunshine",
|
||||
"cornHeatUnit",
|
||||
"evapotranspiration"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"growingDegreeDay",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetHourlyObservations",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"feelsLike",
|
||||
"visibilityWeatherCode",
|
||||
"visibilityWeatherDescription",
|
||||
"minutesOfSunshine"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"visibility",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection",
|
||||
"windGust"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"hours",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetHourlyForecasts",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"feelsLike",
|
||||
"visibilityWeatherCode",
|
||||
"visibilityWeatherDescription",
|
||||
"minutesOfSunshine"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"visibility",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection",
|
||||
"windGust"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetDailyForecasts",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"sunrise",
|
||||
"sunset",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"maxTemperature",
|
||||
"minTemperature",
|
||||
"avgHeatIndex",
|
||||
"maxHeatIndex",
|
||||
"minHeatIndex",
|
||||
"maxWindChill",
|
||||
"minWindChill",
|
||||
"maxFeelsLike",
|
||||
"minFeelsLike",
|
||||
"avgFeelsLike",
|
||||
"maxWindSpeed",
|
||||
"avgWetBulbGlobeTemp",
|
||||
"maxWetBulbGlobeTemp",
|
||||
"minWetBulbGlobeTemp",
|
||||
"minutesOfSunshine",
|
||||
"cornHeatUnit",
|
||||
"evapotranspiration"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"growingDegreeDay",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "DTN.ContentServices"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,248 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/DTN.ContentServices",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions",
|
||||
"systemData": {
|
||||
"createdAt": "2021-04-12T15:28:06Z",
|
||||
"lastModifiedAt": "2021-04-12T15:30:01Z"
|
||||
},
|
||||
"properties": {
|
||||
"targetResourceType": "FarmBeats",
|
||||
"farmBeatsExtensionId": "DTN.ContentServices",
|
||||
"farmBeatsExtensionName": "DTN",
|
||||
"farmBeatsExtensionVersion": "1.0",
|
||||
"publisherId": "dtn",
|
||||
"extensionCategory": "Weather",
|
||||
"extensionAuthLink": "https://www.dtn.com/dtn-content-integration/",
|
||||
"extensionApiDocsLink": "https://cs-docs.dtn.com/api/weather-observations-and-forecasts-rest-api/",
|
||||
"detailedInformation": [
|
||||
{
|
||||
"apiName": "GetDailyObservations",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"sunrise",
|
||||
"sunset",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"maxTemperature",
|
||||
"minTemperature",
|
||||
"avgHeatIndex",
|
||||
"maxHeatIndex",
|
||||
"minHeatIndex",
|
||||
"maxWindChill",
|
||||
"minWindChill",
|
||||
"maxFeelsLike",
|
||||
"minFeelsLike",
|
||||
"avgFeelsLike",
|
||||
"maxWindSpeed",
|
||||
"avgWetBulbGlobeTemp",
|
||||
"maxWetBulbGlobeTemp",
|
||||
"minWetBulbGlobeTemp",
|
||||
"minutesOfSunshine",
|
||||
"cornHeatUnit",
|
||||
"evapotranspiration"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"growingDegreeDay",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetHourlyObservations",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"feelsLike",
|
||||
"visibilityWeatherCode",
|
||||
"visibilityWeatherDescription",
|
||||
"minutesOfSunshine"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"visibility",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection",
|
||||
"windGust"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"hours",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetHourlyForecasts",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"feelsLike",
|
||||
"visibilityWeatherCode",
|
||||
"visibilityWeatherDescription",
|
||||
"minutesOfSunshine"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"visibility",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection",
|
||||
"windGust"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiName": "GetDailyForecasts",
|
||||
"customParameters": [
|
||||
"stationId",
|
||||
"stationLatitude",
|
||||
"stationLongitude",
|
||||
"timeZone",
|
||||
"sunrise",
|
||||
"sunset",
|
||||
"weatherCode",
|
||||
"weatherDescription",
|
||||
"maxTemperature",
|
||||
"minTemperature",
|
||||
"avgHeatIndex",
|
||||
"maxHeatIndex",
|
||||
"minHeatIndex",
|
||||
"maxWindChill",
|
||||
"minWindChill",
|
||||
"maxFeelsLike",
|
||||
"minFeelsLike",
|
||||
"avgFeelsLike",
|
||||
"maxWindSpeed",
|
||||
"avgWetBulbGlobeTemp",
|
||||
"maxWetBulbGlobeTemp",
|
||||
"minWetBulbGlobeTemp",
|
||||
"minutesOfSunshine",
|
||||
"cornHeatUnit",
|
||||
"evapotranspiration"
|
||||
],
|
||||
"platformParameters": [
|
||||
"cloudCover",
|
||||
"dewPoint",
|
||||
"growingDegreeDay",
|
||||
"precipitation",
|
||||
"pressure",
|
||||
"relativeHumidity",
|
||||
"temperature",
|
||||
"wetBulbTemperature",
|
||||
"dateTime",
|
||||
"windChill",
|
||||
"windSpeed",
|
||||
"windDirection"
|
||||
],
|
||||
"unitsSupported": {
|
||||
"key": "units",
|
||||
"values": [
|
||||
"us",
|
||||
"si"
|
||||
]
|
||||
},
|
||||
"apiInputParameters": [
|
||||
"stationId",
|
||||
"lat",
|
||||
"lon",
|
||||
"days",
|
||||
"units",
|
||||
"precision",
|
||||
"sector"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "DTN.ContentServices"
|
||||
}
|
||||
],
|
||||
"nextLink": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"request": {
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmbeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmbeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Failed"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmBeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmBeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmBeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmBeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmBeatsResourceName",
|
||||
"request": {
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmBeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
},
|
||||
"202": {
|
||||
"headers": {
|
||||
"location": "http://azure.async.operation/status"
|
||||
},
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "examples-farmBeatsResourceName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats",
|
||||
"location": "eastus2",
|
||||
"tags": {
|
||||
"key1": "value1",
|
||||
"key2": "value2"
|
||||
},
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"properties": {
|
||||
"instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-dataManagerForAgricultureResourceName",
|
||||
"extensionId": "provider.extension",
|
||||
"body": {
|
||||
"extensionVersion": "1.0",
|
||||
"apiProperties": {
|
||||
"examples-api": {
|
||||
"apiFreshnessTimeInMinutes": 3600
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-dataManagerForAgricultureResourceName/extensions/provider.extension",
|
||||
"name": "provider.extension",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:02.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"properties": {
|
||||
"extensionCategory": "Weather",
|
||||
"installedExtensionVersion": "1.0",
|
||||
"extensionAuthLink": "https://www.provider.com/extension/",
|
||||
"extensionApiDocsLink": "https://docs.provider.com/documentation/extension",
|
||||
"additionalApiProperties": {
|
||||
"examples-api": {
|
||||
"apiFreshnessTimeInMinutes": 3600
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"extensionId": "provider.extension"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"extensionId": "provider.extension"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
|
||||
"name": "provider.extension",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"properties": {
|
||||
"extensionCategory": "Weather",
|
||||
"installedExtensionVersion": "1.0",
|
||||
"extensionAuthLink": "https://www.provider.com/extension/",
|
||||
"extensionApiDocsLink": "https://docs.provider.com/documentation/extension",
|
||||
"additionalApiProperties": {
|
||||
"examples-api": {
|
||||
"apiFreshnessTimeInMinutes": 3600
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
|
||||
"name": "provider.extension",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
|
||||
"systemData": {
|
||||
"createdBy": "string",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2020-02-01T01:01:01.1075056Z",
|
||||
"lastModifiedBy": "string",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
|
||||
},
|
||||
"eTag": "7200b954-0000-0700-0000-603cbbc40000",
|
||||
"properties": {
|
||||
"extensionCategory": "Weather",
|
||||
"installedExtensionVersion": "1.0",
|
||||
"extensionAuthLink": "https://www.provider.com/extension/",
|
||||
"extensionApiDocsLink": "https://docs.provider.com/documentation/extension"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"locations": "westus",
|
||||
"operationResultsId": "resource-provisioning-id-farmBeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"status": "Failed",
|
||||
"error": {
|
||||
"code": "BadArgument",
|
||||
"message": "The provided database 'foo' has an invalid username."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/read",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform FarmBeats",
|
||||
"operation": "Get or List AgFoodPlatform FarmBeats resource(s).",
|
||||
"description": "Gets or Lists existing AgFoodPlatform FarmBeats resource(s)."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/write",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform FarmBeats",
|
||||
"operation": "Create or Update AgFoodPlatform FarmBeats.",
|
||||
"description": "Creates or Updates AgFoodPlatform FarmBeats."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/delete",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform FarmBeats",
|
||||
"operation": "Delete AgFoodPlatform FarmBeats resource.",
|
||||
"description": "Deletes an existing AgFoodPlatform FarmBeats resource."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/locations/checkNameAvailability/action",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "Locations",
|
||||
"operation": "Check Name Availability",
|
||||
"description": "Checks that resource name is valid and is not in use."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/operations/read",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "List all operations in Microsoft AgFoodPlatform resource provider.",
|
||||
"operation": "List all operations.",
|
||||
"description": "List all operations in Microsoft AgFoodPlatform resource provider."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/extensions/read",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform Extensions",
|
||||
"operation": "Get or List AgFoodPlatform Extensions resource(s).",
|
||||
"description": "Gets or Lists existing AgFoodPlatform Extensions resource(s)."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/extensions/write",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform Extensions",
|
||||
"operation": "Create or Update AgFoodPlatform Extensions.",
|
||||
"description": "Creates or Updates AgFoodPlatform Extensions."
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AgFoodPlatform/farmBeats/extensions/delete",
|
||||
"isDataAction": false,
|
||||
"display": {
|
||||
"provider": "Microsoft AgFoodPlatform",
|
||||
"resource": "AgFoodPlatform Extensions",
|
||||
"operation": "Delete AgFoodPlatform Extensions resource.",
|
||||
"description": "Deletes an existing AgFoodPlatform Extensions resource."
|
||||
}
|
||||
}
|
||||
],
|
||||
"nextLink": "https://management.azure.com/providers/Microsoft.AgFoodPlatform/operations"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"privateEndpointConnectionName": "privateEndpointConnectionName",
|
||||
"request": {
|
||||
"properties": {
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Approved",
|
||||
"description": "Approved by johndoe@contoso.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/privateEndpointConnections/privateEndpointConnectionName",
|
||||
"name": "privateEndpointConnectionName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateEndpointConnections",
|
||||
"properties": {
|
||||
"privateEndpoint": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
|
||||
},
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Approved",
|
||||
"description": "Approved by johndoe@contoso.com",
|
||||
"actionsRequired": "None"
|
||||
},
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"body": {
|
||||
"error": {
|
||||
"code": "ModelValidationFailed",
|
||||
"message": "Request input validation failed.",
|
||||
"details": [
|
||||
{
|
||||
"code": "ModelValidationFailed",
|
||||
"message": "The Payload field is required.",
|
||||
"target": "Payload"
|
||||
},
|
||||
{
|
||||
"code": "ModelValidationFailed",
|
||||
"message": "Error converting value \"InvalidStatus\" to type 'PrivateEndpointState'. Path 'properties.privateLinkServiceConnectionState.status', line 1, position 624. Refer path description for more information.",
|
||||
"target": "Payload.properties.privateLinkServiceConnectionState.status"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"privateEndpointConnectionName": "privateEndpointConnectionName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"202": {
|
||||
"headers": {
|
||||
"Location": "http://azure.async.operation/status"
|
||||
}
|
||||
},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"privateEndpointConnectionName": "privateEndpointConnectionName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/privateEndpointConnections/privateEndpointConnectionName",
|
||||
"name": "privateEndpointConnectionName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateEndpointConnections",
|
||||
"properties": {
|
||||
"privateEndpoint": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
|
||||
},
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Approved",
|
||||
"description": "Approved by johndoe@contoso.com",
|
||||
"actionsRequired": "None"
|
||||
},
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"body": {
|
||||
"error": {
|
||||
"code": "PrivateEndpointConnectionNotFound",
|
||||
"message": "Private endpoint connection resource 'privateEndpointConnectionName' for subscriptionId '11111111-2222-3333-4444-555555555555', resource group name 'examples-rg', resource type 'farmBeats' and resource name 'examples-farmbeatsResourceName' not found."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/privateEndpointConnections/privateEndpointConnectionName",
|
||||
"name": "privateEndpointConnectionName",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateEndpointConnections",
|
||||
"properties": {
|
||||
"privateEndpoint": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
|
||||
},
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Approved",
|
||||
"description": "Approved by johndoe@contoso.com",
|
||||
"actionsRequired": "None"
|
||||
},
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/privateEndpointConnections/privateEndpointConnectionName2",
|
||||
"name": "privateEndpointConnectionName2",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateEndpointConnections",
|
||||
"properties": {
|
||||
"privateEndpoint": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
|
||||
},
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Approved",
|
||||
"description": "Approved by johndoe@contoso.com",
|
||||
"actionsRequired": "None"
|
||||
},
|
||||
"provisioningState": "Succeeded"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"subResourceName": "farmbeats"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "farmbeats",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateLinkResources",
|
||||
"properties": {
|
||||
"groupId": "farmbeats",
|
||||
"requiredMembers": [
|
||||
"farmbeats"
|
||||
],
|
||||
"requiredZoneNames": [
|
||||
"privatelink.farmbeats.azure.net"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"body": {
|
||||
"error": {
|
||||
"code": "ResourceNotFound",
|
||||
"message": "Resource with subscriptionId '11111111-2222-3333-4444-555555555555', resource group 'examples-rg' and resourcename 'examples-farmbeatsResourceName' not found."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/providers/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
|
||||
"name": "farmbeats",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/privateLinkResources",
|
||||
"properties": {
|
||||
"groupId": "farmbeats",
|
||||
"requiredMembers": [
|
||||
"farmbeats"
|
||||
],
|
||||
"requiredZoneNames": [
|
||||
"privatelink.farmbeats.azure.net"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,774 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"dataManagerForAgricultureSolutionId": "bayerAgPowered.gdu"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"id": "/providers/Microsoft.AgFoodPlatform/farmBeatsSolutionDefinitions/bayerAgPowered.gdu",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeatsSolutionDefinitions",
|
||||
"systemData": {
|
||||
"createdAt": "2022-07-25T10:15:15Z",
|
||||
"lastModifiedAt": "2022-07-25T10:15:15Z"
|
||||
},
|
||||
"properties": {
|
||||
"partnerId": "abc",
|
||||
"partnerTenantId": "556b0c04-d33e-48d0-9f6f-f893c8c77e00",
|
||||
"marketplaceOfferDetails": {
|
||||
"saasOfferId": "saasOfferId",
|
||||
"publisherId": "publisherId"
|
||||
},
|
||||
"dataAccessScopes": [
|
||||
"Weather",
|
||||
"Scenes"
|
||||
],
|
||||
"openApiSpecsDictionary": {
|
||||
"v1": {
|
||||
"paths": {
|
||||
"/v1/resources/{resourceId}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Weather"
|
||||
],
|
||||
"description": "Get weather ingestion job.",
|
||||
"operationId": "Weather_GetDataIngestionJobDetails",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "resourceId",
|
||||
"description": "Id of the job.",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "api-version",
|
||||
"description": "The requested API version",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "2021-07-31-preview"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error",
|
||||
"schema": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"Weather"
|
||||
],
|
||||
"description": "Create a weather data ingestion job.",
|
||||
"operationId": "Weather_CreateDataIngestionJob",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "resourceId",
|
||||
"description": "Job id supplied by user.",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "api-version",
|
||||
"description": "The requested API version",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "2021-07-31-preview"
|
||||
},
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "Job parameters supplied by user.",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"202": {
|
||||
"description": "Success",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error",
|
||||
"schema": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-long-running-operation": true,
|
||||
"x-ms-long-running-operation-options": {
|
||||
"final-state-via": "location"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"basePath": "/",
|
||||
"definitions": {
|
||||
"WeatherDataIngestionJob": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"ErrorResponse": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"InnerError": {
|
||||
"description": "Inner error containing list of errors.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#innererror--object\">InnerError reference document</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Specific error code than was provided by the\r\ncontaining error.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"Error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"externalDocs": {
|
||||
"description": "Find out more about Swagger",
|
||||
"url": "http://swagger.io"
|
||||
},
|
||||
"host": "addon.azurewebsites.net",
|
||||
"info": {
|
||||
"contact": {
|
||||
"email": "apiteam@swagger.io"
|
||||
},
|
||||
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"termsOfService": "http://swagger.io/terms/",
|
||||
"title": "Swagger Petstore",
|
||||
"version": "1.0.6"
|
||||
},
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"swagger": "2.0"
|
||||
}
|
||||
},
|
||||
"accessFBApplicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
||||
"accessFBApplicationName": "solution provider 1",
|
||||
"saaSApplicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
||||
"actionIds": [
|
||||
"actionId1"
|
||||
],
|
||||
"roleId": "role1",
|
||||
"roleName": "roleName1"
|
||||
},
|
||||
"name": "bayerAgPowered.gdu"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,776 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/providers/Microsoft.AgFoodPlatform/farmBeatsSolutionDefinitions/bayerAgPowered.gdu",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeatsSolutionDefinitions",
|
||||
"systemData": {
|
||||
"createdAt": "2022-07-25T10:15:15Z",
|
||||
"lastModifiedAt": "2022-07-25T10:15:15Z"
|
||||
},
|
||||
"properties": {
|
||||
"partnerId": "abc",
|
||||
"partnerTenantId": "556b0c04-d33e-48d0-9f6f-f893c8c77e00",
|
||||
"dataAccessScopes": [
|
||||
"string"
|
||||
],
|
||||
"marketplaceOfferDetails": {
|
||||
"saasOfferId": "saasOfferId",
|
||||
"publisherId": "publisherId"
|
||||
},
|
||||
"openApiSpecsDictionary": {
|
||||
"v1": {
|
||||
"paths": {
|
||||
"/v1/resources/{resourceId}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Weather"
|
||||
],
|
||||
"description": "Get weather ingestion job.",
|
||||
"operationId": "Weather_GetDataIngestionJobDetails",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "resourceId",
|
||||
"description": "Id of the job.",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "api-version",
|
||||
"description": "The requested API version",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "2021-07-31-preview"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error",
|
||||
"schema": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"put": {
|
||||
"tags": [
|
||||
"Weather"
|
||||
],
|
||||
"description": "Create a weather data ingestion job.",
|
||||
"operationId": "Weather_CreateDataIngestionJob",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
"name": "resourceId",
|
||||
"description": "Job id supplied by user.",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "api-version",
|
||||
"description": "The requested API version",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "2021-07-31-preview"
|
||||
},
|
||||
{
|
||||
"in": "body",
|
||||
"name": "body",
|
||||
"description": "Job parameters supplied by user.",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"202": {
|
||||
"description": "Success",
|
||||
"schema": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error",
|
||||
"schema": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-long-running-operation": true,
|
||||
"x-ms-long-running-operation-options": {
|
||||
"final-state-via": "location"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"basePath": "/",
|
||||
"definitions": {
|
||||
"WeatherDataIngestionJob": {
|
||||
"description": "Schema of weather ingestion job.",
|
||||
"required": [
|
||||
"boundaryId",
|
||||
"extensionApiInput",
|
||||
"extensionApiName",
|
||||
"extensionId",
|
||||
"farmerId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"boundaryId": {
|
||||
"description": "The id of the boundary object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"farmerId": {
|
||||
"description": "The id of the farmer object for which weather data is being fetched.",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionId": {
|
||||
"description": "Id of the extension to be used for the providerInput. eg. DTN.ClearAg.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiName": {
|
||||
"description": "Extension api name to which request is to be made.",
|
||||
"maxLength": 100,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionApiInput": {
|
||||
"description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"extensionDataProviderAppId": {
|
||||
"description": "App id of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"extensionDataProviderApiKey": {
|
||||
"description": "Api key of the weather data provider.",
|
||||
"maxLength": 200,
|
||||
"minLength": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "Unique job id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"durationInSeconds": {
|
||||
"format": "double",
|
||||
"description": "Duration of the job in seconds.",
|
||||
"type": "number",
|
||||
"readOnly": true
|
||||
},
|
||||
"message": {
|
||||
"description": "Status message to capture more details of the job.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"createdDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"lastActionDateTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"startTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"endTime": {
|
||||
"format": "date-time",
|
||||
"description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"name": {
|
||||
"description": "Name to identify resource.",
|
||||
"maxLength": 100,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Textual description of the resource.",
|
||||
"maxLength": 500,
|
||||
"minLength": 0,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string,\r\nnumeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"example": {
|
||||
"key1": "value1",
|
||||
"key2": 123.45
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"ErrorResponse": {
|
||||
"description": "An error response from the Azure AgPlatform service.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses\">ErrorResponse reference document.</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"traceId": {
|
||||
"description": "Unique trace Id.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"InnerError": {
|
||||
"description": "Inner error containing list of errors.\r\n<see href=\"https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#innererror--object\">InnerError reference document</see>.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Specific error code than was provided by the\r\ncontaining error.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"Error": {
|
||||
"description": "An error from the Azure AgPlatform service.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"description": "Server-defined set of error codes.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable representation of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"description": "Target of the error.",
|
||||
"type": "string"
|
||||
},
|
||||
"details": {
|
||||
"description": "Array of details about specific errors that led to this reported error.",
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"externalDocs": {
|
||||
"description": "Find out more about Swagger",
|
||||
"url": "http://swagger.io"
|
||||
},
|
||||
"host": "addon.azurewebsites.net",
|
||||
"info": {
|
||||
"contact": {
|
||||
"email": "apiteam@swagger.io"
|
||||
},
|
||||
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"termsOfService": "http://swagger.io/terms/",
|
||||
"title": "Swagger Petstore",
|
||||
"version": "1.0.6"
|
||||
},
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"swagger": "2.0"
|
||||
}
|
||||
},
|
||||
"accessFBApplicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
||||
"accessFBApplicationName": "solution provider 1",
|
||||
"saaSApplicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
||||
"actionIds": [
|
||||
"actionId1"
|
||||
],
|
||||
"roleId": "role1",
|
||||
"roleName": "roleName1"
|
||||
},
|
||||
"name": "bayerAgPowered.gdu"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"solutionId": "abc.partner",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"body": {
|
||||
"properties": {
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"201": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"solutionId": "abc.intbugbashfour",
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
},
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"solutionId": "abc.intbugbashfour",
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"title": "Solutions_CreateOrUpdate - generated by [MaximumSet] rule",
|
||||
"operationId": "Solutions_CreateOrUpdate",
|
||||
"parameters": {
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "rgagfood",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"solutionId": "Replace this value with a string matching RegExp ^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"api-version": "2023-06-01-preview",
|
||||
"requestBody": {
|
||||
"properties": {
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
},
|
||||
"201": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"solutionId": "provider.solution"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"title": "Solutions_Delete - generated by [MaximumSet] rule",
|
||||
"operationId": "Solutions_Delete",
|
||||
"parameters": {
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "rgagfood",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"solutionId": "Replace this value with a string matching RegExp ^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"api-version": "2023-06-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {},
|
||||
"204": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"solutionId": "provider.solution"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"solutionId": "abc.intbugbashfour",
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"title": "Solutions_Get - generated by [MaximumSet] rule",
|
||||
"operationId": "Solutions_Get",
|
||||
"parameters": {
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "rgagfood",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName",
|
||||
"solutionId": "Replace this value with a string matching RegExp ^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
|
||||
"api-version": "2023-06-01-preview"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"body": {
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"parameters": {
|
||||
"api-version": "2023-06-01-preview",
|
||||
"subscriptionId": "11111111-2222-3333-4444-555555555555",
|
||||
"resourceGroupName": "examples-rg",
|
||||
"dataManagerForAgricultureResourceName": "examples-farmbeatsResourceName"
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"headers": {},
|
||||
"body": {
|
||||
"value": [
|
||||
{
|
||||
"id": "/subscriptions/ff57165d-e71f-4a0e-8e9b-3cd461dc0f38/resourceGroups/bugbash-instances-westus2/providers/Microsoft.AgFoodPlatform/farmBeats/bb-df-wus2-1/solutions/string",
|
||||
"type": "Microsoft.AgFoodPlatform/farmBeats/solutions",
|
||||
"systemData": {
|
||||
"createdBy": "billtest486451@live.com",
|
||||
"createdByType": "User",
|
||||
"createdAt": "2022-09-29T10:26:29Z",
|
||||
"lastModifiedBy": "billtest486451@live.com",
|
||||
"lastModifiedByType": "User",
|
||||
"lastModifiedAt": "2022-09-29T10:26:38Z"
|
||||
},
|
||||
"properties": {
|
||||
"solutionId": "abc.intbugbashfour",
|
||||
"partnerId": "abc",
|
||||
"saasSubscriptionId": "123",
|
||||
"saasSubscriptionName": "name",
|
||||
"marketplacePublisherId": "publisherId",
|
||||
"planId": "planId",
|
||||
"offerId": "offerId",
|
||||
"termId": "termId",
|
||||
"roleAssignmentId": "11111111-2222-3333-4444-555555555555"
|
||||
},
|
||||
"eTag": "19002383-0000-0700-0000-633572de0000",
|
||||
"name": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
# agfood
|
||||
|
||||
> see https://aka.ms/autorest
|
||||
|
||||
This is the AutoRest configuration file for agfood.
|
||||
|
||||
## 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
|
||||
|
||||
### Basic Information
|
||||
|
||||
These are the global settings for the agrifood.
|
||||
|
||||
```yaml
|
||||
openapi-type: arm
|
||||
tag: package-preview-2023-06
|
||||
```
|
||||
|
||||
### Tag: package-preview-2023-06
|
||||
|
||||
These settings apply only when `--tag=package-preview-2023-06` is specified on the command line.
|
||||
|
||||
```yaml $(tag) == 'package-preview-2023-06'
|
||||
input-file:
|
||||
- Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json
|
||||
```
|
||||
|
||||
### Tag: package-preview-2021-09
|
||||
|
||||
These settings apply only when `--tag=package-preview-2021-09` is specified on the command line.
|
||||
|
||||
```yaml $(tag) == 'package-preview-2021-09'
|
||||
input-file:
|
||||
- Microsoft.AgFoodPlatform/preview/2021-09-01-preview/agfood.json
|
||||
```
|
||||
|
||||
### Tag: package-2020-05-12-preview
|
||||
|
||||
These settings apply only when `--tag=package-2020-05-12-preview` is specified on the command line.
|
||||
|
||||
```yaml $(tag) == 'package-2020-05-12-preview'
|
||||
input-file:
|
||||
- Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Code Generation
|
||||
|
||||
## Swagger to SDK
|
||||
|
||||
This section describes what SDK should be generated by the automatic system.
|
||||
This is not used by Autorest itself.
|
||||
|
||||
```yaml $(swagger-to-sdk)
|
||||
swagger-to-sdk:
|
||||
- repo: azure-sdk-for-python-track2
|
||||
- repo: azure-sdk-for-go
|
||||
- repo: azure-sdk-for-js
|
||||
- repo: azure-sdk-for-java
|
||||
- repo: azure-powershell
|
||||
```
|
||||
|
||||
## Go
|
||||
|
||||
See configuration in [readme.go.md](./readme.go.md)
|
||||
|
||||
## Python
|
||||
|
||||
See configuration in [readme.python.md](./readme.python.md)
|
||||
|
||||
## TypeScript
|
||||
|
||||
See configuration in [readme.typescript.md](./readme.typescript.md)
|
||||
|
||||
## CSharp
|
||||
|
||||
See configuration in [readme.csharp.md](./readme.csharp.md)
|
||||
|
||||
## Suppression
|
||||
|
||||
```yaml
|
||||
directive:
|
||||
- from: agfood.json
|
||||
suppress: LRO_RESPONSE_HEADER
|
||||
reason: Ignoring for testcase
|
||||
- from: agfood.json
|
||||
suppress: INVALID_FORMAT
|
||||
reason: Ignoring for testcase
|
||||
- from: agfood.json
|
||||
suppress: R3010 # TrackedResourceListByImmediateParent
|
||||
where:
|
||||
- $.definitions
|
||||
reason: Have an api already.
|
||||
- from: agfood.json
|
||||
suppress: R3006 # BodyTopLevelProperties
|
||||
where: $.definitions.FarmBeats.properties
|
||||
reason: Currently systemData is not allowed.
|
||||
- from: agfood.json
|
||||
suppress: R3006 # BodyTopLevelProperties
|
||||
where: $.definitions.Extension.properties
|
||||
reason: Currently systemData is not allowed.
|
||||
- from: agfood.json
|
||||
suppress: R3006 # BodyTopLevelProperties
|
||||
where: $.definitions.FarmBeatsExtension.properties
|
||||
reason: Currently systemData is not allowed.
|
||||
- from: agfood.json
|
||||
suppress: R2003 # ValidFormats
|
||||
where: $.definitions.FarmBeatsProperties.properties.instanceUri.format
|
||||
reason: Currently systemData is not allowed.
|
||||
- from: agfood.json
|
||||
suppress: R3018 # EnumInsteadOfBoolean
|
||||
where:
|
||||
- $.definitions.Operation.properties.isDataAction
|
||||
- $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
|
||||
reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
|
||||
- from: agfood.json
|
||||
suppress: RequiredReadOnlySystemData
|
||||
reason: We do not yet support system data
|
||||
- from: agfood.json
|
||||
suppress: R4009 #RequiredReadOnlySystemData
|
||||
reason: Currently systemData is not allowed
|
||||
- from: agfood.json
|
||||
suppress: R4000 # DescriptionAndTitleMissing
|
||||
where:
|
||||
- $.definitions.FarmBeatsExtension.properties.systemData
|
||||
- $.definitions.FarmBeatsExtension.properties.properties
|
||||
- $.definitions.DetailedInformation.properties.unitsSupported
|
||||
- $.definitions.SensorIntegration.properties.provisioningInfo
|
||||
- $.definitions.FarmBeatsProperties.properties.publicNetworkAccess
|
||||
- $.definitions.FarmBeatsProperties.properties.sensorIntegration
|
||||
- $.definitions.FarmBeatsProperties.properties.publicNetworkAccess
|
||||
- $.definitions.FarmBeatsProperties.properties.privateEndpointConnections
|
||||
- $.definitions.FarmBeatsUpdateProperties.properties.sensorIntegration
|
||||
- $.definitions.FarmBeatsUpdateProperties.properties.publicNetworkAccess
|
||||
- $.definitions.Error.properties.innererror
|
||||
- $.definitions.ErrorResponse.properties.error
|
||||
- $.definitions.Extension.properties.properties
|
||||
- $.definitions.Extension.properties.systemData
|
||||
- $.definitions.FarmBeats.properties.properties
|
||||
- $.definitions.FarmBeats.properties.systemData
|
||||
- $.definitions.InnerError.properties.innererror
|
||||
- $.definitions.Operation.properties.display
|
||||
reason: Model has description added in it's schema.
|
||||
- from: types.json
|
||||
suppress: R4000 # DescriptionAndTitleMissing
|
||||
where: $.definitions.Resource
|
||||
reason: Common type models are inherited.
|
||||
```
|
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "4.0",
|
||||
"title": "Common types"
|
||||
},
|
||||
"paths": {},
|
||||
"definitions": {
|
||||
"encryption": {
|
||||
"type": "object",
|
||||
"description": "(Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled.",
|
||||
"properties": {
|
||||
"infrastructureEncryption": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "InfrastructureEncryption",
|
||||
"modelAsString": true
|
||||
},
|
||||
"description": "Values are enabled and disabled."
|
||||
},
|
||||
"customerManagedKeyEncryption": {
|
||||
"description": "All Customer-managed key encryption properties for the resource.",
|
||||
"$ref": "#/definitions/customerManagedKeyEncryption"
|
||||
}
|
||||
}
|
||||
},
|
||||
"customerManagedKeyEncryption": {
|
||||
"type": "object",
|
||||
"description": "All Customer-managed key encryption properties for the resource.",
|
||||
"properties": {
|
||||
"keyEncryptionKeyIdentity": {
|
||||
"type": "object",
|
||||
"description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.",
|
||||
"properties": {
|
||||
"identityType": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"systemAssignedIdentity",
|
||||
"userAssignedIdentity",
|
||||
"delegatedResourceIdentity"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "IdentityType",
|
||||
"modelAsString": true
|
||||
},
|
||||
"description": "Values can be systemAssignedIdentity or userAssignedIdentity"
|
||||
},
|
||||
"userAssignedIdentityResourceId": {
|
||||
"type": "string",
|
||||
"format": "arm-id",
|
||||
"description": "user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity."
|
||||
},
|
||||
"delegatedIdentityClientId": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only."
|
||||
}
|
||||
}
|
||||
},
|
||||
"keyEncryptionKeyUrl": {
|
||||
"type": "string",
|
||||
"description": "key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "4.0",
|
||||
"title": "Common types"
|
||||
},
|
||||
"paths": {},
|
||||
"definitions": {
|
||||
"UserAssignedIdentities": {
|
||||
"title": "User-Assigned Identities",
|
||||
"description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"$ref": "#/definitions/UserAssignedIdentity"
|
||||
}
|
||||
},
|
||||
"UserAssignedIdentity": {
|
||||
"type": "object",
|
||||
"description": "User assigned identity properties",
|
||||
"properties": {
|
||||
"principalId": {
|
||||
"description": "The principal ID of the assigned identity.",
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"clientId": {
|
||||
"description": "The client ID of the assigned identity.",
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ManagedServiceIdentityType": {
|
||||
"description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
|
||||
"enum": [
|
||||
"None",
|
||||
"SystemAssigned",
|
||||
"UserAssigned",
|
||||
"SystemAssigned, UserAssigned"
|
||||
],
|
||||
"type": "string",
|
||||
"x-ms-enum": {
|
||||
"name": "ManagedServiceIdentityType",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"ManagedServiceIdentity": {
|
||||
"description": "Managed service identity (system assigned and/or user assigned identities)",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"principalId": {
|
||||
"readOnly": true,
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
|
||||
},
|
||||
"tenantId": {
|
||||
"readOnly": true,
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
|
||||
},
|
||||
"type": {
|
||||
"$ref": "#/definitions/ManagedServiceIdentityType"
|
||||
},
|
||||
"userAssignedIdentities": {
|
||||
"$ref": "#/definitions/UserAssignedIdentities"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type"
|
||||
]
|
||||
},
|
||||
"SystemAssignedServiceIdentityType": {
|
||||
"description": "Type of managed service identity (either system assigned, or none).",
|
||||
"enum": [
|
||||
"None",
|
||||
"SystemAssigned"
|
||||
],
|
||||
"type": "string",
|
||||
"x-ms-enum": {
|
||||
"name": "SystemAssignedServiceIdentityType",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"SystemAssignedServiceIdentity": {
|
||||
"description": "Managed service identity (either system assigned, or none)",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"principalId": {
|
||||
"readOnly": true,
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
|
||||
},
|
||||
"tenantId": {
|
||||
"readOnly": true,
|
||||
"format": "uuid",
|
||||
"type": "string",
|
||||
"description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
|
||||
},
|
||||
"type": {
|
||||
"$ref": "#/definitions/SystemAssignedServiceIdentityType"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "4.0",
|
||||
"title": "Common types"
|
||||
},
|
||||
"paths": {},
|
||||
"definitions": {
|
||||
"ManagedServiceIdentityWithDelegation": {
|
||||
"description": "Managed service identity (system assigned and/or user assigned identities and/or delegated identities) - internal use only.",
|
||||
"type": "object",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "managedidentity.json#/definitions/ManagedServiceIdentity"
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"delegatedResources": {
|
||||
"$ref": "#/definitions/DelegatedResources"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DelegatedResources": {
|
||||
"description": "The set of delegated resources. The delegated resources dictionary keys will be source resource internal ids - internal use only.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"$ref": "#/definitions/DelegatedResource"
|
||||
}
|
||||
},
|
||||
"DelegatedResource": {
|
||||
"type": "object",
|
||||
"description": "Delegated resource properties - internal use only.",
|
||||
"properties": {
|
||||
"resourceId": {
|
||||
"description": "The ARM resource id of the delegated resource - internal use only.",
|
||||
"type": "string"
|
||||
},
|
||||
"tenantId": {
|
||||
"description": "The tenant id of the delegated resource - internal use only.",
|
||||
"format": "uuid",
|
||||
"type": "string"
|
||||
},
|
||||
"referralResource": {
|
||||
"description": "The delegation id of the referral delegation (optional) - internal use only.",
|
||||
"type": "string"
|
||||
},
|
||||
"location": {
|
||||
"description": "The source resource location - internal use only.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,190 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "4.0",
|
||||
"title": "Common types"
|
||||
},
|
||||
"paths": {},
|
||||
"definitions": {
|
||||
"PrivateEndpoint": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The ARM identifier for private endpoint."
|
||||
}
|
||||
},
|
||||
"description": "The private endpoint resource."
|
||||
},
|
||||
"PrivateEndpointConnection": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"properties": {
|
||||
"$ref": "#/definitions/PrivateEndpointConnectionProperties",
|
||||
"x-ms-client-flatten": true,
|
||||
"description": "Resource properties."
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "../v4/types.json#/definitions/Resource"
|
||||
}
|
||||
],
|
||||
"description": "The private endpoint connection resource."
|
||||
},
|
||||
"PrivateEndpointConnectionProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"groupIds": {
|
||||
"description": "The group ids for the private endpoint resource.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"privateEndpoint": {
|
||||
"$ref": "#/definitions/PrivateEndpoint",
|
||||
"description": "The private endpoint resource."
|
||||
},
|
||||
"privateLinkServiceConnectionState": {
|
||||
"$ref": "#/definitions/PrivateLinkServiceConnectionState",
|
||||
"description": "A collection of information about the state of the connection between service consumer and provider."
|
||||
},
|
||||
"provisioningState": {
|
||||
"$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
|
||||
"description": "The provisioning state of the private endpoint connection resource."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"privateLinkServiceConnectionState"
|
||||
],
|
||||
"description": "Properties of the private endpoint connection."
|
||||
},
|
||||
"PrivateLinkServiceConnectionState": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
|
||||
"description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "The reason for approval/rejection of the connection."
|
||||
},
|
||||
"actionsRequired": {
|
||||
"type": "string",
|
||||
"description": "A message indicating if changes on the service provider require any updates on the consumer."
|
||||
}
|
||||
},
|
||||
"description": "A collection of information about the state of the connection between service consumer and provider."
|
||||
},
|
||||
"PrivateEndpointServiceConnectionStatus": {
|
||||
"type": "string",
|
||||
"description": "The private endpoint connection status.",
|
||||
"enum": [
|
||||
"Pending",
|
||||
"Approved",
|
||||
"Rejected"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "PrivateEndpointServiceConnectionStatus",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"PrivateEndpointConnectionProvisioningState": {
|
||||
"type": "string",
|
||||
"readOnly": true,
|
||||
"description": "The current provisioning state.",
|
||||
"enum": [
|
||||
"Succeeded",
|
||||
"Creating",
|
||||
"Deleting",
|
||||
"Failed"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "PrivateEndpointConnectionProvisioningState",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"PrivateLinkResource": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"properties": {
|
||||
"$ref": "#/definitions/PrivateLinkResourceProperties",
|
||||
"description": "Resource properties.",
|
||||
"x-ms-client-flatten": true
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "../v4/types.json#/definitions/Resource"
|
||||
}
|
||||
],
|
||||
"description": "A private link resource."
|
||||
},
|
||||
"PrivateLinkResourceProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"groupId": {
|
||||
"description": "The private link resource group id.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"requiredMembers": {
|
||||
"description": "The private link resource required member names.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"requiredZoneNames": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "The private link resource private link DNS zone name."
|
||||
}
|
||||
},
|
||||
"description": "Properties of a private link resource."
|
||||
},
|
||||
"PrivateEndpointConnectionListResult": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "array",
|
||||
"description": "Array of private endpoint connections.",
|
||||
"items": {
|
||||
"$ref": "#/definitions/PrivateEndpointConnection"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "List of private endpoint connections associated with the specified resource."
|
||||
},
|
||||
"PrivateLinkResourceListResult": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "array",
|
||||
"description": "Array of private link resources",
|
||||
"items": {
|
||||
"$ref": "#/definitions/PrivateLinkResource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "A list of private link resources."
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
"PrivateEndpointConnectionName": {
|
||||
"name": "privateEndpointConnectionName",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The name of the private endpoint connection associated with the Azure resource.",
|
||||
"x-ms-parameter-location": "method"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,717 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "4.0",
|
||||
"title": "Common types"
|
||||
},
|
||||
"paths": {},
|
||||
"definitions": {
|
||||
"Resource": {
|
||||
"title": "Resource",
|
||||
"description": "Common fields that are returned in the response for all Azure Resource Manager resources",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"format": "arm-id",
|
||||
"description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\""
|
||||
},
|
||||
"name": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The name of the resource"
|
||||
},
|
||||
"type": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
|
||||
},
|
||||
"systemData": {
|
||||
"readOnly": true,
|
||||
"type": "object",
|
||||
"description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
|
||||
"$ref": "#/definitions/systemData"
|
||||
}
|
||||
},
|
||||
"x-ms-azure-resource": true
|
||||
},
|
||||
"AzureEntityResource": {
|
||||
"x-ms-client-name": "AzureEntityResource",
|
||||
"title": "Entity Resource",
|
||||
"description": "The resource model definition for an Azure Resource Manager resource with an etag.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"etag": {
|
||||
"type": "string",
|
||||
"readOnly": true,
|
||||
"description": "Resource Etag."
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Resource"
|
||||
}
|
||||
]
|
||||
},
|
||||
"TrackedResource": {
|
||||
"title": "Tracked Resource",
|
||||
"description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"tags": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-mutability": [
|
||||
"read",
|
||||
"create",
|
||||
"update"
|
||||
],
|
||||
"description": "Resource tags."
|
||||
},
|
||||
"location": {
|
||||
"type": "string",
|
||||
"x-ms-mutability": [
|
||||
"read",
|
||||
"create"
|
||||
],
|
||||
"description": "The geo-location where the resource lives"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"location"
|
||||
],
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Resource"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ProxyResource": {
|
||||
"title": "Proxy Resource",
|
||||
"description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
|
||||
"type": "object",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Resource"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ResourceModelWithAllowedPropertySet": {
|
||||
"description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"managedBy": {
|
||||
"type": "string",
|
||||
"x-ms-mutability": [
|
||||
"read",
|
||||
"create",
|
||||
"update"
|
||||
],
|
||||
"description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
|
||||
},
|
||||
"kind": {
|
||||
"type": "string",
|
||||
"x-ms-mutability": [
|
||||
"read",
|
||||
"create"
|
||||
],
|
||||
"description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
|
||||
"pattern": "^[-\\w\\._,\\(\\)]+$"
|
||||
},
|
||||
"etag": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. "
|
||||
},
|
||||
"identity": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Identity"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sku": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Sku"
|
||||
}
|
||||
]
|
||||
},
|
||||
"plan": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Plan"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/TrackedResource"
|
||||
}
|
||||
],
|
||||
"x-ms-azure-resource": true
|
||||
},
|
||||
"SkuTier": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Free",
|
||||
"Basic",
|
||||
"Standard",
|
||||
"Premium"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "SkuTier",
|
||||
"modelAsString": false
|
||||
},
|
||||
"description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
|
||||
},
|
||||
"Sku": {
|
||||
"description": "The resource model definition representing SKU",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The name of the SKU. E.g. P3. It is typically a letter+number code"
|
||||
},
|
||||
"tier": {
|
||||
"$ref": "#/definitions/SkuTier"
|
||||
},
|
||||
"size": {
|
||||
"type": "string",
|
||||
"description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
|
||||
},
|
||||
"family": {
|
||||
"type": "string",
|
||||
"description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
|
||||
},
|
||||
"capacity": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
"Identity": {
|
||||
"description": "Identity for the resource.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"principalId": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "The principal ID of resource identity. The value must be an UUID."
|
||||
},
|
||||
"tenantId": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "The tenant ID of resource. The value must be an UUID."
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "The identity type.",
|
||||
"enum": [
|
||||
"SystemAssigned"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "ResourceIdentityType",
|
||||
"modelAsString": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Plan": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "A user defined name of the 3rd Party Artifact that is being procured."
|
||||
},
|
||||
"publisher": {
|
||||
"type": "string",
|
||||
"description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic"
|
||||
},
|
||||
"product": {
|
||||
"type": "string",
|
||||
"description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. "
|
||||
},
|
||||
"promotionCode": {
|
||||
"type": "string",
|
||||
"description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact."
|
||||
},
|
||||
"version": {
|
||||
"type": "string",
|
||||
"description": "The version of the desired product/artifact."
|
||||
}
|
||||
},
|
||||
"description": "Plan for the resource.",
|
||||
"required": [
|
||||
"name",
|
||||
"publisher",
|
||||
"product"
|
||||
]
|
||||
},
|
||||
"ErrorDetail": {
|
||||
"description": "The error detail.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The error code."
|
||||
},
|
||||
"message": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The error message."
|
||||
},
|
||||
"target": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The error target."
|
||||
},
|
||||
"details": {
|
||||
"readOnly": true,
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ErrorDetail"
|
||||
},
|
||||
"x-ms-identifiers": [
|
||||
"message",
|
||||
"target"
|
||||
],
|
||||
"description": "The error details."
|
||||
},
|
||||
"additionalInfo": {
|
||||
"readOnly": true,
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ErrorAdditionalInfo"
|
||||
},
|
||||
"x-ms-identifiers": [],
|
||||
"description": "The error additional info."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ErrorResponse": {
|
||||
"title": "Error response",
|
||||
"description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"description": "The error object.",
|
||||
"$ref": "#/definitions/ErrorDetail"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ErrorAdditionalInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"readOnly": true,
|
||||
"type": "string",
|
||||
"description": "The additional info type."
|
||||
},
|
||||
"info": {
|
||||
"readOnly": true,
|
||||
"type": "object",
|
||||
"description": "The additional info."
|
||||
}
|
||||
},
|
||||
"description": "The resource management error additional info."
|
||||
},
|
||||
"Operation": {
|
||||
"title": "REST API Operation",
|
||||
"description": "Details of a REST API operation, returned from the Resource Provider Operations API",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"isDataAction": {
|
||||
"description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
|
||||
"type": "boolean",
|
||||
"readOnly": true
|
||||
},
|
||||
"display": {
|
||||
"description": "Localized display information for this particular operation.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"provider": {
|
||||
"description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"resource": {
|
||||
"description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"operation": {
|
||||
"description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
},
|
||||
"description": {
|
||||
"description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.",
|
||||
"type": "string",
|
||||
"readOnly": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"origin": {
|
||||
"description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
|
||||
"type": "string",
|
||||
"readOnly": true,
|
||||
"enum": [
|
||||
"user",
|
||||
"system",
|
||||
"user,system"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "Origin",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"actionType": {
|
||||
"description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
|
||||
"type": "string",
|
||||
"readOnly": true,
|
||||
"enum": [
|
||||
"Internal"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "ActionType",
|
||||
"modelAsString": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"OperationListResult": {
|
||||
"description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/Operation"
|
||||
},
|
||||
"x-ms-identifiers": [
|
||||
"name"
|
||||
],
|
||||
"description": "List of operations supported by the resource provider",
|
||||
"readOnly": true
|
||||
},
|
||||
"nextLink": {
|
||||
"type": "string",
|
||||
"format": "uri",
|
||||
"description": "URL to get the next set of operation list results (if there are any).",
|
||||
"readOnly": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"OperationStatusResult": {
|
||||
"description": "The current status of an async operation.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"status"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "Fully qualified ID for the async operation.",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Name of the async operation.",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "Operation status.",
|
||||
"type": "string"
|
||||
},
|
||||
"percentComplete": {
|
||||
"description": "Percent of the operation that is complete.",
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"startTime": {
|
||||
"description": "The start time of the operation.",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"endTime": {
|
||||
"description": "The end time of the operation.",
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"operations": {
|
||||
"description": "The operations list.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/OperationStatusResult"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"description": "If present, details of the operation error.",
|
||||
"$ref": "#/definitions/ErrorDetail"
|
||||
}
|
||||
}
|
||||
},
|
||||
"locationData": {
|
||||
"description": "Metadata pertaining to the geographic location of the resource.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"maxLength": 256,
|
||||
"description": "A canonical name for the geographic or physical location."
|
||||
},
|
||||
"city": {
|
||||
"type": "string",
|
||||
"description": "The city or locality where the resource is located."
|
||||
},
|
||||
"district": {
|
||||
"type": "string",
|
||||
"description": "The district, state, or province where the resource is located."
|
||||
},
|
||||
"countryOrRegion": {
|
||||
"type": "string",
|
||||
"description": "The country or region where the resource is located"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
"systemData": {
|
||||
"description": "Metadata pertaining to creation and last modification of the resource.",
|
||||
"type": "object",
|
||||
"readOnly": true,
|
||||
"properties": {
|
||||
"createdBy": {
|
||||
"type": "string",
|
||||
"description": "The identity that created the resource."
|
||||
},
|
||||
"createdByType": {
|
||||
"type": "string",
|
||||
"description": "The type of identity that created the resource.",
|
||||
"enum": [
|
||||
"User",
|
||||
"Application",
|
||||
"ManagedIdentity",
|
||||
"Key"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "createdByType",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "The timestamp of resource creation (UTC)."
|
||||
},
|
||||
"lastModifiedBy": {
|
||||
"type": "string",
|
||||
"description": "The identity that last modified the resource."
|
||||
},
|
||||
"lastModifiedByType": {
|
||||
"type": "string",
|
||||
"description": "The type of identity that last modified the resource.",
|
||||
"enum": [
|
||||
"User",
|
||||
"Application",
|
||||
"ManagedIdentity",
|
||||
"Key"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "createdByType",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"lastModifiedAt": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "The timestamp of resource last modification (UTC)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"encryptionProperties": {
|
||||
"description": "Configuration of key for data encryption",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"description": "Indicates whether or not the encryption is enabled for container registry.",
|
||||
"enum": [
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string",
|
||||
"x-ms-enum": {
|
||||
"name": "EncryptionStatus",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"keyVaultProperties": {
|
||||
"$ref": "#/definitions/KeyVaultProperties",
|
||||
"description": "Key vault properties."
|
||||
}
|
||||
}
|
||||
},
|
||||
"KeyVaultProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"keyIdentifier": {
|
||||
"description": "Key vault uri to access the encryption key.",
|
||||
"type": "string"
|
||||
},
|
||||
"identity": {
|
||||
"description": "The client ID of the identity which will be used to access key vault.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CheckNameAvailabilityRequest": {
|
||||
"description": "The check availability request body.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "The name of the resource for which availability needs to be checked.",
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"description": "The resource type.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CheckNameAvailabilityResponse": {
|
||||
"description": "The check availability result.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"nameAvailable": {
|
||||
"description": "Indicates if the resource name is available.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"reason": {
|
||||
"description": "The reason why the given name is not available.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Invalid",
|
||||
"AlreadyExists"
|
||||
],
|
||||
"x-ms-enum": {
|
||||
"name": "CheckNameAvailabilityReason",
|
||||
"modelAsString": true
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
"description": "Detailed reason why the given name is available.",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
"SubscriptionIdParameter": {
|
||||
"name": "subscriptionId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "The ID of the target subscription. The value must be an UUID."
|
||||
},
|
||||
"ApiVersionParameter": {
|
||||
"name": "api-version",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The API version to use for this operation.",
|
||||
"minLength": 1
|
||||
},
|
||||
"ResourceGroupNameParameter": {
|
||||
"name": "resourceGroupName",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The name of the resource group. The name is case insensitive.",
|
||||
"minLength": 1,
|
||||
"maxLength": 90,
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"ManagementGroupNameParameter": {
|
||||
"name": "managementGroupName",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The name of the management group. The name is case insensitive.",
|
||||
"minLength": 1,
|
||||
"maxLength": 90,
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"ScopeParameter": {
|
||||
"name": "scope",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The scope at which the operation is performed.",
|
||||
"minLength": 1,
|
||||
"maxLength": 90,
|
||||
"x-ms-parameter-location": "method",
|
||||
"x-ms-skip-url-encoding": true
|
||||
},
|
||||
"TenantIdParameter": {
|
||||
"name": "tenantId",
|
||||
"in": "path",
|
||||
"description": "The Azure tenant ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"OperationIdParameter": {
|
||||
"name": "operationId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The ID of an ongoing async operation.",
|
||||
"minLength": 1,
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"LocationParameter": {
|
||||
"name": "location",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The name of the Azure region.",
|
||||
"minLength": 1,
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"If-Match": {
|
||||
"name": "ifMatch",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The If-Match header that makes a request conditional.",
|
||||
"x-ms-parameter-location": "method"
|
||||
},
|
||||
"If-None-Match": {
|
||||
"name": "ifNoneMatch",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "The If-None-Match header that makes a request conditional.",
|
||||
"x-ms-parameter-location": "method"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "kkrpyystfuubmzhwqgkqkcidwromj",
|
||||
"domainTopicName": "b",
|
||||
"domainName": "gwkhmaaliulphadcvpjavjqnmeow",
|
||||
"domainTopicName": "asjpv",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "vojxkohevd",
|
||||
"domainTopicName": "vwaz",
|
||||
"domainName": "iodljwmpvakce",
|
||||
"domainTopicName": "zcjvlvhrdjqtqoimeq",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "dqdljnevfqpoudgypqzwhdlxvy",
|
||||
"domainTopicName": "qglqqstigehynbtclpxtoqqj",
|
||||
"domainName": "bpuurjyrmmvjgdkhk",
|
||||
"domainTopicName": "qpgvxsrh",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "cczjfnesedwakfzbsekhetxgfmiw",
|
||||
"domainTopicName": "dnfaykjcpcbwyktsygkfdmpf",
|
||||
"domainName": "kfqwmlebsqntdtdybtbqotwtnnlvo",
|
||||
"domainTopicName": "yxxgwaulyttxrfn",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "ypruijxordgshcqkyimpljhzmfmdo",
|
||||
"domainTopicName": "g",
|
||||
"domainName": "ytvnmzefpuazaurgszj",
|
||||
"domainTopicName": "mech",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "xqgezfhnhtvzqytco",
|
||||
"domainName": "cgqgnbuywyf",
|
||||
"api-version": "2020-06-01",
|
||||
"$filter": "uenxylryaeacesybhnyffmamw",
|
||||
"$top": 21
|
||||
"$filter": "qswocf",
|
||||
"$top": 30
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
|
@ -30,7 +30,7 @@
|
|||
"type": "Microsoft.EventGrid/domains/topics"
|
||||
}
|
||||
],
|
||||
"nextLink": "jk"
|
||||
"nextLink": "ytsvxheejixghlq"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "x",
|
||||
"domainName": "kwidhgzjgfrtcbkneysacuj",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "mjn",
|
||||
"domainName": "bkdtcrhyufheul",
|
||||
"domainInfo": {
|
||||
"location": "westus2",
|
||||
"tags": {},
|
||||
|
@ -27,12 +27,12 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
}
|
||||
|
@ -42,25 +42,25 @@
|
|||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
|
@ -96,18 +96,18 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"provisioningState": "Succeeded",
|
||||
|
@ -116,30 +116,30 @@
|
|||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "wdxmmciijjiuijftogjeonoz"
|
||||
"metricResourceId": "ulcweuvytjktvgihoeixr"
|
||||
},
|
||||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
|
||||
"name": "exampledomain2",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "ebixj",
|
||||
"domainName": "zapuxjqccxbtlhmcsgupqpuxg",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "vupkfzwjhngauquovxibaludurp",
|
||||
"domainName": "tpt",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
@ -31,18 +31,18 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"provisioningState": "Succeeded",
|
||||
|
@ -51,30 +51,30 @@
|
|||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "wdxmmciijjiuijftogjeonoz"
|
||||
"metricResourceId": "ulcweuvytjktvgihoeixr"
|
||||
},
|
||||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
|
||||
"name": "exampledomain2",
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"api-version": "2020-06-01",
|
||||
"$filter": "uenxylryaeacesybhnyffmamw",
|
||||
"$top": 21
|
||||
"$filter": "qswocf",
|
||||
"$top": 30
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
|
@ -23,52 +23,52 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"inputSchema": "EventGridSchema",
|
||||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "kvuorywootyx",
|
||||
"metricResourceId": "qmozhszefpvzqemrvcaidpkpyeat",
|
||||
"publicNetworkAccess": "Enabled",
|
||||
"inboundIpRules": [
|
||||
{
|
||||
"ipMask": "gxxwzaa",
|
||||
"ipMask": "ygdabzwcofoed",
|
||||
"action": "Allow"
|
||||
}
|
||||
]
|
||||
|
@ -90,52 +90,52 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"inputSchema": "EventGridSchema",
|
||||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "yhjrqimavtwrntsj",
|
||||
"metricResourceId": "mtesonmgnmyaj",
|
||||
"publicNetworkAccess": "Enabled",
|
||||
"inboundIpRules": [
|
||||
{
|
||||
"ipMask": "gxxwzaa",
|
||||
"ipMask": "ygdabzwcofoed",
|
||||
"action": "Allow"
|
||||
}
|
||||
]
|
||||
|
@ -147,7 +147,7 @@
|
|||
"type": "Microsoft.EventGrid/domains"
|
||||
}
|
||||
],
|
||||
"nextLink": "srzs"
|
||||
"nextLink": "ockcgiqf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"api-version": "2020-06-01",
|
||||
"$filter": "uenxylryaeacesybhnyffmamw",
|
||||
"$top": 21
|
||||
"$filter": "qswocf",
|
||||
"$top": 30
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
|
@ -22,52 +22,52 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"inputSchema": "EventGridSchema",
|
||||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "kvuorywootyx",
|
||||
"metricResourceId": "qmozhszefpvzqemrvcaidpkpyeat",
|
||||
"publicNetworkAccess": "Enabled",
|
||||
"inboundIpRules": [
|
||||
{
|
||||
"ipMask": "gxxwzaa",
|
||||
"ipMask": "ygdabzwcofoed",
|
||||
"action": "Allow"
|
||||
}
|
||||
]
|
||||
|
@ -89,52 +89,52 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"inputSchema": "EventGridSchema",
|
||||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "yhjrqimavtwrntsj",
|
||||
"metricResourceId": "mtesonmgnmyaj",
|
||||
"publicNetworkAccess": "Enabled",
|
||||
"inboundIpRules": [
|
||||
{
|
||||
"ipMask": "gxxwzaa",
|
||||
"ipMask": "ygdabzwcofoed",
|
||||
"action": "Allow"
|
||||
}
|
||||
]
|
||||
|
@ -146,7 +146,7 @@
|
|||
"type": "Microsoft.EventGrid/domains"
|
||||
}
|
||||
],
|
||||
"nextLink": "srzs"
|
||||
"nextLink": "ockcgiqf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "kjthlf",
|
||||
"domainName": "lspzsykakbrxfpefaqfy",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
@ -12,7 +12,7 @@
|
|||
"body": {
|
||||
"key1": "<key1>",
|
||||
"key2": "<key2>",
|
||||
"urlFormatKey": "https://microsoft.com/a"
|
||||
"urlFormatKey": "https://microsoft.com/ai"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "lzriswkszycnxkcrkfvg",
|
||||
"domainName": "jtpqarxfgyiow",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "hejafbbpxhyjroybmivldghdndu",
|
||||
"domainName": "khjibqwcojyroaa",
|
||||
"regenerateKeyRequest": {
|
||||
"keyName": "key1"
|
||||
},
|
||||
|
@ -15,7 +15,7 @@
|
|||
"body": {
|
||||
"key1": "<key1>",
|
||||
"key2": "<key2>",
|
||||
"urlFormatKey": "https://microsoft.com/a"
|
||||
"urlFormatKey": "https://microsoft.com/ai"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "hsqqfbpa",
|
||||
"domainName": "iuwhfphjjpgmihftxeqwom",
|
||||
"regenerateKeyRequest": {
|
||||
"keyName": "key1"
|
||||
},
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "cjbfjzmughlovwgqatettopqnqcbpf",
|
||||
"domainName": "ypghrxlbi",
|
||||
"domainUpdateParameters": {
|
||||
"tags": {},
|
||||
"properties": {
|
||||
|
@ -51,18 +51,18 @@
|
|||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
|
||||
},
|
||||
"groupIds": [
|
||||
"kmurcmxtnkmepqgwbufvnvwdlrj"
|
||||
"egkunsjumrmebsehnmhskrthaquly"
|
||||
],
|
||||
"privateLinkServiceConnectionState": {
|
||||
"status": "Pending",
|
||||
"description": "rxwnddbqumpatfoq",
|
||||
"actionsRequired": "crw"
|
||||
"description": "mrphqeraeqrrbd",
|
||||
"actionsRequired": "uyunjjoxnujgwkmttrsg"
|
||||
},
|
||||
"provisioningState": "Creating"
|
||||
},
|
||||
"id": "fpeucssrssrqxwesrjgey",
|
||||
"name": "jdwupx",
|
||||
"type": "bvxjrasvelomaftxhtfjjkommzgea"
|
||||
"id": "pyhmwq",
|
||||
"name": "dsruunaacrewv",
|
||||
"type": "naxqrkhejplkx"
|
||||
}
|
||||
],
|
||||
"provisioningState": "Succeeded",
|
||||
|
@ -71,30 +71,30 @@
|
|||
"inputSchemaMapping": {
|
||||
"properties": {
|
||||
"id": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"topic": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventTime": {
|
||||
"sourceField": "dqdaldhnfpztyylnkuiunwkphvtzt"
|
||||
"sourceField": "uwjxmdkwnjcnsahguodyeq"
|
||||
},
|
||||
"eventType": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"subject": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
},
|
||||
"dataVersion": {
|
||||
"sourceField": "wkdsvambievonmqbug",
|
||||
"defaultValue": "en"
|
||||
"sourceField": "ezyvfkqyqfmnvfkxavjjyvcgkuvrxj",
|
||||
"defaultValue": "cvgoovwmsinwmxnyfbzd"
|
||||
}
|
||||
},
|
||||
"inputSchemaMappingType": "Json"
|
||||
},
|
||||
"metricResourceId": "wdxmmciijjiuijftogjeonoz"
|
||||
"metricResourceId": "ulcweuvytjktvgihoeixr"
|
||||
},
|
||||
"id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
|
||||
"name": "exampledomain2",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "pkkkjsbkqghyoloomsuewkgypdwbt",
|
||||
"domainName": "uhgwotxdzx",
|
||||
"domainUpdateParameters": {},
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_CreateOrUpdateForSubscription - generated by [MaximumSet] rule",
|
||||
"operationId": "EventSubscriptions_CreateOrUpdate",
|
||||
"parameters": {
|
||||
"scope": "grctrvcxwdsrrrsd",
|
||||
"eventSubscriptionName": "pksqufznthcpzimx",
|
||||
"scope": "foqhi",
|
||||
"eventSubscriptionName": "infsnpbnfu",
|
||||
"eventSubscriptionInfo": {
|
||||
"properties": {
|
||||
"destination": {
|
||||
|
@ -14,15 +14,15 @@
|
|||
"subjectBeginsWith": "ExamplePrefix",
|
||||
"subjectEndsWith": "ExampleSuffix",
|
||||
"includedEventTypes": [
|
||||
"lwrxxklewjvzi"
|
||||
"zwmrcmrbxkuxrmjzqlhxzmwauggyon"
|
||||
],
|
||||
"advancedFilters": [
|
||||
{
|
||||
"values": [
|
||||
3
|
||||
17
|
||||
],
|
||||
"operatorType": "NumberIn",
|
||||
"key": "yv"
|
||||
"key": "bqbfvjrzxplrwbswlqlslripgauys"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -30,16 +30,16 @@
|
|||
"label1",
|
||||
"label2"
|
||||
],
|
||||
"expirationTimeUtc": "2022-11-01T07:37:43.589Z",
|
||||
"expirationTimeUtc": "2024-01-29T21:42:06.661Z",
|
||||
"eventDeliverySchema": "EventGridSchema",
|
||||
"retryPolicy": {
|
||||
"maxDeliveryAttempts": 6,
|
||||
"eventTimeToLiveInMinutes": 13
|
||||
"maxDeliveryAttempts": 26,
|
||||
"eventTimeToLiveInMinutes": 6
|
||||
},
|
||||
"deadLetterDestination": {
|
||||
"properties": {
|
||||
"resourceId": "khcgiujtbmjrcgs",
|
||||
"blobContainerName": "hvssbytsygzse"
|
||||
"resourceId": "pnfosjdbdwngufpymkxrqwnkp",
|
||||
"blobContainerName": "wfhnqssvnhinuanbchwvva"
|
||||
},
|
||||
"endpointType": "StorageBlob"
|
||||
}
|
||||
|
@ -62,15 +62,15 @@
|
|||
"subjectBeginsWith": "ExamplePrefix",
|
||||
"subjectEndsWith": "ExampleSuffix",
|
||||
"includedEventTypes": [
|
||||
"lwrxxklewjvzi"
|
||||
"zwmrcmrbxkuxrmjzqlhxzmwauggyon"
|
||||
],
|
||||
"advancedFilters": [
|
||||
{
|
||||
"values": [
|
||||
3
|
||||
17
|
||||
],
|
||||
"operatorType": "NumberIn",
|
||||
"key": "yv"
|
||||
"key": "bqbfvjrzxplrwbswlqlslripgauys"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -80,16 +80,16 @@
|
|||
"label1",
|
||||
"label2"
|
||||
],
|
||||
"expirationTimeUtc": "2022-11-01T07:37:43.589Z",
|
||||
"expirationTimeUtc": "2024-01-29T21:42:06.661Z",
|
||||
"eventDeliverySchema": "EventGridSchema",
|
||||
"retryPolicy": {
|
||||
"maxDeliveryAttempts": 6,
|
||||
"eventTimeToLiveInMinutes": 13
|
||||
"maxDeliveryAttempts": 26,
|
||||
"eventTimeToLiveInMinutes": 6
|
||||
},
|
||||
"deadLetterDestination": {
|
||||
"properties": {
|
||||
"resourceId": "khcgiujtbmjrcgs",
|
||||
"blobContainerName": "hvssbytsygzse"
|
||||
"resourceId": "pnfosjdbdwngufpymkxrqwnkp",
|
||||
"blobContainerName": "wfhnqssvnhinuanbchwvva"
|
||||
},
|
||||
"endpointType": "StorageBlob"
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_CreateOrUpdateForSubscription - generated by [MinimumSet] rule",
|
||||
"operationId": "EventSubscriptions_CreateOrUpdate",
|
||||
"parameters": {
|
||||
"scope": "wtplmlnvto",
|
||||
"eventSubscriptionName": "vsexywzwkmvbehvifotlxrs",
|
||||
"scope": "bfr",
|
||||
"eventSubscriptionName": "tnjytkljtna",
|
||||
"eventSubscriptionInfo": {},
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_DeleteForSubscription - generated by [MaximumSet] rule",
|
||||
"operationId": "EventSubscriptions_Delete",
|
||||
"parameters": {
|
||||
"scope": "ack",
|
||||
"eventSubscriptionName": "fvbpiqyvxcitflub",
|
||||
"scope": "scvxblwxk",
|
||||
"eventSubscriptionName": "cvqpdhwrsyaw",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_GetFullUrlForSubscription - generated by [MaximumSet] rule",
|
||||
"operationId": "EventSubscriptions_GetFullUrl",
|
||||
"parameters": {
|
||||
"scope": "zzqrhgsivqojvhbnybhh",
|
||||
"eventSubscriptionName": "ghw",
|
||||
"scope": "hd",
|
||||
"eventSubscriptionName": "xyqgvzcgkebjmqohrnlzmjmwizmcjs",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_GetFullUrlForSubscription - generated by [MinimumSet] rule",
|
||||
"operationId": "EventSubscriptions_GetFullUrl",
|
||||
"parameters": {
|
||||
"scope": "mqlrka",
|
||||
"eventSubscriptionName": "mutieojbmbooqrq",
|
||||
"scope": "hjhff",
|
||||
"eventSubscriptionName": "cauzjcamizaycidofrj",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_GetForSubscription - generated by [MaximumSet] rule",
|
||||
"operationId": "EventSubscriptions_Get",
|
||||
"parameters": {
|
||||
"scope": "tylxmykwlvinjczbrfuy",
|
||||
"eventSubscriptionName": "kxncnkwstasykxxvgqtvxjsqhjuex",
|
||||
"scope": "mfrdydvdoftoohgn",
|
||||
"eventSubscriptionName": "ludkffupqmqagwr",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
@ -18,15 +18,15 @@
|
|||
"subjectBeginsWith": "ExamplePrefix",
|
||||
"subjectEndsWith": "ExampleSuffix",
|
||||
"includedEventTypes": [
|
||||
"lwrxxklewjvzi"
|
||||
"zwmrcmrbxkuxrmjzqlhxzmwauggyon"
|
||||
],
|
||||
"advancedFilters": [
|
||||
{
|
||||
"values": [
|
||||
3
|
||||
17
|
||||
],
|
||||
"operatorType": "NumberIn",
|
||||
"key": "yv"
|
||||
"key": "bqbfvjrzxplrwbswlqlslripgauys"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -36,16 +36,16 @@
|
|||
"label1",
|
||||
"label2"
|
||||
],
|
||||
"expirationTimeUtc": "2022-11-01T07:37:43.589Z",
|
||||
"expirationTimeUtc": "2024-01-29T21:42:06.661Z",
|
||||
"eventDeliverySchema": "EventGridSchema",
|
||||
"retryPolicy": {
|
||||
"maxDeliveryAttempts": 6,
|
||||
"eventTimeToLiveInMinutes": 13
|
||||
"maxDeliveryAttempts": 26,
|
||||
"eventTimeToLiveInMinutes": 6
|
||||
},
|
||||
"deadLetterDestination": {
|
||||
"properties": {
|
||||
"resourceId": "khcgiujtbmjrcgs",
|
||||
"blobContainerName": "hvssbytsygzse"
|
||||
"resourceId": "pnfosjdbdwngufpymkxrqwnkp",
|
||||
"blobContainerName": "wfhnqssvnhinuanbchwvva"
|
||||
},
|
||||
"endpointType": "StorageBlob"
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"title": "EventSubscriptions_GetForSubscription - generated by [MinimumSet] rule",
|
||||
"operationId": "EventSubscriptions_Get",
|
||||
"parameters": {
|
||||
"scope": "jbtny",
|
||||
"eventSubscriptionName": "hlvxlbcmklodgjtedjgu",
|
||||
"scope": "xsgwpecswnvoxaikxtceqyssomlc",
|
||||
"eventSubscriptionName": "aredkzwdoizzajsdsvoeszcldxkb",
|
||||
"api-version": "2020-06-01"
|
||||
},
|
||||
"responses": {
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
"parameters": {
|
||||
"subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
|
||||
"resourceGroupName": "rgEventGrid",
|
||||
"domainName": "mgppurkkleekcednoxbrtcgdsc",
|
||||
"topicName": "pxkxyfepvrbmwcxvx",
|
||||
"domainName": "eqmfdmhkpphyrre",
|
||||
"topicName": "ftd",
|
||||
"api-version": "2020-06-01",
|
||||
"$filter": "uenxylryaeacesybhnyffmamw",
|
||||
"$top": 21
|
||||
"$filter": "qswocf",
|
||||
"$top": 30
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
|
@ -21,36 +21,36 @@
|
|||
},
|
||||
"filter": {
|
||||
"isSubjectCaseSensitive": true,
|
||||
"subjectBeginsWith": "ihhsbrvxmcjrmk",
|
||||
"subjectEndsWith": "ehkzejwfnnjjoy",
|
||||
"subjectBeginsWith": "lpmkrbbeeawip",
|
||||
"subjectEndsWith": "hazlsmzfihuttcyzpceflrgjnrbnxn",
|
||||
"includedEventTypes": [
|
||||
"um"
|
||||
"zpxf"
|
||||
],
|
||||
"advancedFilters": [
|
||||
{
|
||||
"values": [
|
||||
3
|
||||
17
|
||||
],
|
||||
"operatorType": "NumberIn",
|
||||
"key": "yv"
|
||||
"key": "bqbfvjrzxplrwbswlqlslripgauys"
|
||||
}
|
||||
]
|
||||
},
|
||||
"provisioningState": "Succeeded",
|
||||
"topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
|
||||
"labels": [
|
||||
"zyltetgcqawomqigtkaoyinhwld"
|
||||
"hypgjhofhbhqmmmlfzdimwytalia"
|
||||
],
|
||||
"expirationTimeUtc": "2022-11-01T07:37:43.596Z",
|
||||
"expirationTimeUtc": "2024-01-29T21:42:06.666Z",
|
||||
"eventDeliverySchema": "EventGridSchema",
|
||||
"retryPolicy": {
|
||||
"maxDeliveryAttempts": 6,
|
||||
"eventTimeToLiveInMinutes": 13
|
||||
"maxDeliveryAttempts": 26,
|
||||
"eventTimeToLiveInMinutes": 6
|
||||
},
|
||||
"deadLetterDestination": {
|
||||
"properties": {
|
||||
"resourceId": "khcgiujtbmjrcgs",
|
||||
"blobContainerName": "hvssbytsygzse"
|
||||
"resourceId": "pnfosjdbdwngufpymkxrqwnkp",
|
||||
"blobContainerName": "wfhnqssvnhinuanbchwvva"
|
||||
},
|
||||
"endpointType": "StorageBlob"
|
||||
}
|
||||
|
@ -66,36 +66,36 @@
|
|||
},
|
||||
"filter": {
|
||||
"isSubjectCaseSensitive": true,
|
||||
"subjectBeginsWith": "aprurddzczdcmi",
|
||||
"subjectEndsWith": "bncyeiraylwzjyahycbv",
|
||||
"subjectBeginsWith": "jcdybtpphztfhemryacoxamsyxvyj",
|
||||
"subjectEndsWith": "qybjzfxmgficyrcgdghralys",
|
||||
"includedEventTypes": [
|
||||
"efhyjjeejdylbkywzrrzt"
|
||||
"eaesdpbahjhk"
|
||||
],
|
||||
"advancedFilters": [
|
||||
{
|
||||
"values": [
|
||||
3
|
||||
17
|
||||
],
|
||||
"operatorType": "NumberIn",
|
||||
"key": "yv"
|
||||
"key": "bqbfvjrzxplrwbswlqlslripgauys"
|
||||
}
|
||||
]
|
||||
},
|
||||
"provisioningState": "Succeeded",
|
||||
"topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
|
||||
"labels": [
|
||||
"fyvuveazrgdnjtyghxpcxq"
|
||||
"k"
|
||||
],
|
||||
"expirationTimeUtc": "2022-11-01T07:37:43.596Z",
|
||||
"expirationTimeUtc": "2024-01-29T21:42:06.666Z",
|
||||
"eventDeliverySchema": "EventGridSchema",
|
||||
"retryPolicy": {
|
||||
"maxDeliveryAttempts": 6,
|
||||
"eventTimeToLiveInMinutes": 13
|
||||
"maxDeliveryAttempts": 26,
|
||||
"eventTimeToLiveInMinutes": 6
|
||||
},
|
||||
"deadLetterDestination": {
|
||||
"properties": {
|
||||
"resourceId": "khcgiujtbmjrcgs",
|
||||
"blobContainerName": "hvssbytsygzse"
|
||||
"resourceId": "pnfosjdbdwngufpymkxrqwnkp",
|
||||
"blobContainerName": "wfhnqssvnhinuanbchwvva"
|
||||
},
|
||||
"endpointType": "StorageBlob"
|
||||
}
|
||||
|
@ -105,7 +105,7 @@
|
|||
"type": "Microsoft.EventGrid/eventSubscriptions"
|
||||
}
|
||||
],
|
||||
"nextLink": "ejwrzjrmtqxbcuqbkknyenblvt"
|
||||
"nextLink": "vzhxjokxtffckkvajpfvkthoebtqe"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче